-
ASCII编码 字符0->48 a->97 A->65
-
二进制0b 八进制0 十六进制0x
-
数据类型 内存占用(字节数) 数据范围
byte 1 -2^7到2^7-1 -128到127
short 2 -2^15到2^15-1
int 4 -2^31到2^31-1
long 8 -2^63到2^63-1
-
什么是自动类型转换呢?
答:自动类型转换指的是,数据范围小的变量可以直接赋值给数据范围大的变量。
-
byte,short,char 三种类型数据在和其他类型数据运算时,都会转换为int类型再运算
-
什么是强制类型转换?
将范围大的数据,赋值给范围小的变量。
-
运算符的种类:基本算数运算符、自增自减运算符、赋值运算符、关系运算符、逻辑运算符、三元运算符
-
问题1:
int a = 10; a++; 11 a--; 10 int b = a++; int c = --b; System.out.println(c++);
-
问题2:
下面的代码是否有问题? 代码一: byte x = 12; byte y = 18; x = x+y; 答案是:编译时报错 因为两个byte做运算,会自动转换为int类型 代码二: byte x = 66; byte y = 22; x += y; //没有报错,因为+=会自动进行类型的转换
-
问题3:
==在比较基本数据类型的时候,比较的是它们的值是否相同。 ==在比较引用数据类型的时候,比较是它们的地址值是否相同。
-
问题4:
将逻辑运算符和自增自减运算符,放在一起,写一段代码,然后问:控制台会输出什么?
-
三元运算符的扩展,取较大值
int a = 100; int b = 200; int max = a > b ? a : b; System.out.println(max);
-
运算优先级: &>^>|>&&>||>?: 用()方便
可以记住运算符类别的优先级
单目 > 算术 > 位移 > 关系 > 逻辑 > 三目 > 赋值