Java中运算符的使用

1.算数运算符
运算符运算举例结果
+正号a=+2a=2
-负号a=5,b=-ab=-5
+2+46
-10-55
*2*36
/9/33
%取余(取模,结果的符号与被模数的符号相同)7%52
前++先自增1,后运算a=2;b=++aa=3;b=3
后++先运算,后自增1a=2;b=a++a=3;b=2
前- -先自减1,后运算a=2;b=- -aa=1;b=1
后- -先运算,后自减1a=2;b=a- -a=1;b=2
+连接符(只能在String与其他数据类型变量之间使用)“He”+”llo”“Hello”

代码示例:

public class AriTest {

	public static void main(String[] args) {
		int s1 = 12;
		int i1 = 5;
		int result1 = s1 / i1;
		double result2 = s1 / i1;
		double result3 = s1 / (i1 + 0.0);
		double result4 = (double) s1 / i1;
		double result5 = (double) (s1 / i1);
		System.out.println(result1);//2
		System.out.println(result2);//2.0
		System.out.println(result3);//2.4
		System.out.println(result4);//2.4
		System.out.println(result5);//2.0

		// *******************************
		int m1 = 14;
		int n1 = 8;
		System.out.println("m1 % n1 = " + m1 % n1);//m1 % n1 = 6

		int m2 = -14;
		int n2 = 8;
		System.out.println("m2 % n2 = " + m2 % n2);//m2 % n2 = -6

		int m3 = 14;
		int n3 = -8;
		System.out.println("m3 % n3 = " + m3 % n3);//m3 % n3 = 6

		int m4 = -14;
		int n4 = -8;
		System.out.println("m4 % n4 = " + m4 % n4);//m4 % n4 = -6

		// *********************************
		int b1 = 6;
		int b2 = 7; 
		int d1 = ++b1;
		int d2 = b2++;
		System.out.println("b1=" + b1 + ",d1=" + d1);//b1=7,d1=7
		System.out.println("b2=" + b2 + ",d2=" + d2);//b2=8,d2=7

	}

}
2.赋值运算符
运算符运算举例结果
=赋值a=3,b=aa=3,b=3
+=加等于a=2,b=5,b+=aa=2,b=7
-=减等于a=2,b=6,b-=aa=2,b=4
*=乘等于a=3,b=2,b*=aa=3,b=6
/=除等于a=3,b=9,b/=aa=3,b=3
%=取模等于a=2,b=3,b%=aa=2,b=1

代码示例:

public class SetValueTest {

	public static void main(String[] args) {
		int num1 = 10;
		num1 += 2;// num1 = num1 + 2;
		System.out.println("num1=" + num1);//num1 = 12

		int num2 = 12;
		num2 %= 5;// num2 = num2 % 5;
		System.out.println("num2=" + num2);//num2 = 2
	}

}
3.比较运算符
运算符运算举例结果
==相等于2==5false
!=不等于2!=5true
>大于2>5false
<小于2<5true
>=大于等于2>=5false
<=小于等于2<=5true
instanceof检查是否是类的对象“Hello” instanceof Stringtrue

说明:
(1)比较运算符的结果均为Boolean型(true或false)
(2)> < >= <= :只能使用在数值类型的数据之间。
(3)“==”与“=”为用法不同的两种运算

代码示例:

public class CompareTest {

	public static void main(String[] args) {
		int i = 10;
		int j = 20;
		System.out.println(j == i);//false,j与i不相等
		System.out.println(j = i);//10,将i的值赋给了j

		boolean m = true;
		boolean n = false;
		System.out.println(m == n);//false
		System.out.println(m = n);//false
	}

}

4.逻辑运算符
运算符运算
单&逻辑与 (有一个为false,结果为false)
双&短路与
单|逻辑或(有一个为true,结果为true)
双|短路或
!逻辑非
^逻辑异或

