笔记: 运算符二

/*运算符: 算术运算符:

+,-,*,/,%,++,-- 赋值运算符 =  一个=是赋值运算符,==是关系运算符

扩展赋值运算符:+=,-=,*=,/=

关系运算符: >,<,>=,<=,==,!=  两边一般都不是具体的值,而是表达式

逻辑运算符: &&,||,!

位运算符: &,|,^,~ , >>,<<,>>> (了解!!!)

条件运算符 ?:*/

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);  

 //给一个4位数,对应取出个位、十位、百位、千位数字?

 int i = 2345;//?    

 //++:单目运算符,自加1操作,如果++在前面,先自加,再运算

 //   如果++在后面,先运算,再自加

 System.out.println(a++);

 System.out.println(++a);

 //--:单目运算符,自减1操作,如果--在前面,先自减,再运算  

//   如果--在后面,先运算,再自减

 //System.out.println(a--);

 //System.out.println(--a);  

 //面试题:运算符的优先级的问题    ++优先级是大于+

 System.out.println(++b+b++);//?  6  

System.out.println("-------------------");

 System.out.println(b);//4  

 //扩展运算符

 int c = 1;

 //两种写法的结果是一样的,都是做+2操作

 //建议操作的时候都使用扩展运算符

 //c = c + 2;

 c += 2;  

 //基本数据类型的转换:byte类型的d,当它+20的时候,等号右边变成了int类型,左边是byte类型,

 //                    大范围向小范围转型需要强制转换   写法:(datatype)  

 byte d = 10;

 //d = d + 20;  d += 20;  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,那么后面的表达式就不再执行了

  &:逻辑与,不管第一表达式返回true还是false,两边的表达式都会执行

  |:逻辑或,不管第一表达式返回true还是false,两边的表达式都会执行    

*/  int aa = 1;

 //System.out.println(2 > 3 && 5 > aa++);

 System.out.println(2 > 3 & 5 > aa++);

 System.out.println(aa);

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操作,移动几位就除以几个2   <<:无符号左移,乘2操作,移动几位就乘以几个2   >>>:有符号右移

 */  

//把2变成16的最高效的方法是什么?

 System.out.println(2 << 3);

 System.out.println(16 >> 3);  

 //条件运算符:

三目运算符

 //            第一个表达式返回为true,则取?后的值,反之,取:后的值。

 System.out.println( 2 < 3 ? 2 : 3);  

System.out.println(false ? false : true ? false : true);  

   /*   基本数据类型之间的转换:

   1、一般写代码的时候,都是使用同一种数据类型,低位会向高位自动转换(隐式转换)

   2、在同一种数据类型转换的时候,高位向低位不会自动转换,需要使用强制转换

   3、强制转换会数据精度的丢失

 */

 byte x = 10;  x = (byte)(x + 20);  //int y = x + 20;  System.out.println(x);  System.out.println((byte)270);//14

  }

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值