java基础-03基本数据类型

在Java中有8中基本数据类型来存储数值、字符和布尔值,分别为byteshortintlongfloatdoublecharboolean

下面来介绍每一种基本数据类型(概念真的不想学TAT,现在的复习就是之前偷懒的惩罚~~)

首先是存储数值的整数类型(byte、short、int、long)和浮点类型(float、double)

1.整数类型

整数类型是用来存储整数数值,即没有小数点的数值,可以是正数,也可以是负数,整型数据根据所占内存大小不同,可分为byte、short、int、long四种类型:

1)byte

所占内存空间为8位(8位等于1字节),因此该类型取值范围为-2^7~2^7-1,即取值范围为-128~127。

(注1:关于为什么是2的7次方而不是3的或者其他的7次方,是因为1个比特(bite)位只有1和0的二进制表示,可以理解为一扇门非开即关,只有两种情况。因此所占内存为8个比特位就是指8个每个非开即关的门,以下类型同理)

(注2:关于为什么是2的7次方而不是2的8次方,是因为带符号情况下,最高位是符号位,因此,一共只有7个比特位用来实际计数,以下类型同理)

2)short

所占内存空间为16位即两个字节,因此该类型取值范围为-2^15~2^15-1,即取值范围为-32768~32767。

3)int

所占内存空间为32位即4个字节,因此该类型取值范围为-2^31~2^31-1,即取值范围为-2147483648~2147483647

4)long

所占内存空间为64位即8个字节,因此该类型取值范围为-2^63~2^63-1,即取值范围为-9223372036854775808~9223372036854775807

因此赋值时,需要注意变量的取值范围,超出相应的范围会出错。

public class Number {

	public static void main(String[] args) {
		byte inbyte=127;//赋值byte取值范围内正常
//		byte outbyte=128;//超出byte取值范围报错
		
		short inshort=32767;//赋值short取值范围内正常
//		short outshort=32768;//超出short取值范围报错
		
		int inint=2147483647;//赋值int取值范围内正常
//		int outint=2147483648;//超出int取值范围报错
		
		/*
		 * 对于long整型,若赋的值大于int型的最大值或小于int型最小值,则需要在数字后加L或l
		 * */
		long inlong=9223372036854775807l;//赋值long取值范围内正常
//		long outlong=9223372036854775808l;//超出long取值范围报错

	}

}

 

2.浮点类型 

什么叫浮点?查了一下百度(百度大法好)解释是相对于定点数而言,浮点数利用指数使小数点的位置可以根据需要而上下浮动,从而可以灵活地表达更大范围的实数。

在这里我把它简单理解为有小数部分的数字。

浮点类型也可以分为两种类型:单精度浮点类型(float)和双精度浮点类型(double)

1)float

所占内存空间为32位即4个字节,单精度浮点数可以表示的范围为1.4E-45~3.4028235E38

2)double

所占内存空间为64位即8个字节,多精度浮点数可以表示的范围为4.9E-324~1.7976931348623157E308

由于小数在默认情况下都被看作多精度浮点数double型,因此在使用double型小数时,可用后缀d或者D来表示,也可以不加后缀,但在使用float型小数时,必须加f或者F,不然定义变量时,该小数会被认为是double型从而报错。

3.字符类型

字符类型(char)用于存储单个字符,占用16位内存,即2个字节,需要注意的是,定义字符时,要用单引号表示,如果用双引号,则定义的是字符串。

public class Char {

	public static void main(String[] args) {
		char a='s';//单引号表示定义字符,可正常定义
//		char a="t";//双引号表示定义字符串,这里报错了
		String r="u";//字符串要用String正常定义

	}

}

4.布尔类型

布尔(boolean)类型又称逻辑类型,只有true和false,通常用作判断条件

例如以下实例

boolean t=true;
boolean f=false;

猜你喜欢

转载自blog.csdn.net/dream_18/article/details/115053547