java 【byte的面试题案例分析】
【摘要】
前言
这里只举例简单的数据类型的byte,其他的数据类型类似。
主要分为 byte的案例分析和数据类型的笔记两部分
正文
byte的案例分析
1. byte n=10+127;
1)分析:
a. 10和127属于字面量,经过javac优化后 byte n=127;
b.n 的类型是by...
前言
这里只举例简单的数据类型的byte,其他的数据类型类似。
主要分为 byte的案例分析和数据类型的笔记两部分
正文
byte的案例分析
1. byte n=10+127;
1)分析:
a. 10和127属于字面量,经过javac优化后 byte n=127;
b.n 的类型是byte,127的类型默认为int,造成数据类型不匹配,那么javac会判断127是否位于byte类型的取值范围之内;若为范围之内将127的类型转换byte,否则报错。
2)原理:
1))127在内存中以32位进行存储,那么赋值号右边的数据类型为整形,与赋值号左边的类型不匹配,需要类型转换。
2))校验127是否位于byte的取值范围之内,如果位于,就将第32位的符号记录在第8位,其他位的截掉;若超过范围,就提示错误。
2.案例2
byte i=10;
byte j=117;
byte m=i+j;//报错
解析:
等值号右边不是常量,而是变量,无法确定其值是否位于bye的取值范围,所以报错。
数据类型的笔记
1.关于char类
文章来源: kunnan.blog.csdn.net,作者:iOS逆向,版权归原作者所有,如需转载,请联系作者。
原文链接:kunnan.blog.csdn.net/article/details/22045025
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)