首页 > 技术文章 > Java基础 入门 运算符

coolcoolCool 2018-03-25 17:09 原文

==和=的区别

==表示比较,比较两个变量的值是否相等,返回值Boolean值。
=表示赋值,也就是将某个数据,存放进某个变量中。

++

int a =3;
后置++,先运算,再将a的值加一 System.out.println(a++);
System.out.print(a);a= a+1;
int b=4;
前置++,先将a的值加一,在运算
System.out.println(++b);
b = b+1;system.out.println(b);

比较字符串是否相等,应该采用equals方法

&&逻辑与:当两个条件同时满足,结果才为真,有一个条件不满足,结果都是假。另外,&&也是短路运算符。当第一个条件为假时,第二个条件不做判断。
||逻辑或:当有两个条件,有一个条件为真时,结果都为真。只有两个条件同时为假,结果才是假。
!逻辑非:将true变成false,将false变成true。

相当于除2操作,去掉该数二进制码后一位
System.out.println(4>>1);
相当于乘2操作,在该数二进制码的最后面添一个0
system.out.println(4<<1);
快速计算的三次方
System.out.println(2<<2);
将两个操作数转成二进制码。对应的二进制码如果都是1,结果是1,有一个0,结果都是0.
System.out.println(2&3);
将两个操作数转成二进制码,对应的二进制码有一个是1,结果都是1,只有两个都是0,结果才是0.
Sytem.out.println(4|6);
将两个操作数,转换成2进制,对应的二进制码不相等,结果为1,如果相等,结果为0
System.out.println(4^6);

&&和&的区别:

1、&&是逻辑运算符,要求操作数只能为boolean类型。&是位运算符,操作数可以是boolean类型,也可以是int。
2、&&是短路运算符,当第一个条件为假时,第二个条件不做执行。&为非短路运算符。无论第一个条件是否为假,第二个条件都会执行。
x+=3.2;与x=(int)(x+3.2);相同
?前面为布尔值,当布尔值为真时,将1赋值给a,当布尔值为假时,将0赋值给a
int a=x>2?1:0;

运算符的优先级

当一个表达式中,出现多种操作符时,优先级高的操作符,优先得到执行。
点,括号
一元运算符 ++ -- ! (类型强转)
算术运算符 +-*/%
关系运算符> >= < <= ==
逻辑运算符 && ||
赋值运算符 = += -= *= /=

表达式

表达式是运算符和操作数组合构成的。

if。。。。dlse if和多个if的区别

if......else if是一条语句,只会执行其中一个if块或else if块。当其中一个条件满足后,不会再执行其他语句块。
多个if是多条语句,每个if判断都会执行。
switch执行顺序: swtich()中,是一个表达式。首先执行和表达式结果匹配的选项。顺序执行,遇到第一个break,跳出switch判断。

推荐阅读