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

运算符与表达式
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、运算符优先级:括号>自增自减>~!>算术运算符>位移运算>关系运算>逻辑运算>条件运算>赋值运算

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值