运算符:对常量或变量进行操作的符号,叫做运算符
表达式:用运算符将多个常量或变量连起来的式子,叫做表达式
运算符分类:
- 算术运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
算术运算符
+、-、*、/
public class Operator {
public static void main(String[] args) {
System.out.println(10 + 20);
int x = 10;
int y = 20;
System.out.println(x - y);
System.out.println(x * y);
//Java当中整数除法,只看商,不看余数
int a = 10;
int b = 3;
System.out.println(a / b);
//如果计算当中有小数参与,那么结果一定是小数
int m = 10;
double n = 3.0;
System.out.println(m + n);
}
}
取模运算
%
注意,只有对整数进行取模运算,才有数学当中“余数”的意义
public class Operator {
public static void main(String[] args) {
int a = 10;
int b = 3;
System.out.println(a / b);
System.out.println(a % b);
}
}
字符串连接
算术运算符中的“+”对于字符串来说,是连接的功能
注意事项:
- 任何数据类型和字符串进行连接操作,结果都一定是字符串
- 字符串连接的时候,要注意先后顺序,优先级问题
public class OperatorStr {
public static void main(String[] args) {
String str1 = "Hello";
String str2 = str1 + "World";
System.out.println(str2);
String str3 = "Hello" + "Java" + "!";
System.out.println(str3);
String str4 = "Hello" + 30;
System.out.println(str4);
String str5 = "Hello" + 10 + 20;
System.out.println(str5);
String str6 = "Hello" + (10 + 20);
System.out.println(str6);
}
}
自增自减运算符
自增运算符:++ 在变量原有的基础上,累加一个1
自减运算符:-- 在变量原有的基础上,累减一个1
使用格式:
- 变量前:++num
- 变量后:num++
使用方式:
- 单独使用:自己独立成为一个步骤语句,不和其他任何操作混合
- 混合使用:和其他操作一起混合
使用前和后两个使用方式区别:
- 单独的时候,前++和后++没有任何区别
- 混合使用的时候,前++和后++存在区别
- 如果是前++,那么变量立刻+1,然后拿着结果进行使用
- 如果是后++,那么首先使用变量当前的本来数据,然后再进行+1操作
注意事项:
- 自增运算符和自减运算符,只能用于变量,不能用于常量
public class OperatorAdd {
public static void main(String[] args) {
int num1 = 10;
++num1;
System.out.println(num1);
num1++;
System.out.println(num1);
System.out.println("====================");
int num2 = 20;
System.out.println(++num2);
System.out.println(num2);
System.out.println("====================");
int num3 = 30;
System.out.println(num3++);
System.out.println(num3);
System.out.println("====================");
int x = 10;
int y = 20;
int result1 = x++;
System.out.println(result1);
System.out.println(x);
int result2 = ++y;
System.out.println(result2);
System.out.println(y);
System.out.println("====================");
int a = 10;
int b = 20;
int result3 = ++a + b--;
System.out.println(result3);
System.out.println(a);
System.out.println(b);
}
}
赋值运算符
- 基本赋值运算符:= 将右侧的数据交个左边的变量进行存储
-
复合赋值运算符:
+=、-=、*=、/=、%=
注意事项:
1.赋值运算符只能左侧是一个变量,左侧不能是常量,右侧无所谓
public class OperatorText {
public static void main(String[] args) {
int num1 = 10;
num1++;
num1++;
num1++;
System.out.println(num1);
int num2 = 20;
num2 += 5;
System.out.println(num2);
int a = 10;
a %= 3;
System.out.println(a);
int var1 = 100;
// 200 = 100; //错误写法,左侧不能是常量
// 200 = 200; //错误写法
int var2 = var1;
System.out.println(var2);
}
}
比较运算符
分为:>、<、>=、<=、==、!=
比较运算符结果一定是一个boolean值:成立true,不成立false
public static void main(String[] args) {
System.out.println(4 > 3);
System.out.println(4 < 3);
System.out.println("==============");
System.out.println(10 >= 6);
System.out.println(10 >= 10);
System.out.println(10 >= 20);
System.out.println("==============");
System.out.println(10 <= 20);
System.out.println(20 <= 20);
System.out.println(20 <= 3);
System.out.println("==============");
// System.out.println(4 = 5); //错误写法
System.out.println(4 == 5);
System.out.println(4 == 4);
System.out.println("==============");
System.out.println(4 != 5);
System.out.println(4 != 4);
System.out.println("==============");
int a = 10;
int b = 20;
System.out.println(a == b);
System.out.println(a != b);
System.out.println(a <= b);
}
逻辑运算符
&、|、^、!
注意事项:
- 逻辑运算符通常用来连接多个布尔值
- 如果是两个布尔值进行连接:布尔值A & 布尔值B
- 如果是多个布尔值进行连接:布尔值A & 布尔值B & 布尔值C
- 如果是取反运算符,那么只能用于一个布尔值身上:!布尔值
public static void main(String[] args) {
System.out.println(true & true);
System.out.println(true & false);
System.out.println(false & false);
System.out.println("=============");
boolean a = true;
boolean b = false;
System.out.println(a & b);
System.out.println(4 > 3 & 10 < 20);
System.out.println("=============");
System.out.println(4 > 3 | 10 > 20);
System.out.println(4 > 3 | 10 > 5);
System.out.println(4 < 3 | 10 < 5);
System.out.println("=============");
System.out.println(true ^ true);
System.out.println(false ^ false);
System.out.println(true ^ false);
System.out.println(false ^ true);
System.out.println("=============");
System.out.println(true);
System.out.println(!true);
System.out.println(!false);
}
短路与:&&
短路或:||
短路:如果左侧已经可以判断到最终的结果,那么右侧将不再执行
public static void main(String[] args) {
System.out.println(3 < 2 & 10 < 20);
System.out.println(3 < 2 && 10 < 20);
System.out.println("============");
int num1 = 100;
System.out.println(3 > 10 && ++num1 < 200);
System.out.println(num1);
System.out.println("============");
int num2 = 20;
System.out.println(3 < 10 || ++num2 > 3);
System.out.println(num2);
System.out.println("============");
int num3 = 300;
System.out.println(3 > 10 || ++num3 < 1000);
System.out.println(num3);
}
网友评论