说明:
(1)逻辑运算符操作的都是boolean类型的变量。而且结果也是boolean类型。
(2)& 与 && 运算结果一样。当符号左边是true时,二者都会执行符号右边的运算;当符号左边是false时,&继续执行符号右边的运算,&&不再执行符号右边的运算。
(3)| 与 | | 运算结果一样。当符号左边是false时,二者都会执行符号右边的运算;当符号左边是true时,| 继续执行符号右边的运算,而 | | 不再执行符号右边的运算。

代码示例:

public class LogicTest {

	public static void main(String[] args) {
		boolean a1 = true;
		a1 = false;
		int b1 = 11;
		if (a1 & b1++ > 10) {
			System.out.println("Hello Java!");
		} else {
			System.out.println("Hello World!");//Hello World!
		}
		System.out.println("b1=" + b1);//b1=12

		boolean a2 = true;
	    a1 = false;
		int b2 = 11;
		if (a2 && b2++ > 10) {
			System.out.println("Hello Java!");//Hello Java!
		} else {
			System.out.println("Hello World!");
		}
		System.out.println("b2=" + b2);//b2=12
		
		boolean a3 = false;
		a3 = true;
		int b3 = 11;
		if (a3 | (b3++ > 10)) {
			System.out.println("Hello Java!");//Hello Java!
		} else {
			System.out.println("Hello World!");
		}
		System.out.println("b3=" + b3);//b3=12

		boolean a4 = false;
		a4 = true;
		int b4 = 11;
		if (a4 || (b4++ > 10)) {
			System.out.println("Hello Java!");//Hello Java!
		} else {
			System.out.println("Hello World!");
		}
		System.out.println("b4=" + b4);//b4=11

	}

}

5.位运算符
  • 位运算是直接对整数的二进制进行的运算

(1)<<:左移,被移除的高位丢弃,空缺位补0。
(2)>>:右移,被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1。
(3)>>>:无符号右移(没有无符号左移),被移位二进制最高位无论是0或者是1,空缺位都补0。
(4)&:与运算,二进制位进行&运算,只有1&1时结果是1,否则是0。
(5)|:或运算,二进制位进行 | 运算,只有0 | 0时结果是0,否则是1。
(6)^:异或运算,相同二进制位进行 ^ 运算,结果是0;不相同二进制位 ^ 运算结果是1。
(7)~:取反运算,正数取反,各二进制码按补码各位取反;负数取反,各二进制码按补码各位取反。

代码示例:

public class BitTest {

	public static void main(String[] args) {
		int i = 13;
		System.out.println("i << 2 :" + (i << 2));//i << 2 :52
		System.out.println("i << 27 :" + (i << 27));//i << 27 :1744830464
		System.out.println("i << 28 :" + (i << 28));//i << 28 :-805306368
		System.out.println("i >> 2 :" + (i >> 2));//i >> 2 :3

		int m = 8;
		int n = 2;
		System.out.println("m & n :" + (m & n));//m & n :0
		System.out.println("m | n :" + (m | n));//m | n :10
		System.out.println("m ^ n :" + (m ^ n));//m ^ n :10
		
	}

}

6.三元运算符

(1)格式:(条件表达式)? 表达式1 : 表达式2
①当条件表达式为true时,执行表达式1;
②当条件表达式为false时,执行表达式2。
(2)说明:
① 条件表达式的结果为boolean类型。
②表达式1 和表达式2要求是一致的。
③三元运算符可以嵌套使用。
④当可以使用三元运算符的地方,同样也可以改写成If-else型。反之,则不成立。当二者均可使用的时候,优先选择 三元运算符。

代码示例:

public class SanYuanTest {

	public static void main(String[] args) {
		int m = 25;
		int n = 12;
		int max = (m > n) ? m : n;
		System.out.println("max = " + max);//max = 25

		double i = 1.4;
		double j = 2.1;
		double h = 0.7;
		double max1 = (i > j) ? i : j;
		double max2 = (max1 > h) ? max1 : h;
		System.out.println("三个数中最大值为 :" + max2);//三个数中最大值为 :2.1

	}

}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值