2021-11-15

今天运用所学的知识,了解很多重要的事情
/*
运算符: 算术运算符: +,-,,/,%,++,--
赋值运算符 = 一个=号是赋值,==是关系运算符
扩展赋值运算符:+=,-=,
=,/=
关系运算符: >,<,>=,<=,==,!=
关系运算符返回类型是boolean,要么true,要么false
逻辑运算符: &&,||,!
位运算符: &,|,^,~ , >>,<<,>>> (了解!!!)
条件运算符 ?:

/public class OperatorDemo{ public static void main(String[] args){
int a = 1; int b = 2;
//算术运算符
System.out.println(a + b);
System.out.println(a - b); System.out.println(a * b);
//取整除,或者取商
System.out.println(a / b);
//取余数,或者取模 System.out.println(a % b);
/

++: 单目运算符,自加1,如果++放在前面,先自加,再参加运算 如果++放在后面,先参加运算,后自加
–:单目运算符,自减1,如果–放在前面,先自减,再参加运算 如果–放在后面,先参加运算,后自减
*/
System.out.println(a++);
System.out.println(++a);
//元素符的优先级问题:++优先级高于+
System.out.println(++b+b++);//? 6 System.out.println(b);//4

//扩展赋值运算符		
int c = 10;		
//这两种写法结果是一样的,建议大家使用扩展运算符来写代码		
//c = c + 2;		
c += 2;			
	/*			
	数据类型的转换:			
		d是byte类型,1是int类型,d+1就变成int类型,低位向高位自动转换		
				=号右边高位,左边是低位,就要强制转换  语法:(datatype)		*/				
				byte d = 10;		//d = (byte)(d + 1);		//d = d + 1;d += 1;
	System.out.println(d);		
			//关系运算符		
			System.out.println(2 > 3);		
			System.out.println(2 < 3);		
			System.out.println(2 >= 3);	
				System.out.println(2 <= 3);		
				System.out.println(2 == 3);		
				System.out.println(2 != 3);			
					//逻辑运算符	
						/*		
							&&:短路与,如果第一表达式返回为false,后面的表达式就不再执行		
								&: 逻辑与,不管第一个表达式返回是true还是false,后面的表达式都会执行	
													||:短路或,如果第一表达式返回为true,后面的表达式就不再执行	
															|: 逻辑或,不管第一个表达式返回是true还是false,后面的表达式都会执行		*/	
																System.out.println(2 > 3 && 5 > 4);		System.out.println(2 > 3 & 5 > 4);	
																	int aa = 1;		//System.out.println(2 > 3 && 5 > aa++);		//System.out.println(aa);//1	
																		System.out.println(2 > 3 & 5 > aa++);		System.out.println(aa);//2		
																		System.out.println(2 > 3 || 5 > 4); 		System.out.println(!false);		System.out.println(!true);		
																				//位运算符		System.out.println(4 & 5);//4		
																				System.out.println(4 | 5);//5	
																					System.out.println(4 ^ 5);//1	
																						//移码   
																						
																						原码
																						  反码   补码		System.out.println(~4);//-5  ?  ?		
																						  //用最高效的方法把2变成16?		
																						  /*		
																						  	<<:有符号左移,乘2操作,左移几位就乘以几个2		
																						  		>>:有符号右移,除2操作,右移几位就除以几个2		
																						  			>>>:无符号右
																						  			*/
	System.out.println(2 << 3);//16
	System.out.println(16 >> 3);//2
	
	//条件运算符:三目运算符,第一个表达式返回为true,则取?后面的值,反之取:后面的值
	System.out.println(2 > 3 ? 2 : 3);//3
	System.out.println(false ? false : true ? false : true);
	
	
	/*
		基本数据类型之间的转换:
			1、自动转换(隐式转换):赋值运算符左边范围大,右边范围小,就是小范围向大范围转,会自动转型
			2、强制转换:赋值运算符左边范围小,右边范围大,就是大范围向小范围转,需要强制转换
					语法:(datatype)
				注意:
					1、一般都是同一种数据类型,我们才讨论它们的转型问题;
					2、强制转换之后,数据精度可能会丢失
	*/
	byte a1 = 10;
	a1 = (byte)(a1 + 2);
	System.out.println(a1);
	System.out.println((byte)270);//14

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值