【JavaSE学习笔记】赋值运算符
来源:互联网 发布:java导出txt文件 编辑:程序博客网 时间:2024/06/05 06:19
·赋值运算符
A:基本赋值运算符:
B:扩展的赋值运算符:+=, -=, /=, %=
另外几个功能相同
C:面试题:
1----short s = 1; s = s + 1;
2----short s = 1; s += 1;
这两行代码有没有问题,如果有,哪里有问题?
1)有问题,具体解释如下:
2)正确
D:面试题:
byte b1 = 3, b2 = 4, b;
b = b1 + b2;
b = 3 + 4;
哪句编译失败?为什么?
1为变量相加:先看数据类型,看是否有默认转换,有的话,必须强制类型转换
2为常量相加:先相加,然后得到结果看其是否在byte(-128~127)范围内,在的话就不会报错
E:面试题:
byte b = 130;
有没有问题?如果我想让赋值正确,可以怎么做?结果是多少?
1)有问题:
2)正确写法:
3)计算输出结果:
∵计算机底层对数据进行计算都是通过补码计算的
∴首先计算出130的二进制原码:
00000000 00000000 00000000 10000010
由于最高位符号位为0,为正数,因此正数原码、反码、补相同码
将130强制转换为byte类型,(int类型4个字节,byte类型1个字节),因此byte类型的130补码为:
10000010(最高位符号位为1,所以为负)
已知补码求反码(负数的补码为反码+1),所以反码为:
补码:1 0000010
-1
反码:1 0000001
已知反码求原码(负数的反码是由原码对位取反得到的),所以原码为:
原码:1 1111110
转换为十进制为:- (64 + 32 + 16 + 8 + 4 +2) = -126
所以输出结果为-126,下面验证:
阅读全文
1 0
- 【JavaSE学习笔记】赋值运算符
- javaSE学习笔记之运算符
- [javase学习笔记]-2.8 运算符
- 【JavaSE学习笔记】算术运算符
- 【JavaSE学习笔记】位运算符
- 学习笔记---赋值运算符与逗号运算符
- java学习笔记(算数运算符 赋值运算符 )
- JavaSE笔记02:运算符
- JavaSE学习(3)运算符
- C++primer学习笔记-----4.4赋值运算符
- swift笔记-赋值运算符
- Shell学习笔记---变量赋值与运算
- C语言学习笔记 赋值运算
- JavaSE 学习参考:算术运算符
- JavaSE 学习参考:关系运算符
- JavaSE 学习参考:位运算符
- javaSE学习04_运算符
- Java学习笔记(运算符/Java的算术运算符/赋值运算符/比较运算符/逻辑运算符)
- firewalld的配置
- java第一天第二天学习总结
- 30_面向对象_03_类和对象的关系_写出第一个类
- js如何在数字前填0
- Leetcode——139 Word Break && 140 Word BreakII
- 【JavaSE学习笔记】赋值运算符
- 插件化开发,插件化开发和热修复
- 直接双击启动tomcat中的startup.bat闪退
- 镜像复制+copy命令+镜像复制案例
- 将罗马数字转化为整数
- 树莓派学习随笔(一)
- U-Boot启动过程完全分析
- Android开发之Paint的高级使用
- bootstrap的简单用法