运算符
四则与取模
运算符:进行特定操作的符号。
表达式:用运算符连接起来的式子。
四则运算:
- 加 +
- 减 -
- 乘 *
- 除 /
- 取模(取余):%
注意事项:一旦运算当中有不同类型的数据,结果将会是大的数据范围。
加号的多种用法
- 对于数值来说,加法运算。
- 对于char类型来说,在计算之前,char会被提升为int 然后在计算。
- 对于字符串String来说,加号代表字符串连接操作。任何数据和字符串进行连接的收,结果都会变成字符串。
演示:
public class Puls {
public static void main (String [] args){
String str1 = "Hello";
String str2 = "World";
System.out.println(str1 + str2); //HelloWorld;
System.out.println(str1 + 20);//Hello20
System.out.println(str1 + (20+30));//hello50
}
}
自增自减运算符
自增运算符:++
自减运算符:–
含义:让变量增加一个数字或减少一个数字。
使用格式:++num、num++
使用方法:
- 单独使用:不和其他任何操作混合。自己独立成为一个步骤。
- 混合使用:和其他操作混合,例如与赋值混合,或者与打印操作混合。
区别:
-
单独使用时候,num++和++num没有任何区别。
-
在混合使用时有重大区别。
- 如果是++num ,变量立刻+1,然后进行运算。【先加后用】
- 如果是num++,先使用原来的变量运算,然后再+1。【先用后加】
演示:
public class Puls {
public static void main(String[] args) {
int num1 = 9;
System.out.println(++num1);//10
System.out.println(num1);//10
int num2 = 19;
System.out.println(num2++);//19
System.out.println(num2);//20
//=========================================
int num3 = 66;
int result1 = --num3;
System.out.println(result1); //65
System.out.println(num3); //65
int num4 = 88;
int result2 = num4--;
System.out.println(result2); //88
System.out.println(num4); //87
}
}
}
}
注意事项:只有变量才能发生自增和自减。
赋值运算符
基本赋值运算符: = 赋值。
复合赋值运算符:
+= | a+=1 | a=a+1 |
---|---|---|
-= | a-=1 | a=a-1 |
*= | a*=1 | a=a*1 |
/= | a/=1 | a=a/1 |
%= | a%=1 | a=a%1 |
注意事项: 复合赋值运算符中隐含了强制类型转换。
byte num = 15;
//先将byte类型转化为int 与5相加 然后自动转化为 byte类型
num += 5;
System.out.println(num);//20
比较运算符
大于 >、 小于< 、等于==、大于等于 >=、小于等于<=、不等!=
注意事项:
- 比较运算符的结果一定是一个boolean值。成立true 不成立false
- 如果进行多次判断,不能连写。
逻辑运算符
- 与 &&
- 或 ||
- 非 !
注意事项:
- 逻辑运算符都只能用于boolean值
- 与、或需要左右各自有一个boolean值,但是非只需要唯一的一个boolean值
- 与、或两种运算符,如果有多个条件,可以连续写。
- 与、或,具有短路效果,即:左边已经可以的到最终结果,则不再执行右边的代码。
短路作用演示
public class Puls {
public static void main(String[] args) {
int num1 = 10;
//左边是false 则已经得出判断结果 无需执行右边代码 所以num1最后输出还是10
System.out.println( 3 > 5 && ++num1>5);//false
System.out.println(num1);//10
}
}
三元运算符
一元运算符:只需要一个数据就可以进行操作的运算符。例如:!、++、–
二元运算符:需要两个数据才可以进行操作的运算符。例如:+、=
三元运算符:需要三个数据才可以进行操作的运算符。
格式:数据类型 变量名称 = 条件判断 ? 表达式A : 表达式B ;
流程:
- 首先判断条件是否成立
- 如果成立为true,那么将A的值赋给变量。
- 如果不成立为false,那么将B的值赋给变量。
//利用三元运算符判断最大值
public class Puls {
public static void main(String[] args) {
int a = 10;
int b = 20;
// 数据类型 变量名称 = 条件判断 ? 表达式A:表达式B
int result = a>b ? a:b;
System.out.println(result);
}
}
注意事项:
- 必须同时保证A和B都符合左侧的数据类型要求。
- 三元运算符的结果必须被使用。