小白简单的记录下java
算术运算符
++ 自增运算符
i++ 先赋值后运算 例:a=1;b=a++; 结果:a=2,b=1
++i 先运算后赋值 例:a=1;b=++a; 结果:a=2,b=2
– 自减运算符
i-- 先赋值后运算 例:a=1;b=a–; 结果:a=0,b=1
–i 先运算后赋值 例:a=1;b=–a; 结果:a=0,b=0
% 取余运算符
所得结果的正负同取余号前面的数保持一致
练习
/*
给出随意三位整数,打印个位、十位、百位数的值
数字xxx的情况如下:
个位数:
十位数:
百位数:
*/
import java.util.Scanner;
public class Compute {
public static void main(String[] args){
Scanner Sinput=new Scanner(System.in);
System.out.println("请输入一个三位整数: ");
int number=Sinput.nextInt();
System.out.println("数字"+number+"的情况如下: ");
System.out.println("个位数:"+number%10);
System.out.println("十位数:"+(number/10)%10);
System.out.println("百位数:"+number/100);
}
}
赋值运算符
+=、-=、*=、/=、%= 不会改变变量本身的数据类型
逻辑运算符
& 逻辑与 && 短路与
| 逻辑或 || 短路或
! 逻辑非 ^ 逻辑异或
逻辑运算符只适用于布尔数据类型
位运算符
<< 左移 >> 右移
练习
交换两个变量的值
int num1 = 10;
int num2 = 20;
//方式一:定义临时变量的方式
int temp = num1;
num1 = num2;
num2 = temp;
/*
方式二:好处:不用定义临时变量
弊端:相加操作可能超出存储范围;有局限性,只能适用于数值类型
*/
num1 = num1 + num2;
num2 = num1 - num2;
num1 = num1 - num2;
//方式三:使用位运算符
//有局限性:只能适用于数值类型
num1 = num1 ^ num2;
num2 = num1 ^ num2;
num1 = num1 ^ num2;
System.out.println("num1 = " + num1 + ",num2 = " + num2);
三元运算符
条件表达式?表达式1:表达式2 可以用if-else条件判断语句替代
运算符优先级
由上到下依次递减