上海市|划重点!Java程序员都要懂得核心知识点,学会面试薪资直接30k!( 二 )


Java中规定了定义标识符的规则:
由26个英文字母大小写 , 0-9, _或$ 组成
数字不可以开头 。
不可以使用关键字和保留字 , 但能包含关键字和保留字 。
Java中严格区分大小写 , 长度无限制 。
标识符不能包含空格 。
注意:在起名字时 , 为了提高阅读性 , 要尽量有意义 , “见名知意”
5.Java数据类型(1)基本数据类型
1.数值型
整数类型
byte : 一个字节 表数范围 : -128 ~ 127
short : 二个字节 表数范围 : -215 ~ 215-1
int : 四个字节 表数范围 : -231 ~ 231-1
long : 八个字节 表数范围 : -263 ~ 263-1
Java语言的整型常量默认为int型 , 声明long型常量可以后加**‘ l ’或‘ L ’**, 如:
int i = 600; //正确
long l = 8888888888L; //必须在数字后加l或L否则会出错
浮点型
float : 单精度 四个字节 在储存大型浮点数组的时候可节省内存空间
double: 双精度 八个字节 double类型同样不能表示精确的值
float和double类型不能表示精确的值
float定义时要在数后加上f或F
double d = 123.4;
float f = 234.5f ;
2.布尔型
boolean :布尔值取值的时候只允许取true或false , 不能用其他的代替 。
该类型适于逻辑运算 , 一般用于程序流程控制。
3.字符型
char : 字符型的值是一个用单引号引起来的单个字符 , 例如:
char a = 'a';
char b = '中';
Java采用Unicode编码 , 一个字符占两个字节 , 16位 , 所以可以用十六进制编码来表示
char a = '\\u0061'; //a的Unicode编码为97
注意:Unicode 转义序列会在解析代码之前得到处理。例如 ,\" \\u0022 + \\u0022\"(Unicode值\\u0022标识双引号)并不是一个由引号包围加号构成的字符串。实际上, \\u0022 会在解析之前转换为 \", 这会得到也就是一个空串(\"\"+\"\")。

(2)引用数据类型
类 :最常用的就是String类型(字符串)
接口 : 如:List< E >:列表( E代表泛型 )
Map<KV>:双链的集合 , 以键值对形式存储的 , K(键)和V(值)都是泛型
数组:数组是指存储在一个连续的内存块中的相同数据类型的元素集合 。 因为引用的是内存地址 , 所以数组属于引用数据类型 。
6.基本数据类型转换首先boolean型的值不能与其他类型相互转换
默认转换
整形 , 字符型 , 浮点型的数据在混合运算中相互转换 , 转换时遵循以下原则:
容量小的类型默认转换为容量大的数据类型;数据类型按容量大小排序为:
byteshortchar->int->long->float->double
byteshortchar之间不会互相转换 , 他们三者在计算时首先会转换为int类型
强制转换
容量大的数据类型转换为容量小的数据类型时 , 要加上强制转换符 , 但可能造成精度降低或溢出;使用时要格外注意 。
int i = 100;
double d = i;
double d1 = 10.99;
int i1 = (int) d1;

注意:
在多种类型的数据混合运算时 , 系统首先自动地将所有数据转换成容量最大的那一种数据类型 , 然后再进行计算 。
7.运算运算符
Java 语言支持如下运算符:
算术运算符:

字符串连接运算符:+ ;
关系(比较)运算符: > , < , >= , <= , == , != ;
逻辑运算符:
&—逻辑与 | —逻辑或 !—逻辑非
&& —短路与 || —短路或 ^ —逻辑异或

异或就是左右的值一样时就是false , 追求一个“异”字 。
我们可以看到用逻辑与和短路与计算的值是相同的 , 那它们的区别在哪呢?
逻辑与:会把符号俩边的表达式都计算一边 , 然后判断 。