📄 13.txt
字号:
//
运算符
算术运算符: +,―,*,/,%,++,――
关系运算符: >,<,>=,<=,==,!=
布尔逻辑运算符: !,& , | , ^ , &&,||
位运算符: &,|,^,~ , >>,<<,>>>
赋值运算符: = 扩展赋值运算符:+=,―=,*=,/=
字符串连接运算符: +
//
逻辑运算符功能
!-- 逻辑非 & -- 逻辑与 | -- 逻辑或
^ -- 逻辑异或 &&-- 短路与 || -- 短路或
逻辑运算符功能说明:
a b !a a&b a|b a^b a&&b a||b
true true false true true false true true
true false false false true true false true
false true true false true true false true
false false true false false false false false
短路逻辑运算符应用
&& -- 第一个操作数为假则不判断第二个操作数
|| -- 第一个操作数为真则不判断第二个操作数
//
位运算符
位运算符功能
~ -- 取反 & -- 按位与 | -- 按位或 ^ -- 按位异或
//
Java整数进制转换
Java语言二进制数采用补码形式,数正负区分标志:符号位
正数进制转换
十进制----二进制:除2取余、除尽为止
二进制----十进制:累加求和
负数进制转换
十进制----二进制:
取绝对值
转换为二进制
逐位取反
加1
二进制----十进制:
减1
逐位取反
转换为十进制正数
乘-1
//
移位运算符
左移
"a<<b; "将二进制形式的a逐位左移b位,最低位空出的b位补0;
带符号右移
"a>>b; "将二进制形式的a逐位右移b位,最高位空出的b位补原来的符号位;
无符号右移
"a>>>b;"将二进制形式的a逐位右移b位,最高位空出的b位补0。
移位运算符性质
适用数据类型:byte、short、char、int、long,对低于int型的操作数将先自动转换为int型再移位
对于int型整数移位a>>b,系统先将b对32取模,得到的结果才是真正移位的位数
对于long型整数移位时a>>b ,则是先将移位位数b对64取模
//
赋值运算符
赋值运算符=
当"="两侧的数据类型不一致时,可以适用默认类型转换或强制类型转换原则进行处理
long l = 100;
int i = (int)l;
特例:可以将整型常量直接赋值给byte, short, char等类型变量,而不需要进行强制类型转换,只要不超出其表数范围
byte b = 12; //合法
byte b = 4096; //非法
//
基本数据类型转换等级:
byte,short,char -> int -> long
float -> double
int -> float
long -> double
//
扩展赋值运算符
运算符 用法举例 等效的表达式
+= a += b a = a+b
-= a -= b a = a-b
*= a *= b a = a*b
/= a /= b a = a/b
%= a %= b a = a%b
&= a &= b a = a&b
|= a |= b a = a|b
^= a ^= b a = a^b
<<= a <<= b a = a<<b
>>= a >>= b a = a>>b
>>>= a >>>= b a = a>>>b
//
字符串连接运算符
"+" 除用于算术加法运算外,还可用于对字符串进行连接操作
int i = 300 +5;
String s = "hello, " + "world!";
"+"运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接
int i = 300 +5;
String s = "hello, " + i + "号";
System.out.println(s); //输出:hello, 305号
//
表达式
表达式是符合一定语法规则的运算符和操作数的序列
a
5.0 + a
(a-b)*c-4
i<30 && i%10!=0
表达式的类型和值
对表达式中操作数进行运算得到的结果称为表达式的值
表达式的值的数据类型即为表达式的类型
表达式的运算顺序
首先应按照运算符的优先级从高到低的顺序进行
优先级相同的运算符按照事先约定的结合方向进行
//
三目运算符
三目条件运算符,语法格式:
x ? y : z
其中x为boolean类型表达式,先计算x的值,若为true,则整个三目运算的结果为表达式y的值,否则整个运算结果为表达式z的值。
举例:
int score = 50;
int result = x <60 ? 60: x;
String type = score <60 ? "不及格" : "及格";
//
运算符优先级
Separator . ( ) { } ; ,
Associative Operators
R to L ++ -- ~ ! (data type)
L to R * / %
L to R + -
L to R << >> >>>
L to R < > <= >= instanceof
L to R == !=
L to R &
L to R ^
L to R |
L to R &&
L to R ||
R to L ?:
R to L = *= /= %= += -= <<= >>= >>>= &= ^= |=
//
==操作符与equals方法
==操作符与equals方法的区别:
引用类型比较引用;基本类型比较值;
equals()方法只能比较引用类型,"=="可以比较引用类型及基本类型;
特例:当用equals()方法进行比较时,对类File、String、Date及封装类(Wrapper Class)来说,是比较类型及内容而不考虑引用的是否是同一个实例;
用"=="进行比较时,符号两边的数据类型必须一致(可自动转换的基本数据类型除外),否则编译出错;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -