java赋值运算是怎么算的_java赋值运算符,算数运算符

1-------java表达式的值的左边值:

a=3;  此赋值表达式的值为3;

计算长串表达式的值的时候,注意从左往右计算。例如

public static void main(String[] args) {

// TODO Auto-generated method stub

int a=1;

//int b=a+(a=2)+a+(a=3);

int k=(a=a+(a+(a=2)+a)+a)+3;

System.out.println(a);

//System.out.println(b);

System.out.println(k);

}

//输出8,11.注意a的值经常改变

2,算术表达式

int a=1;

int b=2;

int c=3;

System.out.println(a+b+c);

//1,找a,2读+,3,找b同时读取后面+判断优先级。4进行运算计算结果和a相加

int i=1;

int j=2;

int k=(i=3)+(j=4)+i*j;

System.out.println(k);

//结果输出19,前面的赋值语句先执行,之后的i*j语句执行的时候数据改变了。

//a%b式子中,由a的符号决定结果的符号,两个数的绝对值提供结果的。

//判断奇数和偶数,不能判断对于1的问题

public static boolean isOdd(int i){

return i % 2 != 0;

}

3,i++和++i运算符

int i=1;

System.out.println(i+++i+++i++);

//6

int i=1;

System.out.println(i++ + ++i+i++ + ++i);

//12

输出结果  6   拆分的时候从后往前拆分。即 i++  +   i++  +  i++  = 1+2+3=6.

++必须是一个变量。

4,关系运算符 ==

int a=10;

int b=10;

double c=10.0;

//左边右边类型一致,直接比较

System.out.println(a==b);

//先将a的值提升为double类型,再比较

System.out.println(a==c);

所以两个都是true

5,小数问题,和int类型赋值给byte类型会报错,因为会损失精读:

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

5;逻辑表达式 &的优先级高于|

所以 true|flase&false  的结果是true

6:三目运算符;

int a=10;

double b=5.0;

System.out.println(a>b?a:b);

首先会类型转换。转化成double,三目运算表达式的值是 10.0

//int类型和boolean类型   只能转化为原始object类型   所以转化为obj类型了。

System.out.println(3>2?1:true);

Object obj=3>2?1:true;

System.out.println(obj);

7:注意赋值表达式:

short i=1;

//第一个表达式会报错,因为int不能赋值给int类型。直接编译不能通过了

i=i+1;

//第二个运算后的结果和左边的类型一致,所以它还是short类型。

i+=1;

8:注意赋值运算符是优先级最低的;

int i=0;

for(int j=0;j<10;j++){

i=i++;

}

System.out.println(i);

//输出的结果还是0

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值