您的位置:首页 > 编程语言 > Java开发

Java语言基础-4.运算符与表达式

2016-12-29 17:15 218 查看
运算符与表达式

1、数学运算:+ - * / % ++ –

注意事项:

A.+-*/两端的变量必须是同种类型,并返回同种类型 ;

B.%取余运算,负数的余数符号与被模数符号相同,-1%5=-1,1%-5=-1;Num%n, n>0, 结果范围[0,n), 是周期函数。

C.注意整除问题:1/2=0(整数的除法算式整除0.5=0) 1.0/2=0.5 1D/2=0.5

D.单独的前、后自增或自减是没区别的,有了赋值语句或返回值,则值不同。

eg1:自增自减

 int a=1;

 a=a++;

 System.out.println(“a的值:”+a) ;

 第一步:后++,先确定表达式a++的值(当前a的值)a++

 - - ->1

 第二步:++,给a加1 a

 - - ->2

 第三步:最后赋值运算,把a++整个表达式的值赋给a

 - - ->1

 a被赋值两次,第一次a=2,第二次把1赋值给1。

 

eg2:自增自减

 x,y,z分别是5,6,7 计算z+=–y*z++;

 //x=5,y=5,z=42

 z=z+–y*z++;

 - - ->42=7+5*7

 从左到右入栈,入的是值

eg3:取出数字的每一位

 d=num%10;//获取num的最后一位数

 num/=10;//消除num的最后一位

2、位运算:& | ~(取反) ^(异或) >> << >>>

注意事项:

 *一个数异或同一个数两次,结果还是那个数。

 *|:上下对齐,有1个1则为1;&:上下对齐,有1个0则为0;(都为二进制)

 *&相当于乘法,|相当于加法;&:有0则为0,|:有1则为1,^:两数相同为0,不同为1。

3、关系运算符:> < >= <= == !=

4、逻辑运算符:&& || ! & |

 eg:短路运算:&&:前边为false,则后边不计算,||:前边为true则后边不计算。

 int x=1,y=1,z=1;

 if(x–==1&&y++==1||z++==1)

 //||短路运算后面的不执行了。

 System.out.println(“x=”+x+”,y=”+y+”,z=”+z);

 //0,2,1 

5、赋值运算符:= += -= *= /= %=

 eg:正负1交替

 int flag=-1;

 System.out.println(flag*=-1);

6、条件运算符(三目运算)

 表达式1?表达式2:表达式3

 注意事项:

 *右结合性:a>b?a:i>j?i:j相当于a>b?a:(i>j?i:j)

 *三目运算符中:表达式2和表达式3中如果都为基本数据类型,整个表达式的运算结果由容量高的决定。如:int x=4; x>4?99.9:9 ;,99.9为double类型,9为int类型。double容量高,所以结果为9.0。

 

7、运算符优先级:括号>自增自减>~!>算术运算符>位移运算>关系运算>逻辑运算>条件运算>赋值运算
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java