JAVA运算符

     运算符是一些特殊的符号,主要用于数学计算、逻辑比较等方面。

一:赋值运算符

       赋值运算符是以“=”表示,是一个二元运算符;它是指把右边操作数所含的值赋给左边的操作数。左边的操作数必须是一个变量,而右边的操作数可以是任何表达式,如变量(a、b)、常量(111,“book”)、有效的表达式(23+12)。

       我们知道,赋值运算符首先是处理右边表达式,获取右边表达式的结果后,再赋值给左边操作数,如果一个表达式有两个“=”,那么会从最右边的“=”开始处理。

public static void FzYsf(){
		int a = 10; //声明int型变量a
		int b,c;
		b = 20; //将20赋值给变量b
		c = b = a+4; //将a+4的和赋值给变量b,然后再赋值给变量c
		System.out.println("b="+b); //输出b=14
		System.out.println("c="+c); //输出c=14
}
二:算术运算符

      所谓的算术运算符,就是指加(+)、减(-)、乘(*)、除(/)、取余(%),这些都是二元运算符,其中+和-可以表示数字的正负号,如+5、-9。

注意:当进行除法(/)运算时,0不能作为除数,即8/0这样是错误的,会抛出运算条件(ArithmeticException)异常。

public static void arith(){
		int i = 4;
		int num = 22;
		
		System.out.println("num+i= "+(num+i)); //输出num+i= 26
		System.out.println("num*i= "+(num*i)); //输出num*i= 88
		System.out.println("num-i= "+(num-i)); //输出num-i= 18
		System.out.println("num/i= "+(num/i)); //输出num/i= 5 取整数
		System.out.println("num%i= "+(num%i)); //输出num%i= 2 取余数
}
三:自增和自减运算符

      自增和自减运算符是单目运算符,可以放在变量前面,也可以放在变量后面,这个变量就是你要操作的操作元;自增是使变量的值加1,自减是使变量的值减1,放在变量前面的意思是:先将该变量的值加1或减1,然后再让该变量参与运算;放在变量后面的意思是:先让该变量参与运算,然后再将该变量的值加1或减1

注意:变量必须是整型或浮点型的。

public static void cNum(){
		int a = 1;
		int b = a++ + 2;
		int c = ++a + 5;  
		int d = a-- + b;
		int f = --a + 3;
		System.out.println("b= "+b);//3
		System.out.println("c= "+c);//8
		System.out.println("d= "+d);//6
		System.out.println("f= "+f);//4
		
}

       上述代码中,可以看到,b=a++ +2;可以得知b计算后的值为3,a计算后的值为2;然后c=++a +5;a先自增运算值为3,然后加上5,可以得到c的值为8;d = a-- + b;上面运算之后b=3,然后先与a--进行运算,得到d=6,然后a进行自减运算值为2;f = --a + 3,--a先进行自减得到a为1,然后与3进行运算得到f=4。

四:比较运算符

        比较运算符也属于二元运算符,用于变量之间、变量和自变量之间及其他类型之间的比较,比较运算符的运行结果是boolean类型的,当运算符对应的关系成立时,返回true,否则返回false。比较运算符一般用于条件语句中。

运算符作用例子操作数据类型结果
>比较左边是否大于右边'a' > 'b'整型、浮点型、字符型false
<比较左边是否小于右边123<124整型、浮点型、字符型true
==比较左边是否等于右边'd' = 'd'基本数据类型、引用型true
>=比较左边是否大于等于右边89 >= 90整型、浮点型、字符型false
<=比较左边是否小于等于右边90.234 <= 120.67整型、浮点型、字符型true
!=比较左边是否不等于右边‘y’ != 'x'基本数据类型、引用型true
public static void compare(){
		float n1 = 21.3f;
		float n2 = 34.23f;
		System.out.println("n1>n2= "+(n1>n2)); //false
		System.out.println("n1<n2= "+(n1<n2)); //true
		System.out.println("n1==n2= "+(n1==n2)); //false
		System.out.println("n1>=n2= "+(n1>=n2)); //false
		System.out.println("n1<=n2= "+(n1<=n2)); //true
		System.out.println("n1!=n2= "+(n1!=n2)); //true
}
五:逻辑运算符

        逻辑运算符包括&(&&)(逻辑与)、||(逻辑或)、!(逻辑非),逻辑运算符的操作元必须是boolean类型的,而且除了!是一元运算符,其他都是二元运算符。

运算符含义举例结合方向
&    &&逻辑与p1 && p2从左到右
||逻辑或p1 || p2从左到右
!逻辑非! p1从右到左
表达式1表达式2表达式1 && 表达式2表达式1 || 表达式2 ! 表达式1
truetruetruetruefalse
truefalsefalsetruefalse
falsefalsefalsefalsetrue
falsetruefalsetruetrue

&与&&的区别:

      使用&会判断两个表达式是否都满足,使用&&会先判断第一个表达式,当第一个表达式为false时,就不会去判断第二个了,这种从左边的表达式就能推断出整个表达式值得称为“短路”运算符。

public static void calculation(){
		int a = 2;
		int b = 3;
		boolean i = (a>b) && (a!=b);
		boolean i2 = (a<b) || (a!=b);
		boolean i3 = !(a!=b);
		System.out.println("i= "+i); //false
		System.out.println("i2= "+i2); //true
		System.out.println("i3= "+i3); //false
}
六:三目运算符

       三目运算符的使用格式为:条件表达式?值1 : 值2。

       即若条件表达式成立为true,则取值1,否则取值2。三目运算符等价于if...else语句。

public static void smYsf(){
		int a = 23 > 22 ? 1 : 2;
		System.out.println("a= "+a); //输出1
		
		//等价于下面的if...else
		if(23 > 22){
			a = 1;
		}else{
			a = 2;
		}
		System.out.println("a= "+a); //输出1
}
七:运算符的优先级

        优先级从高到低为:增量和减量运算、算术运算、比较运算、逻辑运算、赋值运算。

优先级描述运算符
1括号()
2正负号+、-
3一元运算符++、--、!
4乘除*、/、%
5加减+、-
6移位运算>>、>>>、<<
7比较大小<、>、<=、>=
8比较是否相等==、!=
9按位与运算&
10按位异或运算^
11按位或运算|
12逻辑与运算&&
13逻辑或运算||
14三元运算符? :
15赋值运算符=
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值