一:jdk7新特性
可以表示二进制数值,以0b开头,中间可以使用下划线_分隔符。如下:
@Test
/**
* 测试jdk新特性
*/
public void testJdk7(){
int a=0b00000000000000000000000000000011;
int b=0b0000_0000_0000_0000_0000_0000_0000_0011
System.out.println("a="+a+"\n"+"b="+b);
}
二:变量
1:java是一种强类型语言,每个变量都需要声明类型,相反js就是弱类型语言,只有一个数据类型
var。
2:局部变量和成员变量
局部变量:定义在方法中或者代码块中(for循环或者if循环等),必须先声明,初始化之后才能够使用。
成员变量:定义在类中
3:命令规则
三:常量
常量:顾名思义,数值不在变化的量就是常量。使用final修饰,而且只能初始化一次。
注意:常量标识符要大写,如果是二个或者以上单词,使用下划线_作拼接。
四:运算符
运算符包括算术运算符、逻辑运算符、条件运算符、赋值运算符、扩展运算符等
1:算术运算符
包括 加+、减-、乘*、除/、取余%、++、--。
这里需要注意 ++和--,如果++放在前面,就是先自加(减),再运算;如果放在后面,就是
先运算再自加(减)。
2:逻辑运算符
&&:与,只要有一个false,则结果为false;
||:或,只要有一个true,则结果为true;
这里短路比较重要!!
3:位运算符
位运算符也可以进行逻辑运算,同时还可以进行位运算
异或:不同时则为1,相同则为0
取反:~8 = -9 ,刚开始有点困惑,这里面涉及到计算机的基础知识,源码、反码以及补码,
在计算机中数值是以补码的形式存放,如果是正数,那么源码和补码相同;如果是负数,那么
就是源码取反加1;
8的源码:
0000 0000 0000 0000 0000 0000 0000 1000
取反后:
1111 1111 1111 1111 1111 1111 1111 0111
得到的数值首字母为1,则是负数,所以以补码的形式存放,想得到它的源码,那么就要逆向而行了,减1取反
减1后:
1111 1111 1111 1111 1111 1111 1111 0110
取反:
1000 0000 0000 0000 0000 0000 0000 1001
得到:-9
4:扩展运算
+= 、-=、*=、/=、%=
5:字符串连接符 +
6:三目运算符
7:运算符的优先级