java 正整数类型_跟我学java编程—认识java的整数类型

本文详细介绍了Java中的整型数据类型,包括byte、short、int、long,以及它们的存储空间和数值范围。通过示例说明了整型常量的三种表示形式:十进制、八进制和十六进制,并展示了整型溢出的现象。在编程时,应合理选择数据类型并注意数值范围,避免溢出问题。
摘要由CSDN通过智能技术生成

Java语言中,基本的整型数据类型有byte、short、int、long四种类型,用于需要不同存储空间的数据使用。整型有正整数和负整数之分,在Java语言中,规定整型的最高位为符号位,最高位为“0”表示正数,最高位为“1”表示负数,其它位表示数值。因此整型类型的数据能够表示的最小值为:-2n-1 —2n-1-1(n为该类型所占存储空间的二进制位数)。

e2cfae941fdb23aa31c4e0965457fb3c.png

其中,byte占用一个字节的存储空间,可表示的最小数值为-128,最大数值为127;

short占用二个字节的存储空间,可表示的最小数值为-32768,最大数值为32767;

int占用四个字节的存储空间,可表示的最小数值为-2147483648,最大数值为2147483647;

long占用四个字节的存储空间,可表示的最小数值为-9223372036854775808,最大数值为9223372036854775807。

整型变量可按如下方式声明:

baf5bb877dcd9471514995abce2af56c.png

在一条语句中,可以声明多个同一类型的整型变量,每个变量之间用英文逗号分隔:

7150a09470176ea07f3f89d28382891e.png

整型变量可按如下方式初始化:

c7f2962d27ee4b9b0475a307ea20bf38.png

在初始化变量或为变量赋值时,常常会用到一些数值,这些值通常称为常量。Java语言中整型常量有三种不同的表示形式:十进制、八进制和十六进制。

① 八进制整型常量:在八进制数值前面加前缀数字0,其数码取值为0—7,例如:023、0457、01329等;

② 十六进制整型常量:前缀为“0X”或“0x”,数码取值0—9、A—F、或a—f。例如:0X2A、0XA0、0Xffff等;

③ 十进制整型常量:既无前缀也无后缀。例如:236、56、7890等。

示例1: 整型常量声明:

8e417b3d636cfc96c0f8f3a096311e39.png

当整型数据数值大小超出了可以表示的范围,而程序中又没有做数值范围的检查时,这个整型变量所输出的值将发生紊乱,且不是预期的运行结果,这种现象称为溢出。

示例2:int类型的溢出

在D盘Java目录下,新建“OverFlow.java”文件。用记事本打开“OverFlow.java”文件,输入以下代码:

82bdd6afdc6a123dca321cb1f77b744c.png

编译“OverFlow.java”文件,在命令行窗口输入“javac OverFlow.java”并执行命令,编译器显示如下信息:

1627a59e74b8bda79bf8fcdf65c99912.png

编译器给出过大的整数错误信息,num的数值明显超出的int所能表示的最大值。

示例2:byte类型的溢出

在D盘Java目录下,新建“ByteOverFlow.java”文件。用记事本打开“OverFlow.java”文件,输入以下代码:

f93121cff831943dec43810f10f9326d.png

编译“ByteOverFlow.java”文件,在命令行窗口输入“javac ByteOverFlow.java”并执行命令,编译器显示如下信息:

fc47acd29370a62e5d90ef257e5dcc7f.png

编译器给出可能损失精度的错误信息,原因是byte变量的最大值为127,数值129超出了byte所能表示的范围。编译器将数值129赋值给byCode时,将129强制转换为byte所能表示的范围,因此报出损失精度的错误信息。

程序声明的所有变量都要占用程序运行存储空间,对程序运行存储空间比较小的单片机、手机等设备,在程序设计时,要充分考虑变量所占的存储空间对内存空间的影响,使用byte可以表示的数值范围尽量不要用int类型,更不能使用long类型,在赋值时,一定要判断数值的范围大小,以免发生数值溢出问题。

08aca4e762aa579fe566fd4fbd634365.png

(1)要存储一个long型的值,需要()字节的存储空间。

A.4

B.8

C.2

D.1

(2)程序需要存储一个数值为128的常量,可用的占用存储空间最小的的数据类型为()。

A. byte

B . long

C. int

D.short

(3)在Java语言中,数值128用十六进制表示为()。

A.80H

B.0X80

C.80

D.080

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值