运算符
运算符是一种特殊的符号,用来表示数据的运算、赋值和比较等
运算符主要分为:
- 算数运算符
- 赋值运算符
- 关系运算符(比较运算符)
- 逻辑运算符
- 位运算符
- 三元运算符
1. 算数运算符
- 算数运算中,byte、 short、 char、 int 运算的结果都是 int 类型
- 运算中,如果有 long类型存在,则结果是 long 类型
- 在整数类型以及char 类型做运算的时候,如果操作数是byte、short、char 那么运算的结果是int
- 如果其中有int类型的操作数,结果肯定是int
- 如果操作数中有 long 类型,结果肯定是 long
- 如果操作数中有 float 类型,结果肯定是 float
- 如果操作数中有 double 类型,结果肯定是 double
- boolean 不能参与算数运算 , boolean 也不能和其他类型之间进行相互转换
练习
随意给出一个整数,打印显示它的个位数,十位数,百位数的值。 格式如下:
数字xxx的情况如下: 个位数: 十位数: 百位数:
import java.util.Scanner;
public class Test01 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请随机输入一个三位数:");
int num = sc.nextInt();
int a,b,c;
a = num/100; // 表示百位数
b = num/10%10; // 表示十位数
c = num%10; //表示个位数
System.out.println("百位数是:"+ a);
System.out.println("十位数是:"+ b);
System.out.println("个位数是:"+ c);
}
}
2. 赋值运算符
符号:= 、+= 、 -= 、 *= 、 /= 、%=
注意
①编译会报错。数字2为int类型,赋值给short类型会出现精度损失也报错
② 正确 。 += 会进行强制类型转换
3. 关系运算符
- 比较运算符的结果都是boolean 型,也就是要么是true,要么是false
- 比较运算符" == " 不能误写成 " = "
4. 逻辑运算符
& 逻辑与 、 | 逻辑或、 ! 逻辑非、 && 短路与、 ||短路或、 ^ 逻辑异或
- “ & ”和“ && ”的区别:
使用&,左边无论真假,右边都进行运算
使用&&,如果左边为真,右边参与运算;如果左边为假,右边则不参与运算 - 同理:" || "表示 :当左边为真时,右边不参与运算
- " ^ "表示:当左右都为真时,结果为false
5. 位运算
位运算是直接对整数的二进制进行的运算
6. 三元运算符
格式:(条件表达式)?表达式1 : 表达式2
当条件表达式为true时,整个运算的结果为表达式1,否则为表达式2。
练习2
获取三个数中的最大数
int a = 10;
int b = 5;
int c = 8;
int d = (a>b?a:b) > c?(a>b?a:b):c;
System.out.println(d);
练习3
交换两个整型变量的值
int a = 10;
int b = 5;
int temp;
temp = a;
a = b;
b = temp;
System.out.println("交换后a的值是:" + a + "\nb的值是:" + b);