一、文档注释:
文档注释用/** */表示,是java特有的注释,其中注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。
Javadoc –d 指定存储文档的路径 -version –author(可选) 目标文件
二、二进制与八进制、十六进制的转换
除了可以通过把十进制作为中间转换,也可以直接根据八进制和十六进制的特性直接进行转换
具体来说,三位二进制代表八进制的一位,四位二进制代表十六进制的一位。
三、变量的数据类型
1.
byte 代表一个字节的大小 8bit 2(8) -128~127 256
short 代表两个字节的大小 16bit 2(16) -2(15)~2(15)-1
int 代表四个字节的大小 32bit 2(32) -2(31)~2(31)-1
long 代表八个字节的大小 64bit 2(64) -2(63)~2(63)-1
如果一个数值没有采取特殊的处理,那么该整数默认的类型是int。
可以使用数值后面添加L或小写L改变默认的整数类型。
例如:
定义long allMoney = 10000000000000000;会报错,因为系统默认将该整数作为int类型,
而在该整数后面添加L后代表该数类型为long,则不会出错。long allMoney = 10000000000000000L;
思考1:byte b=126;
问:既然数据默认的有数据类型,那么126 默认是int类型的,为什么存储到byte类型时不会报错呢。
126 是常量java在编译时期会检查该常量(每个常量)是否超出byte类型的范围。如果没有可以赋值。
思考2:byte b=128;能否正常的编译和运行。
该语句会出现编译错误,128超出了byte变量的存储范围,所以出现编译错误。
2.
float 代表四个字节的大小 32bit
double代表八个字节的大小 64bit
java程序中所有的小数默认的类型是double类型,所以需要使用特殊的符号改变默认的小数类型。
3.
char 代表两个字节的大小 16bit 2(16)
4.
boolean 占一个字节。只有true与false两个值。
思考:
byte b1=3,b2=4,b;
b=b1+b2;
b=3+4;
哪一句编译失败?为什么?
b =3+4, 3和4都是常量,所以java在编译时期会检查该常量(每个常量)是否超出byte类型的范围。如果没有可以赋值。例如b=128+1 就无法编译通过。b=127+1;也是无法通过。
b =b1+b2 不可以,因为b1 和b2 是变量,表达式求值时,变量值会自动提升为int型,表达式结果也就成了int型,这是要赋值给byte型的b,必须进行强制类型转换了。
四、逻辑运算符
“&”和“&&”的区别:单与时,左边无论真假,右边都进行运算;双与时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,双或时,左边为真右边不参与运算。
^ 异或:两边相同结果是false ,两边不同结果是true;
五、位运算符
位运算符
| 运算符含义
| 规则:可以把1当做true 0当做false
|
& | 与(AND) | 只有参与运算的两位都为1,&运算的结果才为1,否则就为0。 |
| | 或(OR) | 只有参加运算的两位都是0,| 运算的结果才是0,否则都是1。 |
^ | 异或 | 只有参加运算的两位不同,^ 运算的结果才为1,否则就为0。 规律:如果操作数A连续异或同一个操作数两次,那么结果还是操作数A。 应用: 对数据加密. |
~ | 取反 | 取反就是如果为1,取反就是0,如果是0,取反就是1 |
正数的反码,补码都是他本身
负数的反码,补码:
六、移位操作符
<< 左移
>> 右移
>>>无符号右移
右移两位就是除以 2的2次方,右移一位就是除以 2的一次方。
总结 :>> 是除以2的移动位数次幂
<< 是乘以2的移动位数次幂
使用>> 后原来是最高位1 的那么空出来的最高位还是1 的,是0的还是0。
使用>>> 无论最高位是0还是1 空余最高位都拿0 补,这就是无符号右移。
最快的运算是位运算,如最有效率的方式算出2乘以8等于几?
七、三元运算符
格式:(条件表达式)?表达式1:表达式2;
八、运算符的优先级
九、break和continue
break适用范围:只能用于switch或者是循环语句中。
break作用:
1.break用于switch语句的作用是结束一个switch语句。
2.break用于循环语句中的作用是结束当前所在的循环语句。
笔试题目:break目前位于内层的for循环,如何才能让break作用于外层的for循环。
网址链接------------------------------------------------------------------------------
continue的适用范围: continue只能用于循环语句。
continue的作用:continue的作用是跳过本次的循环体内容。继续下一次。
continue要注意的事项:
1.在一种情况下,continue后面不能跟有其他语句,因为是永远都无法执行到。
2.continue也可以配合标记使用的。
十、排序和查找
排序采用util包下的方法:
Arrays.sort(arr);
String info =Arrays.toString(arr);
System.out.println("数组的元素:"+info);
二分法查找
intindex = Arrays.binarySearch(arr,9);//二分法查找 : 如果能在数组中找到对应的元素,那么就返回该数据的索引值,如果没有找到那么就返回一个负数表示。