基本知识点:
1、局部变量无默认值,成员变量有; 2、java是强类型语言,必须先声明类型,再使用;指定类型的变量只能接受与之相匹配的类型的值;
3、声明long型常量须加“L”或“l",long lo=34567890;错误,因为34567890默认为int型,而该值超出int类型范围;
4、整数默认为int型,小数默认为double型
5、字符常量是用英文的单引号(' ')括起来的单个字符(英文、中文、数字等);
6、ASCII码:对英语字符与二进制位之间的关系,做的统一规定。总共有128个字符编码;Unicode、UTF-8是不断完善的;
UTF-8:1-6个字节;
7、基本数据类型转换:
8、当把任意基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串型;+连接的基本类型左右都无字符串时(看运算结果),进行+运算;如:
9、强制类型转换:自动类型转换的逆操作,将容量大的数据类型转换为容量小的数据类型,使用时需要加上强制类型转换符(),
强制类型转换时:大范围-->小范围,高位数被截取掉。
基本数据类型的自动类型转换:从小范围-->大范围
10、通常,字符串不能直接转换为基本类型,但通过基本类型对应的包装类可以实现把字符串转换为基本类型,如:
11、基本数据类型中除了boolean类型外,各种类型都能够相互转换;但分为自动类型转换和强制类型转换;//注意,long型转换为float型不需要进行强转,但是会丢失精度。
强制类型转换默认截取高位;
12、进制分类接特征:
13、二进制负数在计算机表现形式方法:各位正数位数取反(0-->1,1-->0))+1
14、负数的补码是:从其正数源码右边第一个不为0的数字保留,其余的位全取反;
15、补码的作用:在底层的存储方式;计算机以补码的形式保存所有的整数
所有数字在计算机底层都以二进制形式存在。
16、补码原则:正数的原码、反码、补码都相同;负数的补码是其反码加1(对应正数的原码右起第一个不为0的保留,其余全取反);
17、符号位:二进制表示形式的最高位是符号位;Java整数常量默认是int类型,其第32位是符号位;当是long类型时,二进制默认占64位,第64位是符号位。
19、根据二进制数求对应的整数
20、取模:%:取余数. 结果的符号取决于被模数,不论模数是正是负
21、前++:先自增1,后做运算 ;后++:先做运算,后自增1
22、位移运算符共7种:右移、左移,无符号移动、与运算、或运算、异或运算、反码;有符号右移:向右移动几位,左边根据最高位值填充相应的位移个数;无符号位移:无论向右移动几位,左边都用0进行填充。
23、int i=10; i +=0.1;结果i= 10,够保持i的类型不变;
24、比较运算符(7种)
25、逻辑运算符(6种)
& —逻辑与 | —逻辑或 ! —逻辑非
&& —短路与 || —短路或 ^ —逻辑异或
逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。
“&”和“&&”的区别:
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。
异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。
异或,追求的是“异”!
26、位运算符有7种
左移的操作始终以0补位。
右移的操作>>>以0补位,>>以符号位补位。
正数的>>> 和 >> 相同位数的话,结果相同
负数的>> 始终为负数,>>>始终为正数。
27、赋值运算
1.赋值运算符 = ,常用来对变量赋值,赋值语句本身是有值的。
2.赋值语句的执行顺序是: 从右到左
3.扩展赋值运算符: +=, -=, *=, /=, %=
特点:不改变操作数的类型