牛客网笔记之JAVA运算符

来源:互联网 发布:学php去哪 编辑:程序博客网 时间:2024/05/21 05:17

计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。我们可以把运算符分成以下几组:

  • 算术运算符
  • 关系运算符
  • 位运算符
  • 逻辑运算符
  • 赋值运算符
  • 其他运算符

逻辑运算符结果



~a是按位非,就是一位一位的计算

!a就是纯非


System.out.println(!false);//true

System.out.println(6>3&&'6'>10);//这个结果应该是真的,前面是真,后面自动提升,确实大于10,也是真,所以结果为真

System.out.printl(3>=5||‘c’>'a');//前面是假,后面是真,所以是真

System.out.println(3>=5||'b'>'a');//前面是假,后面是真,结果为真



主要需要注意的是a&&b和a&b的区别


int a=5;

int b=10;

if(a>4|b++>10){


System.out.println(a);//前面是5>4,|这个符号就是两面都要算,所以b就要增加1,为11

System.out.println(b);//

}


int c=5;

int d=10;

if(c>4||d++>10){


System.out.println(c);//这个前面为真,后面不管真假加过都是真了,所以就不用计算后面的了,所以就没有d+1这一说了

System.out.println(d);

}


现在要说的就是短路运算符

&&和||


&&当表达式左边为假,右面就不需要计算了,否则必须算

||当表达式左边为真,右面就不需要计算了,否则必须算


&|:无论什么情况下,左右两面都必须计算


赋值运算符


=是最常见的一种赋值运算符,就是将符号右面的表达式的值赋给左边的常量,如:int a=3;


扩展运算符:就是将其他的运算符和赋值运算符结合起来,如+=,-=,*=等等。


那么他们之间的区别是什么呢


扩展运算符不检查类型的匹配。什么意思呢,就是说



比如:

short b=0;

int a=1;

 b=b+a;

System.out.println(b);//结果是什么呢


错误!


a是int,和b相加能赋值给short么,当然不行!所以是错误的。


但是b+=a;这样就可以了,就是说不检查类型匹配。


三目运算符


表达式:x?y:z


其中呢x为boolean类型的表达式,先计算x的值,若为true,则整个三目运算符的结果为y的值,否则整个运算结果为表达式z的值


例如:

string str=(9>3)?“9大于5”:“9不大于5”;

System.out.println(str);


因为,表达式 9>5 的值为 true ,所以,返回: 9大于5


作业:写一个判断闰年的函数


1.能被4整除但是不能被100整除

2.能被400整除

0 0
原创粉丝点击