一 Java基础知识中的小细节
Java中的注释功能
- // :表示单行注释,只注释掉当前行;
- /* */ :表示多行注释;
- /** */ :表示多行注释并且会被Javadoc提取生成文档,一般建议用第三种。
标识符的命名规范
1.只能以数字,字母,下划线,美元符号组成;
2.关键字不能做标识符;
3. 类名,接口名:首字母大写,后面的单词每个单词首字母大写;
4.变量名,方法名:首字母小写,后面的单词每个单词首字母大写;
5.常量名:全部大写,后面的单词由下划线隔开;
数据类型
Java数据分为两类:基本数据类型和引用数据类型;
基本数据类型分为以下四种:整数型(byte,short,int,long),浮点型(float,double),布尔类型(boolean),字符型(char);需要注意的是,字符型属于基本数据类型,而字符串不属于基本数据类型。
基本数据类型 | 所对应字节以及常用的取值范围 | 对应的包装类型 |
---|---|---|
byte | 1 【-128~127】 | java.long.Byte |
short | 2 【-32768~32767】 | java.long.Short |
int | 4 【-2147473648~2147473647】 | java.long.Integer |
long | 8 | java.long.Long |
float | 4 | java.long.Float |
double | 8 | java.long.Double |
boolean | 2 【true/false】 | java.long.Boolean |
char | 1 【0~65535】 | java.long.Character |
基本数据类型转换
1.除了布尔类型,其他7种数据类型均可相互转换;
2.小容量数据类型向大容量数据类型转换时,称为自动转换;其容量大小从小到 大依次为byte<short<int<long<float<double<char;
3.大容量转换为小容量时,需要进行强制转换,需要加强制转换符,并且强制转换可能会损失精度;
例如:long i = 100L; 此时的i是一个long类型的数据,若想将其赋值给int类型的i,需要进行如下操作:
int j = (int) i ;
例如:float i= 5.5;此时i是一个float类型,而在Java中浮点型字面值默认为double类型,所以上式可以改为:
float i = (float) 5.5;
4.当整数字面值未超过byte,short,int,long的取值范围,可以直接赋值;
例如:long i = 2147483648;
上面的代码运行时会出错,因为在赋值的过程中,会默认2147483648为int类型(整数型字面值默认被当作int类型处理),但是它却超过了int类型的取值范围,所以要想代码可以运行,只需这样更改:
long i = 2147483648L;再加上L之后,就会默认 2147483648为long类型,这样就可以赋值了。
- byte,short,int,long混合运算时,先都转成int类型,再进行计算;
- 多种数据混合运算时,先转换成容量最大的进行计算。
运算符
运算符 | 种类 |
---|---|
算术运算符 | +(加),-(减),*(乘),/(除),%(取余),++(自增),- - (自减) |
关系运算符 | >(大于),>=(大于等于),<(小于),<=(小于等于),==(等于),!=(不等于) |
逻辑运算符 | &&(短路与),丨丨(短路或),!(非),^(异或),&(与),丨(或) 逻辑运算符两侧的式子运算结果必须是布尔类型的 |
三目运算符 | 布尔表达式?表达式1:表达式2(若表达式为真,执行表达式1,若结果为假,执行表达式2) |
运算符中的小细节
int x = 10;
int y = 8;
System.out.print(x<y & x++>y);
上述&为逻辑与,因为(x<y & x++>y)表达式x<y 结果为假,但是仍然会执行&后面的语句,如果将表达式换成(x<y && x++>y),表达式x<y 结果为假,就不会执行 && 后面的语句了,也称把后面的语句短路了。