运算符和表达式

【算术运算】

Java算术运算符包括加(+)、减(-)、乘(*)、除(/)、取模(%)、自增(++)、自减(--)。

1、取模运算(%)意为取余数,适用于整数、char类型以及浮点数。看下列代码:

System.out.println(225%8);//结果为1

2、自增和自减。

看下列代码:

int a=5,b=5;

int c=a++;//自增符号(++)在变量后面时,先用(把a的值赋给c)后自增

int d=++b;//自增符号(++)在变量前面时,先自增后用(把c的值赋给d)

System.out.println(a);//结果为6

System.out.println(b);//结果为6

System.out.println(c);//结果为5

System.out.println(d);//结果为6

看下列代码:

int a=5,b=5;

System.out.println(a++);//结果为5,自减符号(++)在变量后面时,先用(输出a的值)后自减

System.out.println(a);//结果为4

System.out.println(--b);//结果为4,自减符号(++)在变量前面时,先自减后用(输出a的值)

System.out.println(b);//结果为4

【关系运算】

关系运算符用于判断数据之间的大小关系。包括大于(>)、小于(=)、小于等于(

int max=10;

int num=9;

boolean b1=max>15;

boolean b2=num%2==1;

System.out.println(b1);//结果为false

System.out.println(b2);//结果为true

【逻辑运算】

逻辑运算建立在关系运算的基础上,逻辑运算符包括:与(&&)、或()和非(!)。

1、两个boolean变量参与"&&"运算时,只有当两个变量均为true时,运算结果才为true,否则结果为false。看下列代码:

int score=80;

boolean b=score>=60 && score

System.out.println(b);//结果为true

2、两个boolean变量参与""运算时,当两个变量有一个为true时,结果即为true,只有当两个变量均为false时结果为false。看下列代码:

boolean flag=true;

int n=200;

boolean b1=flag(n>=0&&n

System.out.println(b1);//结果为true

3、一个boolean变量参与运算用"!"时,运算的值与该变量相反,变量为true时结果为false,变量为false时结果为true。

boolean flag=true;

int n=200;

boolean b=!flag(n>=0 && n

System.out.println(b);//结果为false

逻辑运算的“短路逻辑”原则。

1、对于"&&",当第一个操作数为false时,将不会判断第二个操作数,因为此时无论第二个操作数为何,最后的运算结果一定是false,所以第二个操作数不会判断。看下列代码:

int i=100,j=200;

boolean b1=(i>j)&&(i++>100);

System.out.println(b1);//结果为:false

System.out.println(i);//结果为:100,i++不会被执行

2、对于"&&",当第一个操作数为false时,将不会判断第二个操作数,因为此时无论第二个操作数为何,最后的运算结果一定是false,所以第二个操作数不会判断。看下列代码:

int i=100,j=200;

boolean b2=i>0j++>200;

System.out.println(b2);//结果为:true

System.out.println(j);//结果为:200,j++不会被执行

【赋值运算】

“=”称为赋值运算符,用于对变量赋值。关于赋值运算符,除了将右边的表达式计算出来赋给左边以外,赋值表达式本身也是有值,其本身之值即为所赋之值。看以下代码:

int a,b,c;

a=b=c=100;

上面的代码c=100整个表达式的值为100,将其赋值给b,同样b=(c=100)整个表达式的值也为100,然后又将这个值赋给了a。

在赋值运算符“=”前加上其它运算符,即为扩展赋值运算符。扩展赋值运算符有+=、-=、*=、/=、%=。看下列代码:

int a=5;

a+=10;//相当于a=a+10

System.out.println(a);//结果为15

【字符串连接运算】

“+”可以实现字符串的连接,同时可以实现字符串与其他数据类型的“相连”。看下列代码:

int a=100;

String msg="a="+a;

System.out.println(msg);//a=100

msg=""+100+200;

System.out.println(msg);//结果为:100200,字符型

msg=100+200+"";

System.out.println(msg);//结果为:300,字符型

msg=100+200+""+300;

System.out.println(msg);//结果为:300300,字符型

【条件(三目)运算】

条件运算符又称“三目”运算符,其结构为:boolean表达式 ? 表达式1 : 表达式2

条件运算符的规则如下:

1、先计算boolean表达式;

2、如果boolean表达式的值为true,整个表达式的值为表达式1的值;

3、如果boolean表达式的值为false,整个表达式的值为表达式2的值。

看下列代码:

int a=100,b=200;

int flag=a>b?1:-1;//flag的值为-1

条件运算符可以嵌套使用,所谓嵌套是指在条件(三目)表达式:“boolean表达式 ? 表达式1 : 表达式2”中的表达式1或表达式2也是条件(三目)表达式。看下列代码:

int a=-3;

String r=a>0?"正数":(a==0?"0":"负数");

System.out.println(r);//结果为负数

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180210G0HYKP00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券