------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
1、关键字
定义:被Java赋予了特殊含义的单词。 特点:体现上都是英文小写。
使用频率不多的几个关键字:
native(本地)
strictfp(strict float point,精确浮点)
transient(变量修饰符,用它声明一个实例变量,在对象序列化时不会被序列化)
volatile(类型修饰符,用来修饰被不同线程访问和修改的变量,在多线程环境下可以访问到变量的最新值)
assert(断言,可以看作是异常处理的一种高级形式,用于捕捉我们在代码中做出的假设)
另外,main不是关键字,却是被虚拟机所识别的一个名称,goto是Java的保留关键字
2、标识符
在程序中自定义的一些名称。由25个英文字母大小写,数字0-9,符合 _ $组成。
定义合法标识符的规则:1、 数字不可以开头。 2、 不可以使用关键字。
在Java中严格区分标识符的大小写,在起名字的时候,为了提高阅读性,要尽量有意义。
3、常量
定义:Java中固定不变的、表示不能改变的数值。
4、常量
概念:内存中的一个存储空间。有自己的名称(变量名)和类型(数据类型)。
作用:用来不断的存放同一类型的数据,并可以重复使用。
定义变量的格式:数据类型 变量名 =初始化值;
Java中有两种数据类型:基本数据类型(byte,char,short,int,long,float,double,boolean),引用数据类型(class,interface,array)
说明:Java程序中,整数默认:int 小数默认:double
类型的自动提升:在运算中,当低类型数据与高类型数据进行计算时,系统会自动将表达式中的低类型数据提升到高类型。
级别从低到高为:byte,char,short(这三个平级)-->int-->float-->long-->double
例如:
byte b = 5 ;
int c;
c = b + 3; //b会自动提升为int类型进行运算。
强制类型转换: 当程序中,数据类型需要变换时,可以进行强制转换。
例如:
byte b = 8;
b = b + 2;//报错,因为b+2会 转变成int计算,这个时候自动转换为byte
b = (byte)(b+4);//强制类型转换,强制将b+4的结果转换为byte类型,再赋值给b。
5.1 算术运算符:+ - * / % %:任何整数模2不是0就是1,所以只要改变被模数就可以实现开关运算。
+:连接符,所有的字符串连接操作都是+
++ 自增,--自减 例子:int x = 5,int y; y=x++的结果是y = 5,x=6,y=++x的结果是y=6,x=6,同理,自减也是一样。
5.2 赋值运算符。
= += -= *= /= %=
5.3 比较运算符。
特点:该运算符的特点是:运算完的结果,要么是true,要么是false。
5.4 逻辑运算符。
& | ^ ! && ||
逻辑运算符除了 ! 外都是用于连接两个boolean类型表达式。
&: 只有两边都为true结果是true。否则就是false。
|:只要两边都为false结果是false,否则就是true
^:异或:和或有点不一样。 两边结果一样,就为false。 两边结果不一样,就为true.
& 和 &&区别: & :无论左边结果是什么,右边都参与运算。 &&:短路与,如果左边为false,那么右边不参数与运算。
| 和|| 区别:|:两边都运算。||:短路或,如果左边为true,那么右边不参与运算。
5.5 位运算符:用于操作二进制位的运算符。
左移:<<;空位补0,被移除的高位丢弃,空缺位补0。
右移:>>;被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1。
无符号右移:>>>;被移位二进制最高位无论是0或者是1,空缺位都用0补。
与: &;二进制位进行&运算,只有1&1时结果是1,否则是0。
或:|;二进制位进行 |运算,只有0 | 0时结果是0,否则是1。
异或: ^;任何相同二进制位进行 ^运算,结果是0;1^1=0 , 0^0=0。
不相同二进制位 ^运算结果是1。1^0=1 , 0^1=1。
反码:~;对二进制进行取反。
例子:对两个变量的数据进行互换,不需要第三方变量。int x = 2,y = 7;
x = x ^ y;
y = x ^ y;//y = x ^ y ^ y = x
x = x ^ y;//x = x ^ y ^ x = y;
例子:如何高效的算出 3*8 = 3<<3 ;
运算符优先级表
优先级 | 运算符 | 结合性 |
1 | () [] . | 从左到右 |
2 | ! +(正) -(负) ~ ++ -- | 从右向左 |
3 | * / % | 从左向右 |
4 | +(加) -(减) | 从左向右 |
5 | << >> >>> | 从左向右 |
6 | < <= > >= instanceof | 从左向右 |
7 | == != | 从左向右 |
8 | &(按位与) | 从左向右 |
9 | ^ | 从左向右 |
10 | | | 从左向右 |
11 | && | 从左向右 |
12 | || | 从左向右 |
13 | ?: | 从右向左 |
14 | = += -= *= /= %= &= |= ^= ~= <<= >>= >>>= | 从右向左 |