06Java学习笔记——运算符

运算符

算数运算符

1.四则运算 + - * /
2.取模 % (只要整数除法,取模运算符在有意义)

注意

1.一旦运算中,有不同类型的数据,那么结果将会是数据范围大的那种。

			double result1 = 2+ 2.5//==4.5

2.’+‘有2种用法
A 加法 (char会被提升为int,然后计算 )
B 对于字符串String()(首字母大写,并不是关键字),’+'代表字符串连接操作

			String str1 = "Hello";
			String str2 = "World";
			System.out.println(str1+str2);//HelloWorld
			System.out.println(str1+20);//Hello20

!!任何数据类型和字符串进行连接时,结果都会变成字符串
3.优先级问题

			String + int + int
			System.out.println(str1+20+30);//Hello2030
			String +(int + int)
			System.out.println(str1+(20+30));//Hello50

4.自增自减运算符 ++ –

使用格式: 写在变量之前或之后 num-- ++num
使用方法: 1.单独使用 2.混合使用
使用区别:
1.单独使用前++和后++没有区别。
2.混合使用时,前++和后++有很大区别
A.前++ ,先+1,再拿结果使用
B.后++,先使用变量本来的数值,然后在+1

int num1 = 20;
System.out.println(++nmu1);//21 num1==21
int num2 = 20;
System.out.println(nmu2++);//20 num2==21

tip: 只有变量能够使用自增自减运算符,常量不可使用。

赋值运算符

基本赋值运算符“=”和复合赋值运算符’+=’ ‘-=’ ‘*=’ ‘/=’ ‘%=’

		+=	a += 1--> a = a + 1;
		-=	b -= 3--> b = b - 3;
		*=	c *= 3--> c = c * 3;
		/=	d /= 3--> d = d / 3;
		%=	e %= 3--> e = e % 3;			
			byte num = 30;
			num += 5;
			// num = num +5
			//byte + int -->int + int -->int
			//num = int
			// num = (byte) num
			//编译器会帮你强制转换

tip:复合赋值运算符隐含了一个强制转换

比较运算符
		== 是否相等
		<  是否小于
		>  是否大于
		<= 是否小于等于
		>= 是否大于等于
		!= 是否不等于

tip:
1 比较运算符的结果一定是一个boolean值(true&false)
2 如果进行多次判断,不能连着写(e.g. 1 < x < 3 错误)

逻辑运算符
		与  &&	两个条件同时满足--> true
		或  ||	两个条件只要有一个满足-->true
		非  !	本来是true,就变成false

&& and || 有短路效果:如果根据左边已经可以判断得到最终结果,那么右边的代码将会不在执行,从而节省性能。

			int a = 10;
			System.out.println(3 > 4 && ++a < 100);//false
			System.out.println(a); //10 而不是11
			int b = 10;
			System.out.println(3 < 4 || ++b < 100);//true
			System.out.println(b); //10 而不是11,因为或运算前半已经成立,后半就不在执行

tip:与 或两种运算符,如果有多个条件可以连续写。
条件A && 条件B && 条件C

三元运算符
	一元运算符		是需要一个数据/变量就可以进行操作的运算符。	e.g. ! ++  --
	二元运算符		是需要两个数据/变量才可以进行操作的运算符。	e.g. +  =
	三元运算符		是需要三个数据/变量才可以进行操作的运算符

格式: 数据类型 变量名 = 条件判断 ? 表达式1 : 表达式2

	判断条件是否成立
			成立-->将表达式1的值赋值给左侧的变量
			不成立-->将表达式2的值赋值给左侧的变量
			int max = a > b ? a : b

tip:1.必须同时保证表达式1和表达式2的结果符合左侧数据类型的要求

			int result = 3 > 4 ? 2.5 : 6;//报错 不管两个表达式最终哪个成立

2.三元运算符的结果必须被使用

			System.out.println(a > b ? a:b);//正确
			a > b ? a:b;//错误
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值