1. 算术运算符
四则运算符
- 加法 +
- 减法 -
- 乘 *
- 除 /
取模(取余数)
四则运算符中“+”有三种常见的用法:
- 对于数值来说那就是加法
- 对于字符char类型来说,在运算之前都会被提升为int,然后再计算 char字符类型和int数字类型,之前的对照关系表:ASCII,Unicode
- 对于字符串String,加号代表字符串连接操作
System.out.println("hello"+"world")//helloworld
System.out.println("hello" + 10 + 10)//hello1010
System.out.println("hello" + (10 + 10))//hello20
自增运行、自减运算
基本含义: 让一个变量涨一个数字1,让变量降一个数字1
使用格式: 写在变量名称之前,或者写在变量名称之后
使用方式:
- 单独使用,不和其他然后重装混合,自己独立成功一个步骤;
- 混合使用,和其他操作混合,例如与赋值混合,与打印操作混合 使用区别:
- 在单独使用的时候,前++与后++没有区别,++num,num++结果是一样的
- 在混合使用的时候,区别很大 1)如果是前++,那么变量立刻马上+1,然后拿着结果进行使用,先加后用 2)如果是后++,那么首先使用变量原来的数值,然后再让变量+1,先用后加
代码例子说明:
public class Demo06Operator{
public static void main(String [] args){
/*
自加运算++
*/
int num = 10;
System.out.println(num1);//输出10
++numl;//单独使用,前++
System.out.println(num1);//输出11
numl++;//独使用,前++
System.out.println(num1);//输出12
//与打印操作混合的时候
int num2 = 20;
System.out.println(++num1);//前++,先加后用,所以输出为21
System.out.println(num1);//21
int num3 = 30;
System.out.println(num1++);//后++,先用后加,所以输出为30
System.out.println(num1);//31
/*
自减运算--
*/
//单独使用
int a = 10;
System.out.println(a);//输出10
--a;//前--
System.out.println(a);//输出9
a--;//后--
System.out.println(a);//输出8
//与打印操作混合使用
int b = 20;
System.out.println(--b);//前--,先减后用,所以输出19
System.out.println(b);//输出19
int c = 30;
System.out.println(c--);//后--,先用原来的数字,所以输出30
System.out.println(c);//29
//与赋值操作混合
int num4 = 40;
int sesult1 = --num4;//混合使用,前--,变量立刻-1变成39,然后将变量结果交给reult1变量
System.out.println(sesult1);//39
System.out.println(num4);//39
int num5 = 50;
int sesult2 = num5--;//混合使用,后--,先使用把原先的数据50交给sesult2,然后自己再-1
System.out.println(sesult2);//50
System.out.println(num4);//49
int x = 10;
int y = 20;
int sesult3 = ++x + y--
System.out.println(sesult3);//31
System.out.println(x);//11
System.out.println(y);//19
}
}
2. 赋值运算符
基本赋值运算符
就是一个等号“=”,代表将右边的数值赋值给左边的变量
int a = 30;//将30赋值给变量a
复合赋值运算符
+= a += 3 相当于 a=a+3;
-= a -= 3 相当于 a=a-3;
*= a = 3 相当于 a= a3;
/= a /=3 相当于 a=a/3;
%= a %=3 相当于 a=a%3;
3. 比较运算符
大于:>
小于:<
大于等于:>=
小于等于:<=
等于:===
不等于:!=
注意事项:
-
比较运算符的结果一定是boolean值,成立是true,不成立就false 2.如果进行多次判断不能连着写,如:0<x<3,这种写法是错误的(需要使用逻辑运算符)
-
逻辑运算符 与(并且) && 全部为true,结果才为true;
或(或者 ) || 只要一个为真,结果就为true
非(取反) ! 本来是true,结果为false,本来是fals,结果为true
与&&,或||,具有短路效果,如果根据左边已经可以判断得到最终结果,那么右边的代码将不足执行,参与节省一定的性能
注意事项:
- 逻辑运算符只能用于boolean值
- 与、或需要左右各有一个boolean值,但取反只需要一个boolean值即可
代码例子说明:
public class Demo09Logic{
public static void main(String [] args){
//与&&
System.out.println(true && true);//true
System.out.println(true && false);//false
System.out.println(3>4 && 3<4);//false
System.out.println(3<4 && 3<5);//true
System.out.println(3>4 && 3>5);//true
//或者||
System.out.println(true || true);//true
System.out.println(true || false);//true
System.out.println(3>4 || 3<4);//true
System.out.println(3<4 || 3<5);//true
System.out.println(3>4 || 3>5);//false
//非 !
System.out.println(!true);//false
System.out.println(!false);//true
//短路
int a= 10;
System.out.println(3>4 && ++a<100);//false,3>4为假,只要一个为假结果就为假,右边的代码没有必要执行下去了
System.out.println(a)//10
int b= 20;
System.out.println(3<4 || ++b<100);//true,3<4为真,只要一个为真结果就为真,右边的代码没有必要执行下去了
System.out.println(b)//20
}
}
4. 三元运算符
一运算符:需要一个数据就可以操作的运算符
二运算符:需要二个数据才可以操作的运算符
三运算符:需要三个数据才可以操作的运算符
格式:数据类型 变量名称 = 条件判断 ? 表达式A:表达式B
流程:
首先判断结果是否成立
-
如果结果为true,那么将表达式A赋值给左边变量
-
如果结果为false,那么将表达式B赋值给左边变量
二者选其一
代码例子说明:
public class Demo10{
public static void main(String [] args){
int a = 10;
int a = 20;
int max = a>b ? a:b;
System.out.println("max:"+max);//max:20
}
}