2.4运算符
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
1. 算术运算符
2. 赋值运算符
3. 比较运算符(关系运算符)
4. 逻辑运算符
5. 位运算符
6. 三元运算符
下面展示一些 内联代码片
。
class AriTest {
public static void main(String[] args) {
//除号:/
int num1 = 12;
int num2 = 5;
int result1 = num1 / num2;
System.out.println(result1); //2
int result2 = num1 / num2 * num2;
System.out.println(result2);//10
double result3 = num1 / num2;
System.out.println(result3);//2.0
double result4 = num1 / num2 + 0.0;
double result5 = num1 / (num2 + 0.0);
double result6 = (double)num1 / num2;
double result7 = (double)(num1 / num2);
System.out.println(result5);//2.4
System.out.println(result6);//2.0
System.out.println(result7);//2.0
System.out.println(result4);//2.0
}
}
赋值运算符
比较运算符
逻辑运算符
下面展示一些 逻辑运算符的运用
。
/*
说明:
1.逻辑运算符操作的都是boolean类型的变量
*/
public class LogicTest {
public static void main(String[] args) {
//区分&和&&
//相同点1:&与&&的运算结果相同
//相同点2:当符号左边是true时,而这都会执行符号右边的运算
//不同点:当符号左边是false时,&继续执行符号右边的运算。&&不在执行符号右边的运算。
//开发中推荐使用&&,可以减少代码的运算量。
boolean b1 = true;
b1 = false;
int num1 = 10;
if(b1 & (num1++ > 0)) {
System.out.println("我现在北京!");
}else{
System.out.println("我现在在南京!");
}
System.out.println("num1 = " + num1);
boolean b2 = true;
b2 = false;
int num2 = 10;
if (b2 && (num2++ > 0)) {
System.out.println("我现在在北京!");
}else{
System.out.println("我现在在南京!");
}
System.out.println("num2 = " + num2);
//区分:|和||
//相同点1:|与||的运算结果相同
//相同点2:当符号左边是false时,两者都会执行符号右边的运算
//不同点:当符号左边是true时,|继续执行符号右边的运算,而||不在执行符号右边的运算。
//开发中推荐使用||,可以减少代码的运算量
boolean b3 = false;
b3 = true;
int num3 = 10;
if(b3 | (num3++ > 0)) {
System.out.println("我现在在北京!");
}else{
System.out.println("我现在在南京!");
}
System.out.println("num3 = " + num3);
boolean b4 = false;
b4 = true;
int num4 = 10;
if(b4 || (num4++ > 0)) {
System.out.println("我现在在北京!");
}else{
System.out.println("我现在在南京!");
}
System.out.println("num4 = " + num4);
}
}
下面展示一些 小练习
。
public class ChangeTest {
public static void main(String[] args) {
//练习:交换两个变量的值
int num1 = 10;
int num2 = 20;
System.out.println("num1 = "+ num1+",num2 = "+ num2);
//方式一:定义临时变量的方式
//推荐使用
int temp = num1;
num1 = num2;
num2 = temp;
System.out.println("num1 = " +num1 +",num2 = " +num2);
//方式二;不需要定义临时变量
//弊端:相加操作可能会超出存储范围,有一定的局限性,只能适用于数值类型,无法实现boolean类型
num1 = num1 + num2;
num2 = num1 - num2;
num1 = num1 - num2;
System.out.println("num1 = " +num1 +",num2 = " +num2);
//使用位移运算符,消除了存储范围的问题,只是针对数值类型
num1 = num1 ^ num2;
num2 = num1 ^ num2;
num1 = num1 ^ num2;
System.out.println("num1 = " +num1 +",num2 = " +num2);
}
}
位移运算符
三元运算符
凡是可以使用三元运算符的地方,都可以改写为if-else,反之不成立。
可以使用三元运算符优先使用,运算简单。
运算符优先级: