Java_运算符

Java支持的运算符

算术运算符

+、-、*、/、%、++、–

赋值运算符

=

关系运算符

<、>、>=、<=、==、!=instanceof

逻辑运算符

&&、||、!

位运算符

&、|、^、~、>>、<<、>>>

条件运算符

?、:

扩展赋值运算符

+=、-=、*=、/=

二元运算符

	int a = 10;
	int b = 20;
	System.out.println(a+b);	// 30
	System.out.println(a-b);	// -10
	System.out.println(a*b);	// 200
	System.out.println(a/b);	// 0 (强制转换)
	System.out.println(a/(double)b);	// 0.5 (强制转换)

不同类型运算

	long a = 123123123123123L;
	int b = 123;
	short c = 10;
	byte d = 8;
	System.out.println(a+b+c+d);	// Long类型
	System.out.println(b+c+d);		// Int类型
	System.out.println(c+d);		// Int类型
	// 多个参数中,有一个为long则结果为long,如果没有long则结果为int
	// 有一个参数为double则结果为double

关系运算符返回的结果

	int a = 10;
	int b = 20;
	System.out.println(a>b);	// false
	System.out.println(a<b);	// true
	System.out.println(a==b);	// false
	System.out.println(a!=b);	// true
	// 结果为布尔值,常配合if使用

	// 取余
	int c = 21;
	System.out.println(c%a);	// 1 (21/10 = 2...1)

自增、自减、一元运算符

	int a = 3;
	int b = a++;	// 此时b = a,而后a = a+1;即先给b赋值,再自增
	int c = ++a;	// 此时a = a+1,而后c = a;即先自增,再赋值给c
	// a++是先赋值后计算,++a是先计算后赋值
	System.out.println(a);	// 5
	System.out.println(b);	// 3
	System.out.println(c);	// 5

	// 幂运算 2^3 = 2*2*2
	double pow = Math.pow(2, 3);
	System.out.println(pow);	// 8.0
	// 通过Math工具类实现

与、或、非,短路运算,位运算

	boolean a = true;
	boolean b = false;
	System.out.println(a&&b);	// 逻辑与:同真则真
	System.out.println(a||b);	// 逻辑或:同假为假
	System.out.println(!(a&&b));

	// 短路运算:当前者为假,则不继续执行后者
	int c = 5;
	boolean d = (c<4)&&(c++<4);
	System.out.println(d);	// false
	System.out.println(c);	// 5
	// c++并没有执行

	// 位运算
	/*
	A = 0011 1100
	B = 0000 1101

	A&B = 0000 1100
	A|B = 0011 1101
	A^B = 0011 0001
	~B = 1110010
	*/
	/*
	位运算巧用
	2*8 = 16  -->  2*2*2*2
	使用位运算 -->  2<<3
	System.out.println(2<<3)	// 16
	原理:“<<” 左移
		0000 0010		2
		0000 0100		4	->左移一位
		0000 1000		8	->左移两位
		0001 0000		16	->左移三位
	*/

扩展赋值运算

	int a = 10;
	int b = 20;
	a += b;	// a = a+b
	System.out.println(a);	// 30
	a -= b; // a = a-b
	System.out.println(a);	// 10
	
	// 字符串连接符
	System.out.println(a+b);	// 30
	System.out.println(""+a+b);	// 1020
	// “+”两侧出现String类型,则会把后面的参数都转为String类型
	System.out.println(a+b+"");	// 30
	// 此时先执行加法运算后再转为字符串

三元运算符

	// a ? x : y
	// 如果a==true,则结果为x,否则结果为y
	int n = 54;
	Srting type = n < 80 ? "偏低" : "达标";
	System.out.println(type);	// 偏低

上一篇:Java_类型转换
下一篇:Java_用户交互Scanner

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值