运算符:
运算符:用于对操作数进行计算和处理的符号。
表达式:由操作数和运算符组合而成的,实现算数、逻辑等运算功能。
操作数:由变量、表达式或常量组成。
- 算数运算符:+ - * /(取整) %(求余/取模) ++(自增) –(自减)
- 赋值运算符:=(赋值)
- 逻辑运算符:&(与) |(或) &&(短路与) ||(短路或) ^(异或) !(非)
- 关系运算符:> < >= <= ==(等于) !=(不等)
- 位运算:~(按位取反) &(按位与) |(按位或) ^(按位异或) >>(带符号右移) <<(带符号左移) >>>(无符号左移)
- 三目运算符:(也叫条件运算符)条件?表达式1:表达式2
首先介绍算数运算符:
- 加减乘和数学运算中一样的
- /:表示取整
- %:表示求余,也叫取模。
- ++:表示自增,也就是加一;- -表示自减,也就是减一
- ++在前:先自动加一再参与其他运算;++在后:先参与其他运算再自动加一。
- – 在前:先自动减一再参与其他运算;- - 在后:先参与其他运算再自动减一。
- 相同类型的数据进行算数计算时,结果一定是该类型
- 不同类型的数据进行算术运算时,结果是优先级别高的类型
- byte->short->int->long->float->double(由低到高)
public class Main {
public static void main(String[] args) {
int a = 10;
int b = 20;
int c = a + b;
int d = a - b;
int e = a * b;
int f = a / b;//a对b取整
int g = a % b;//a对b取余
int h = a++;//把a赋值给h之后再加一,a=11
int i = a + ++b;//b先加一再和a相加,11+21=32
//--同理
System.out.println(c);//结果为30
System.out.println(d);//结果为-10
System.out.println(e);//结果为300
System.out.println(f);//结果为0
System.out.println(g//结果为10
System.out.println(h);//结果为10
System.out.println(i);//结果为32
}
}
赋值运算符:
- =:表示赋值的意思(不是数学中的等于)
int a = 10;//把10赋值给变量a;
int b = a;//把变量a的值赋值给变量b;
//num1和num2进行交换
int num1 = 5;
int num2 = 10;
System.out.println("num1="+num1+"\n"+"num2="+num2);//num1=5,num2=10
//需要借助中间变量
int mid = 0;
mid = num1;
num1 = num2;
num2 = mid;
System.out.println("num1="+num1+"\n"+"num2="+num2);//num1=10,num2=5
逻辑运算符:
- 运算结果:boolean型,true或false
- &:表示与,一假既假,只有两个都为true时,返回true。
- |:表示或,一真即真,只有两个都为false时,返回false。
- &&:短路与,一假即假,当第一个条件为假的时候,第二条件不在判断
- ||:短路或,一真即真,当第一个条件为真的时候,第二个条件不在判断
- !:对当前的结果取反,例如:a=true, !a = false
- ^:异或:(不常用)
int num = 34;
if (num > 30 && num < 50){
System.out.println("符合条件");
} else {
System.out.println("不符合条件");
}
关系运算符:
- 关系运算符的结果:boolean型,true/false
int a = 3;
int b = 4;
//a是否大于b
boolean b1 = a > b;
System.out.println("a大于b吗?" + b1);//false
System.out.println("a小于b吗?" + (a < b));//true
System.out.println("a大于等于b吗?" + (a >= b));//false
System.out.println("a小于等于b吗?" + (a <= b));//true
System.out.println("a等于b吗?" + (a == b));//false
System.out.println("a不等于b吗?" + (a != b));//true
位运算这里先不说(很少用)
三目运算符:
- 条件表达式?值1:值2
- 如果条件表达式结果为true,取值1,如果结果为false,取值2
int a = 34;
int b = 26;
int max = a > b ? a : b;
int min = a < b ? a : b;
System.out.println("最大值是: " +max);//34
System.out.println("最小值是: " +min);//26
特殊的赋值运算符:
- +=:例a+=1与a=a+1
- -= *= /= %=等等类似