一、文档注释:

文档注释用/** */表示,是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 

正数的反码,补码都是他本身

负数的反码,补码:

spring java 相同类 优先级_与运算

六、移位操作符

<< 左移

>> 右移

>>>无符号右移

右移两位就是除以 2的2次方,右移一位就是除以 2的一次方。

总结 :>> 是除以2的移动位数次幂

     << 是乘以2的移动位数次幂

使用>> 后原来是最高位1 的那么空出来的最高位还是1 的,是0的还是0。

使用>>> 无论最高位是0还是1 空余最高位都拿0 补,这就是无符号右移。

最快的运算是位运算,如最有效率的方式算出2乘以8等于几?


七、三元运算符

格式:(条件表达式)?表达式1:表达式2;


八、运算符的优先级

spring java 相同类 优先级_spring java 相同类 优先级_02

 

九、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);//二分法查找 : 如果能在数组中找到对应的元素,那么就返回该数据的索引值,如果没有找到那么就返回一个负数表示。