一些基本知识
强类型和弱类型:
强类型表示,变量在定义的时候必须显示的生申声明类型是什么,比如java语言
弱类型表示,变量会根据值去自己判断,不需要指定类型是什么,比如Python语言
Java关键字数据类型以及某些运算符
java的命名规则 :以字母、数字、下划线、美元符号构成,由字母,下划线或者美元符号开头。
java的基本数据类型(4类8种)
整数类型:byte,使用一个字节存储-128-127
short,使用两个字节存储
int,使用四个字节存储
long,使用八个字节存储
浮点类型:float(单精度,可精确到小数点后7位),double(双精 度,精度是float的双倍)
字符类型:char
布尔类型:boolean 由true或者false表示,存储时占一位
java的引用数据类型(java语言中除基本类型之外的变量类型都称之为引用类型)
类、接口、数组
位运算符:
& 按位与
| 按位或
^ 按位异或(相异为1,相同为0)
例如:
System.out.println(4 & 5);
运行结果为4
因为4表示为二进制为0100,5表示为二进制为0101,做按位与操作得到的结果为0100,即十进制数4
移位:
左移表示乘以2,右移表示除以2
System.out.println(2 << 3);
该左移操作得到的结果为16,因为2的二进制表示为0010,左移三位得到10000(十进制结果为16)
三目运算符:
使用的时候跟一个表达式,表达式如果是true,则返回问号后的结果,如果是false,则返回:后的结果
System.out.println(false?false:true?false:true);//结果为false
System.out.println(true?false:true?false:true);//结果为false
原码、补码、反码
System.out.println(~4);//结果为-5
4的二进制表示为00000100;
按位取反得到某个数的补码11111011(表示的是一个负数,符号位为1);
正数的补码等于它本身
负数的补码等于不考虑符号位时的反码加1的值。
所以将补码减1后不考虑符号位按位取反能得到该负数10000101,即十进制数-5