10--运算符

Java中的语句有很多形式,表达式就是其中一种形式。表达式由操作数与运算符所组成,操作数可以是常量、变量、也可以是方法。
在这里插入图片描述
赋值运算符 : =
实例:

public class Demo10_1{
	public static void main(String[] args){
		//赋值运算符: 表示将23 赋值给变量 num
		// = 并不是表示"等于"的意思,而表示"赋值"
		int num = 23;
		System.out.println(num);
	}
}

一元运算符: +(正号)-(负号)!(取反)
实例:

public class Demo10_2{
	public static void main(String[] args){
		int num =12;
		boolean flag=true;
		System.out.println(+num);//12
		System.out.println(-num);//-12
		System.out.println(!flag);//false
	}
}

算术运算符 : +(加)-(减)*(乘)/(除)%(取模,求余)
实例:

public class Demo10_3{
	public static void main(String[] args){
		int num1 =11;
		int num2=4;
		System.out.println(num1 + num2);//15
		System.out.println(num1 - num2);//7
		System.out.println(num1 * num2);//44
		System.out.println(num1 / num2);//2
		System.out.println(num1 % num2);//3
	}
}

注意:整数除以整数,得到的结果还是整数(商)
%表示获取余数,舍去商。
关系运算符:>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、==(等于)、!=(不等于)
关系运算都返回boolean结果,经常用在判断结构和循环结构上。
实例:

public class Demo10_4{
	public static void main(String[] args){
		int num1 =11;
		int num2=4;
		System.out.println(num1 > num2);//true
		System.out.println(num1 < num2);//false
		System.out.println(num1 >= num2);//true
		System.out.println(num1 <= num2);//false
		System.out.println(num1 == num2);//false
		System.out.println(num1 != num2);//true
	}
}

自增自减运算符: ++ (自增1) --(自减1)
实例:

public class Demo10_5{
	public static void main(String[] args){
		int a=3;
		int b=3;
		int i=4;
		int j=4;
		System.out.println("原始a的值:"+a);
		System.out.println("++在a之前a的值:"+(++a)+"\t在加完后的值"+a);
		System.out.println("原始b的值:"+b);
		System.out.println("--在b之后b的值:"+(b++)+"\t在加完后的值"+b);
		System.out.println("原始i的值:"+i);
		System.out.println("--在i之前i的值:"+(--i)+"\t在加完后的值"+i);
		System.out.println("原始j的值:"+j);
		System.out.println("--在j之后j的值:"+(j--)+"\t在加完后的值"+j);
	}
}

运行结果:
原始a的值:3
++在a之前a的值:4 在加完后的值4
原始b的值:3
–在b之后b的值:3 在加完后的值4
原始i的值:4
–在i之前i的值:3 在加完后的值3
原始j的值:4
–在j之后j的值:4 在加完后的值3
逻辑运算符: &&(短路与,and)&(and)||(短路或,or)|(or)!(逻辑非,not)
使用逻辑运算符可以连接多个逻辑运算,Java中的常用的逻辑运算符:
&(AND,与)、&&(短路与)、|(OR,或)、||(短路或)
当使用逻辑运算符“&&”时,运算符的前后的两个操作数的返回值皆为真,运算的结果才会是真;使用逻辑运算符”||”时,运算符前后的两个操作数的返回值只要有一个为真,运算的结果就会为真。如:
a>0&&b>0//两个操作数皆为真,运算的结果才为真
a>0||b>0//两个操作数只要一个为真,运算结果就为真
AND及OR结果表:
在这里插入图片描述
实例:

public class Demo10_6{
	public static void main(String[] args){
		boolean a=true;
		boolean b=false;
		System.out.println((a && b));//false
		System.out.println((a & b));//false
		System.out.println((a || b));//true
		System.out.println((a |b ));//true
		System.out.println(!a);//false
	}
}

实例:如果一个If语句中需要同时判断多个条件,则可以使用逻辑运

public class Demo10_7{
	public static void main(String[] args){
		int score=50;
		if((score<0)||(score>100)){
			System.out.println("输入的成绩有误!");
		}
		if((score<60)&&(score>49)){
			System.out.println("成绩不及格,你就准备补考吧!");
		}
	}
}

运行结果:成绩不及格,你就准备补考吧!
验证&&和&的区别
在与和或的操作中都存在两种情况,我们来分析下他们的区别:与分为短路与和非短路与,或也分为短路或和非短路或。
对于与操作来说,如果第一个条件为假,则后面的条件不管是真是假,最终的结果都是假。
对于或操作来说,如果第一个条件为真,则后面的条件不管是真是假,最终结果都为真。
在Java中对于短路与和短路或和普通的与和或的区别:
对于普通与来说,要求所用的条件都进行判断,而使用短路与,如果第一个条件为false,则后面的条件不再进行判断。
对于普通或来说,要求所有的条件都进行判断,而使用短路或,如果第一个条件为true,则后面的条件不再进行判断。
实例:

public class Demo10_8{
	public static void main(String[] args){
		int num1=3;
		int num2=0;
		//验证 &
		if((num1!=3)&(num2/0==0)){
			System.out.println("条件满足");
		}
	}
}

运行结果:
Exception in thread “main” java.lang.ArithmeticException: / by zero
at Demo10_8.main(Demo10_8.java:6)
造成出现错误的原因在于“与”操作要把所有的条件进行判断,在计算到num2/0时出现了错误。

实例:

public class Demo10_9{
	public static void main(String[] args){
		int num1=3;
		int num2=0;
		//验证 &&
		if((num1!=3)&&(num2/0==0)){
			System.out.println("条件满足");
		}

	}
}

括号运算符
括号运算符用来提高表达式的优先级
实例:

public class Demo10_10{
	public static void main(String[] args){
		int num1=3+4+5*6-7;
		int num2=(3+4+5)*(6-7);
		System.out.println("3+4+5*6-7="+num1);
		System.out.println("(3+4+5)*(6-7)="+num2);
	}
}

运行结果:
3+4+56-7=30
(3+4+5)
(6-7)=-12
简洁表达式(复合赋值运算符)
在这里插入图片描述
实例:

public class Demo10_11{
	public static void main(String[] args){
		int num1=3;
		int num2=6;
		System.out.println("运算之前:num1="+num1+"\tnum2="+num2);
		num1+=num2;
		System.out.println("运算之后:num1="+num1+"\tnum2="+num2);
	}
}

运行结果:
运算之前:num1=3 num2=6
运算之后:num1=9 num2=6

简洁表达式范例:
在这里插入图片描述
位运算符
&(按位与)、|(按位或)、^(异或,相同为0,不同为1)
~(取反)、<<(左移位)、>>(右移位)、>>>(无符号右移)
在Java中所有的数据都是以二进制数据的形式进行运算,如果一个int型的变量,要采用位运算时则,必须将其变为二进制数据,每一位二进制与、或、异或操作结果:
在这里插入图片描述

实例:

public class Demo10_12{
	public static void main(String[] args){
		int num1=3;
		int num2=6;
		System.out.println("num1&num2="+(num1&num2));
		System.out.println("num1|num2="+(num1|num2));
		System.out.println("num1^num2="+(num1^num2));
	}
}

运行结果:
num1&num2=2
num1|num2=7
num1^num2=5

关于二进制的运算可以关注下一小节。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值