2、ASCII编码表的常识
3、&和&&,|和||的区别
下面我们就分成三组对问题进行分析:分别是&和&&,|和||及~和!。
1.&是按位与操作,参加运算的两个数据按照二进制位进行“与”运算,如果两个相应的二进制位都为1,那该位的结果值就是1,否则为0,即0&0=0,0&1=0,1&1=1,1&0=0。
比如:3&5并不等于8,应该按位与,00000011&00000001=00000001。
&&是逻辑与运算符,我们这就不多说,直接看例子:a&&b,若a、b为真,则a&&b,否则就为假。短路特点:符号左边是false,右边不再运算
2.|是按位或操作,参加运算的两个数据按照二进制位进行“或”运算,如果两个相应的二进制位中只要有一个为1,则该位结果就是1,即为0|1=1、1|1=1、1|0=1、0|0=0。
||是逻辑或运算符,直接看意思,a||b,若a、b中有一个为真,则a||b结果为真。短路特点: 符号左边是true,右边不再运算
3.~是一个单目运算符,用来对一个二进制位按位取反,即0变成1,1变成0,比如~00001111=11110000。
!是逻辑非运算符,我们还是直接来看他的意思,!a 的意思是:若a为真,则 !a 为假;若a为假则 !a 为真。
// 数组的3种定义方式 String[] strings = new String[5]; int[] ints = {1, 5, 6}; int[] nums = new int[]{1, 2, 3}; // 数组可以存储引用类型数据 Person[] peoples=new Person[3]; peoples[1]=(new Person("AAA",20,100)); peoples[2]=(new Person("BBB",18,109)); peoples[3]=(new Person("CCC",30,58));