何为四则与取模运算?即四则运算,加(+)减(-)乘(*)除(/)取模(%)
对于一个整数的表达式来说,除法用的是整除,整数除以整数,结果仍是整数,只看商,不看余数。
只有对于整数的除法,取模运算符才有余数的意义。
代码举例:
public class Operator{
public static void main(String[] args){
//常量运算
System.out.println(10 + 20);//输出结果为30
//变量运算
int num1 = 10;
int num2 = 20;
System.out.println(num1 - num2);//输出结果为-10
System.out.println(num1 * num2);//输出结果为200
int num3 = 10;
int num4 = 3;
int result1 = num3 / num4;
System.out.println(result1);//输出结果为3
int result2 = num3 % num4;
System.out.println(result1);//输出结果为1,取余数,俗称模。
}
}
常见用法:
①、对于数值,即加法。
②、对于字符char类型,char会被提升为int,再进行计算。
③、对于字符串String,任何数据类型和字符串进行加法时,表示字符串连接。
代码举例:
public class Operator{
public static void main(String[] args){
String str1 = "A";
String str2 = "B";
System.out.println(str1 + str2);//输出结果为:AB
System.out.println(str1 + 1);//输出结果为:A1
System.out.println(str1 + (1 + 1));//运算优先级改变时,输出结果为:A2
}
}
自增运算符与自减运算符,即++,--;
基本含义:变量涨一个数字1,或者变量减一个数字1。
使用格式:写在变量名之前,或者写在变量名之后。举例:++num,num++。
使用方式:
单独使用:不和其他操作混合,独立成为一个步骤,即++num,num++。
混合使用:和其他操作混合,与赋值等操作混合。
使用区别:
单独使用:无区别,++num与num++完全一致。
混合使用:区别很大,如果是【前++】,那么变量【立刻马上+1】,然后拿着结果进行使用,即【先加后用】
反之如果是【后++】,那么首先使用变量本来的数值,【然后再让变量+1】,即【先用后加】
注意事项:
只有变量才能使用自增、自减运算符。常量不可发生改变,所以不能用。
代码举例:
public class Operator {
public static void main(String[] args) {
int num1 = 10;
System.out.println(num1); // 10
++num1; // 单独使用,前++
System.out.println(num1); // 11
num1++; // 单独使用,后++
System.out.println(num1); // 12
System.out.println("=================");
// 与打印操作混合的时候
int num2 = 20;
// 混合使用,先++,变量立刻马上变成21,然后打印结果21
System.out.println(++num2); // 21
System.out.println(num2); // 21
System.out.println("=================");
int num3 = 30;
// 混合使用,后++,首先使用变量本来的30,然后再让变量+1得到31
System.out.println(num3++); // 30
System.out.println(num3); // 31
System.out.println("=================");
int num4 = 40;
// 和赋值操作混合
int result1 = --num4; // 混合使用,前--,变量立刻马上-1变成39,然后将结果39交给result1变量
System.out.println(result1); // 39
System.out.println(num4); // 39
System.out.println("=================");
int num5 = 50;
// 混合使用,后--,首先把本来的数字50交给result2,然后我自己再-1变成49
int result2 = num5--;
System.out.println(result2); // 50
System.out.println(num5); // 49
System.out.println("=================");
int x = 10;
int y = 20;
// 11 + 20 = 31
int result3 = ++x + y--;
System.out.println(result3); // 31
System.out.println(x); // 11
System.out.println(y); // 19
// 30++; // 错误写法!常量不可以使用++或者--
}
}
1、基本赋值运算符:右侧数据赋值给左侧,例:int a = 30;
2、复合赋值运算符:
+= a+=3 等价于 a = a + 3;
-= a-=3 等价于 a = a - 3;
*= a*=3 等价于 a = a * 3;
/= a/=3 等价于 a = a / 3;
%= a%=3 等价于 a = a % 3;
注意事项:
1、只有变量才能使用赋值运算符,常量不能进行赋值。
2、复合赋值运算符其中隐含了一个强制类型转换。
代码示例:
public class Operator{
public static void main(String[] args){
int a = 10;
a+=5;
System.out.println(a);//输出结果为15
int b = 10;
b %=3;
System.out.println(b);//输出结果为1
byte c = 10;
c+=5;
System.out.println(c);//输出结果为15
}
}
等于(==)小于(<)大于(>)小于等于(<=)大于等于(>=)不等于(!=),结果一定是一个布尔值,即true或false。
注意事项:
程序中不允许1
代码示例:
public class Operator{
public static void main(String[] args){
//判断
System.out.println(5<10);//输出结果为true
//判断
System.out.println(5<=5);//输出结果为true
//判断
System.out.println(5>5);//输出结果为false
//判断
System.out.println(5==5);//输出结果为true
//判断
System.out.println(5!=5);//输出结果为false
//以此类推......
}
}
1、与(并且)==>&&==>都符合,才是true,具有短路效果,从左至右,有一个符合条件将停止进行后续判断,从而节约一定性能。
2、或(或者)==>|| ==>有一个符合,就是true,具有短路效果,从左至右,有一个符合条件将停止进行后续判断,从而节约一定性能。
3、非(取反)==>!==> 本来是 true,变成false;本来是false,变成true
代码示例:
public class Operator{
public static void main(String[] args){
//判断&&
System.out.println(3 < 4 && 1 < 2);//输出结果为true
//判断||
System.out.println(3 < 4 || 1 > 2);//输出结果为true
//判断!
System.out.println(!true);//输出结果为false
}
}
一元运算符:只需要有一个数据就可以进行操作,举例:取反!、自增++、自减--
二元运算符:需要两个数据才可以进行操作,举例:加法+、赋值=
三元运算符:需要三个数据才可以进行操作。
格式:数据类型 变量名称 = 条件判断 ? 表达式A : 表达式B
执行流程:
如果成立为true,那么将表达式A的值赋值给左侧的变量;
如果不成品为false,那么将表达式B的值赋值给左侧的变量;
代码示例:
public class Operator{
public static void main(String[] args){
int a = 5;
int b = 6;
int result = a > b ? a : b;
System.out.println(result);//输出结果为:6
}
}