Java基础-运算符

第三章

运算符

运算符是一-种特殊的符号,用以表示数据的运算、赋值和比较等。

算术运算符

算术运算符是对数值类型的变量进行运算的

在这里插入图片描述

取模(%)公式:a%b=a-(int)a/b*b
代码演示
public class hello1{
	public static void main(String[] args){
		System.out.println(10%3);
		System.out.println(-10%3);
		System.out.println(10%-3);
	}
}
运行结果

在这里插入图片描述

前++ 和后++的区别(–一个道理)

前++:++i先自增后赋值

后++:i++先赋值后自增

代码演示
public class hello1{
	public static void main(String[] args){
		int j=8;
		int k=j++;
		int i=8;
		int l=++i;
		System.out.println("k="+k);
		System.out.println("l="+l);
	}
}
运行结果

在这里插入图片描述

练习题
public class hello1{
	public static void main(String[] args){
		int i=8;
		i=i++;//计算过程:temp=i;i=i+1;i=temp
		int k=8;
		k=++k;//计算过程:k=k+1;temp=k;k=temp
		System.out.println("i="+i);
		System.out.println("k="+k);
	}
}
运行结果

在这里插入图片描述

public class hello1{
	public static void main(String[] args){
		int i1 = 10;
		int i2 = 20;
		int i = i1++;
		System.out.print("i="+i);
		System.out.println("i2="+i2);
		i=--i2;
		System.out.print("i="+i);
		System.out.println("i2="+i2);
	}
}
运行结果

在这里插入图片描述

假如还有59天放假,问:合xx个星期零xx天
public class hello1{
	public static void main(String[] args){
		// 1.假如还有59天放假,问:合xx个星期零xx天
		int days=59;
		int weeks=days/7;
		int leftdays=days%7;
		System.out.println("59天相当于"+weeks+"周"+leftdays+"天");
	}
}
运行结果

在这里插入图片描述

定义一个变量保存华氏温度,华氏温度转换摄氏温度的公式为: 5/9*(华氏温度-1 00),请求出华氏温度对应的摄氏温度。[234.5]
public class hello1{
	public static void main(String[] args){
		double huashi=243.5;
		double sheshi=5.0/9*(huashi-100);
		System.out.println(huashi+"华氏度相当于"+sheshi+"摄氏度");
	}
}
运行结果

在这里插入图片描述

关系运算符

  1. 关系运算符的结果都是boolean型,也就是要么是true,要么是false

  2. 关系表达式经常用在if结构的条件中或循环结构的条件中

  3. 关系运算符组成的表达式,我们称为关系表达式。a> b

  4. 比较运算符" = =“不能误写成”=

    在这里插入图片描述

代码演示

public class hello1{
	public static void main(String[] args){
		int a = 9;//温馨提示: 开发中,不可以使用a, b
		int b=8;
		System.out.println(a > b); //T
		System.out.println(a >= b); //T
		System.out.println(a <= b); //F
		System.out.println(a < b);//F
		boolean flag=a<b;
		System.out.println("flag="+flag);
	}
}
运行结果

在这里插入图片描述

逻辑运算符

用于连接多个条件(多个关系表达式),最终的结果也是一个boolean值。

在这里插入图片描述

注意

  1. &与&&(逻辑与和短路与)的区别:不管怎样&(逻辑与)会将所有的条件判断一遍,&&(短路与)当条件为假时候停止后面的判断退出
  2. |与||(逻辑或和短路或)的区别:不管怎么样|(逻辑或)会将所有的条件判断一遍,||(短路或)当条件为真时停止后面的判断退出
  3. a^b异或操作,相同为flase不同为true
  4. !a取反操作
代码演示
public class hello1{
	public static void main(String[] args){
		int a = 9;
		int b=8;
		if(a<10|++b>4){
			System.out.print("这就是逻辑或");
			System.out.println("a="+a+"b="+b);
		}
		if(a<10||++b>4){
			System.out.print("这就是短路或");
			System.out.println("a="+a+"b="+b);
		}
		if(a<8&++b>4){
			System.out.print("这就是逻辑与");
		}
		System.out.print("这就是逻辑与");
		System.out.println("a="+a+"b="+b);
		if(a<8&&++b>4){
			System.out.print("这就是短路与");
		}
		System.out.print("这就是短路与");
		System.out.println("a="+a+"b="+b);
	}
}
public class hello1{
	public static void main(String[] args){
		System.out.println(60>20);
		System.out.println(!(60>20));
		System.out.println((6>20)^(6<20));
	}
}
运行结果

在这里插入图片描述

在这里插入图片描述

练习题

代码
//写出每题的输出结果
public class hello1{
	public static void main(String[] args){
		int x=5;
		int y=5;
		if(x++==6 & ++y==6){ 
			x=11;
		}
		System.out.println("x=" +x+"y="+y);//x=6,y=6
		x=5;
		y=5;
		if(x++==6 && ++y==6){ 
			x=11;
		}
		System.out.println("x=" +x+"y="+y);//x=6,y=5
		x=5;
		y=5;
		if(x++==5 |++y==5){ 
			x=11;
		}
		System.out.println("x=" +x+"y="+y);//x=11,y=6
		x=5;
		y=5;
		if(x++==5||++y==5){ 
			x=11;
		}
		System.out.println("x=" +x+"y="+y);//x=11,y=5
        boolean a=true;
		boolean b=false;
		short z=46;
		if( (z++==46)&& (b=true) )z++;//y=true这个是一个赋值语句为true
		if((a=false)||(++z==49)) z++;
		System.out.println("z="+z);
	}
}
运行结果

在这里插入图片描述

赋值运算符

赋值运算符就是将某个运算后的值,赋给指定的变量。

特点

  1. 运算顺序从右往左,也就是先把等号右边的值都给算完,在赋值int num= a+b+ C;
  2. 赋值运算符的左边只能是变量,右边可以是变量、表达式、常量值
  3. 复合赋值运算符等价于比如: a+= 3;等价于a=a+3;
  4. 复合赋值运算符会进行类型转换。

三元运算符

公式:条件表达式?表达式1:化表达式2;

1.如果条件表达式为true,运算后的结果是表达式1;
2.如果条件表达式为false,运算后的结果是表达式2;

案例演示

public class hello1{
	public static void main(String[] args){
		int a=10;
		int b=20;
		int result=a>b?++a:++b;
		System.out.println(result);
	}
}
运行结果

在这里插入图片描述

使用细节

  1. 表达式1和表达式2要为可以赋给接收变量的类型(或可以自动转换或强制转换)
  2. 三元运算符可以转成if–else语句

运算符优先级

  1. 运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。如右表,上一 -行运算符总优先于下一行。
  2. 只有单目运算符、赋值运算符是从右向左运算的。

优先级从上到下依次降低

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XZY-SUNSHINE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值