Java学习笔记

Java SE学习(三)之Java的基础语法(上)

2017-03-19  本文已影响187人  Lucky_Light

Java的基础语法(上)

要学习一门程序设计语言,首先必须得学习它的语法,这部分内容对于大部分人来说是非常枯燥的,因为要记忆的内容非常多,但是要想学好 Java,就必须了解这部分的内容。语法格式只是学习时最基础的知识,在实际的开发中,需要根据程序的需要,使用恰当的格式去实现程序逻辑,所以语法一定要熟练。这部分内容对于具有 C/C++ 编程经验的程序员来说,只需要快速的浏览一下,注意其中的差异就行了。

注释

注释(comment)是对代码功能和用途的说明。在程序中编写适当的注释,将使程序代码更容易阅读,增强代码的可维护性。与大多数程序程序设计语言一样,Java 中的注释也不会出现在可执行程序(即 .class 文件)中。因此,可以在源程序中根据需要添加任意多的注释,而不用担心代码会膨胀。

单行注释

单行注释是最常用的注释方式,只需要在要注释的内容前面加上 // 即可。例如:

// hello world

注意:单行注释从两个斜线开始到本行结束都是注释的内容,注释内容不能换行。

多行注释

多行注释可以将任意多行的内容注释,一般用于说明比较复杂的内容,只需要将需要注释的内容用 /**/ 包围起来。例如:

/*
    hello
    world
*/

注意:多行注释不能嵌套使用。

文档注释

文档注释可以自动地生成文档,是 Java 的特色注释格式,这种注释以 /** 开头,以 */ 结束。例如:

/**
    @version v1.0
    @author Lucky Light
*/

关键字

所谓关键字就是被 Java 语言赋予特殊含义,具有专门用途的单词,比如之前接触的 class,public,static等均为 Java 预设的关键字。组成关键字的字母全部都是小写,且不能用作常量、变量和其他标识符的名字。

常见关键字

关键字 关键字 关键字 关键字
abstract assert boolean break
byte case catch char
class const continue default
do double else enum
extends final finally float
for goto if implements
import instanceof int interface
long native new package
private protected public return
short static strictfp super
switch synchronized this throw
throws transient try void
volatile while

注意:goto 与 const 是 Java 中的保留字,即没有赋予特殊含义却仍被 Java 占用的单词

标识符

标识符即标识的符号,指程序中一切自己指定的名称,例如后续语法中涉及到的变量名称、常量名称、数组名称、方法名称、参数名称、类名、接口名、对象名等等。

组成规则

注意事项

标识符中常见的命名规则

正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion
反例:macroPolo / UserDo / XMLService / TCPUDPDeal / TAPromotion

正例: localValue / getHttpMessage() / inputUserId

正例: MAX_STOCK_COUNT
反例: MAX_COUNT

反例:定义为基本数据类型 boolean isSuccess;的属性,它的方法也是 isSuccess(),RPC框架在反向解析的时候,“以为”对应的属性名称是 success,导致属性获取不到,进而抛出异常。

正例: 应用工具类包名为 com.alibaba.mpp.util、类名为 MessageUtils(此规则参考 spring的框架结构)

变量和常量

所谓变量,就是程序的运行过程中值会发生改变的量;所谓常量,就是程序运行过程中值不能发生改变的量。

在实际的程序中,可以根据数据在程序运行中是否发生改变,来选择应该是使用变量还是常量。

声明

由于 Java 语言是一种强类型的语言,所以变量和常量在使用以前必须首先声明,在程序中声明变量和常量的语法格式如下:

数据类型 变量或常量名称;

变量或常量名称是该变量或常量的标识符,需要符合标识符的命名规则,在实际使用中,该名称一般和变量或常量的用途对应,这样便于程序的阅读。例如:

int age;

赋值

变量和常量在使用前必须先赋值,给变量或常量赋值的格式为:

变量或常量名称 = 值;

赋值时,要求值的类型需要和声明变量或常量的数据类型一致。例如:

age = 18;

注意:= 表示赋值,将 = 右边的值赋给了左边的变量或常量。Java 中使用 == 表示相等,等价于数学中的 =

综合使用

可以在声明变量或常量的同时,设定该变量或常量的值,语法格式如下:

数据类型 变量或常量名称 = 值;

例如:

int age = 18;

数据类型

Java 是一种强类型语言,这意味着必须为每一个变量声明一种数据类型,基于变量的数据类型,操作系统会进行内存分配并且决定什么将被储存在保留内存中。因此,通过给变量分配不同的数据类型,你可以在这些变量中存储整数,小数或者字字母。

在 Java 中,数据类型分为原生数据类型和引用数据类型。

原生数据类型

Java 支持 8 种原始数据类型。原始数据类型是由该语言预先定义的并用关键词命名的。

字节型(byte)

例如:

byte a = 100;
byte b = -50;

短整数(short)

例如:

short a = 10000;
short b = -20000;

整数型(int)

例如:

int a = 100000;
int b = -200000;

长整型(long)

例如:

long a = 1000000L;
long b = -20000000L;

浮点型(float)

例如:

float a = 234.5F;

双精度型(double)

例如:

double a = 123.4;

布尔型(boolean)

例如:

boolean a = true;

字符型(char)

例如:

char a ='A';

原生数据类型的相互转换

在 Java 中,类型的转换随处可见。例如变量的定义、数值的计算以及方法的传递等等,类型转换在 Java 中具有重要的作用。在此,先简单介绍一下原生数据类型的相互转换。

要想理解数据类型的相互转换,首先必须知道以下两点:

数据类型 所占的内存
boolean 未定
byte 1字节
char 2字节
short 2字节
int 4字节
long 8字节
float 4字节
double 8字节
隐式类型转换

在 Java 中,隐式转换由系统自动进行,无需程序员干涉,且不会损失精度。规则如下表所示:

原类型 目的类型
byte short, int, long, float, double
short int, long, float, double
char int, long, float, double
int long, float, double
long float, double
float double

例如:

byte + int

会自动转换成:

int + int

又如:

int + double

会转换成:

double + double

再如:

byte + char

会转换成:

int + int
显式类型转换

在 Java 中,显式类型转换又被称为强制类型转换,这种转换不会自动进行,需要由程序员显式指定,而且有可能损失精度。规则如下表所示:

原类型 目的类型
byte char
short byte, char
char byte, short
int byte, short, char
long byte, short, char, int
float byte, short, char, int, long
double byte, short, char, int, long, float

例如:

int a;

要想将a转换成 byte 类型,需要这样写:

(byte) a;

如想将整个表达式的结果进行数据类型转换,必须将整个表达式用括号括起来。
例如:

int a;
int b;
byte c;  

要想将 a + b 的结果赋值给 c,则需要这样写:

c = (byte) (a + b);

引用数据类型

例如:

String string = new String("hello world");
上一篇下一篇

猜你喜欢

热点阅读