标签:java int 数据类型 long 答疑 类型 Java overflow
1.java包含哪两类数据类型,其中基本数据类型的取值范围和默认值时多少?
数据类型可划分为基本类型和复合类型
基本类型:
整数类型:byte(8位),short(16),int(32) , long(64)
浮点类型:float ,double
字符类型:char(16位无符号整数,使用Unicode字符集)
布尔类型:boolean(值为true或false,C++ 的布尔类型是bool)
复合数据类型:
class(类),interface(接口),数组
数据类型 | 默认值 | 取值范围 |
byte | 0 | -2^7~2^7-1 |
short | 0 | -2^15~2^15-1 |
int | 0 | -2^31~2^31-1 |
long |
0L |
-2^63~2^63-1 |
float | 0.0f | —— |
double | 0.0d | —— |
char | \u000 | —— |
boolean | false | —— |
2.Java在什么情况会发生整型溢出?请举例说明,并给出解决方案。
Java进行两个数字的数学运算时容易发生整形溢出。这主要是因为int类型的取值范围导致的,举例:
public static void main(String[] args) { int m = Integer.MAX_VALUE/2+1; //1073741824 int n = Integer.MAX_VALUE/2+1; int overflow = m + n; System.out.println(overflow); //-2147483648 }
这段代码便存在整型溢出。
解决方案:将overflow定义为long,并对m+n进行强转。
3.Java基本类型的包装类分别是哪些?其高频区间数据缓存范围分别是什么?请选择一种包装类型编程验证其数据缓存特性。
标签:java,int,数据类型,long,答疑,类型,Java,overflow 来源: https://www.cnblogs.com/averyfork/p/15405036.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。