8种基本数据类型和引用数据类型之整型数据类型

基本数据类型

数据类型在程序语言中占有举足轻重的地位,java的数据类型可分为基本数据类型与引用数据类型
如下图

在这里插入图片描述
在java中想要使用一个变量,就必须先申明,此时编译程序会在未使用的内存空间中寻找一块足够能保存这个变量的空间以供这个变量使用。下图为基本数据类型的基本信息:
在这里插入图片描述
1.整数类型
整数类型占32位,即4字节,范围在-2147483648~2147483647,在编译器中int类型的变量赋予超出范围的数字大小就会报错。

public class TestString {
	   public static void main(String[] args) {
		   int a=99999999999999999999999;
		   System.out.println(a);
		   }
}

运行结果:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
	The literal 99999999999999999999999 of type int is out of range 

	at TestStringChangToInt.TestString.main(TestString.java:6)

结果中的“type int is out of range” 即是超出表示范围的意思。
整型数据的short类型以及long类型同理。

public class TestString {
	   public static void main(String[] args) {
		   int a=Integer.MAX_VALUE;   //Integer为包装类
		   System.out.println("a的最大值:"+a);
		   a=a+1;
		   System.out.println("a的最大值加1,造成的结果:"+a);   
	   }
}
/*
运行结果
a的最大值:2147483647
a的最大值加1,造成的结果:-2147483648
*/

数据溢出:
如上的代码所示,当int类型的变量最大值加1就会变成int类型的最小值,加2时就会变成次小值,即-2147483647。这就是数据的溢出。
强制类型转换:
假如int数据类型溢出,我们可以强制转换类型,避免数据的出错。

public class TestString {
	   public static void main(String[] args) {
		   int a=Integer.MAX_VALUE;
		   System.out.println("a的最大值:"+a);
		   int e=a+1;
		   System.out.println("a的最大值加1,造成的结果:"+e);   
		   long d=a+1L;
		   System.out.println("a为整型,1加上了L为long型:"+d);//俩者相加被强制转换成long型
		   long c=(long)a+1;
		   System.out.println("强制转换a然后加1:"+c);
	   }
}
/*
a的最大值:2147483647
a的最大值加1,造成的结果:-2147483648
a为整型,1加上了L为long型:2147483648
强制转换a然后加1:2147483648
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值