千锋教育Java入门全套视频教程(java核心技术,适合java零基础,Java

总结:运算符 P27~P34
1.算数运算符
算数运算符:两个操作数进行计算
- + 加、求和,数字相加,结果的数据类型是两边范围较大的那一类。
- - 减、求差,数字相减。
- * 乘、求积,数字相乘。
- / 除、求商,数字相除,结果为整数,小数部分会被直接舍弃
- % 模、求余,两个数相除的余数。
一元运算符:只有一个操作数
- ++ 递增,变量值+ 1
++ 在前 先加一后使用
++ 在后 先使用后加一
例:int num = 1;
int num2 = 2;
System.out.println(num++); // 1
System.out.println(++num2); // 3
- -- 递减,变量值-1
-- 在前 先减一后使用
-- 在后 先使用后减一
例:int num = 1;
int num2 = 2;
System.out.println(num++); // 1
System.out.println(++num2); // 1
2.赋值运算符
赋值运算符:等号右边赋值给等号左边。赋值两边的数据类型要对应
- = 直接赋值
- += 求和后赋值 (常用)
- -= 求差后赋值
- *= 求积后赋值
- /= 求商后赋值
- %= 求余后赋值
例:int a = 1; // 赋值运算符
int b = 2; // 赋值运算符
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; 求余后赋值
3.关系运算符
关系运算符:两个操作数进行比较
关系运算的结果: 布尔值,即true,false
- > 大于
- < 小于
- >= 大于等于
- <= 小于等于
- == 等于
- != 不等于
4.逻辑运算符
逻辑运算符:两个boolean类型的操作数或表达式进行逻辑比较
- & 逻辑与;只有两边都是true,逻辑运算的结果才是true,只要有一边是false,那么结果一定是false

当输入的年龄在大于18并且小于等于35的时候,会输出你成年了。反之则会
- | 逻辑或;只要有一个true,那么结果就是true
- ^ 异或;只有运算符两边的表达式的布尔值结果不相同,才会得到true,否则一定是false
例:boolean a = true;
boolean b = false;
System.out.println(a^b); // 结果为true
- ! 非 (取反) 真即是假,假即是真
例:boolean a = true;
System.out.println(!a); // 结果为false
- && 短路与;与逻辑与相同的运算逻辑,在左边的表达式是false的情况下,就不会执行右边的表达式,因为这个结果一定是false (性能更好)
- || 短路或;与逻辑或相同的运算逻辑,在左边的表达式是true的情况下,就不会执行右边的表达式,因为这个结果一定是true(性能更好)
5.三元运算符
- ? :
结果 = 布尔表达式?返回结果1: 返回结果2;
当表达式结果为true时,执行结果1
当表达式结果为false时,执行结果2
注意:结果的数据类型,一定要和返回的内容的数据类型相同。返回的结果1和结果2的数据类型必须相同
例:int a = 1;
int b = 2;
String result = a>b?"a大":"b大";
结果为:b大
6.位运算符
位运算:运算符两边如果不是布尔值表达式,而是数值,那么此时就是位运算。
- & 按位与 如果相对应位都是1,则结果为1,否则为0
例: int a = 6;
int b = 4;
System.out.println(a&b) // 位运算 结果为:4
- | 按位或 如果相当应位都是0,则结果为0,否则为1
例: int a = 6;
int b = 4;
System.out.println(a | b) // 位运算 结果为:6
- ^ 按位异或 ;如果相对应值相同,则结果为0,否则为1
例: int a = 6;
int b = 4;
System.out.println(a ^ b) // 位运算 结果为:2
- ~ 取反;按位取反符,即0变成1,1变成0
例: int a = 6;
System.out.println(~a) // 位运算 结果为:-7
- << 有符号的左移
例:int a = 6;
System.out.println(a<<3) // 结果为48; 相当于 a*2^3
- >> 有符号的右移 如果是负数,高位补1,如果是正数高位补0
例1:int a = 6;
System.out.println(a>>3) // 结果为0; 相当于 a/2^3
例2:int a = -7;
System.out.println(a>>2) // 结果为-2;
- >>> 无符号右移 二进制数据整体右移,符号位补0
7.运算符的优先级及字符串连接符

字符串连接符 (+ 加号)
当运算符的两边只要有一个是字符串,那么此时这个+就是字符串连接符,会把另一边变成字符串进行拼接,连接完好是一个新的字符串。
