Java的数据类型

在各个语言中,数据都有自己的类型。Java中数据类型分为两大类,基础数据类型和引用数据类型。

基础数据类型又分为三类:数值型、字符型和布尔型(八大基础数据类型)。

1.数值型又分为整型和浮点类型。

整型中有字节型(byte)、短整型(short)、int(整型)、long(长整型)。

它们都用于存放整数型数据如-10,153,其区别是存放空间不一致。

byte型占1个字节的存储空间,8位二进制数,可表示数的范围是-128-127。

short型占2个字节的存储空间,16位二进制数,可表示数的范围是-32 768~32 767

int型占4个字节的存储空间,32为二进制数,可表示输的范围是–2 147 483 648~2 147 483 647

long型占8个字节的存储空间,64位二进制数,可表示的范围是-2^63-2^63-1。

整型默认的数据类型为int型。

浮点类型用于存放小数,如3.25,-1.234类数据。

浮点型分为两种float(单精度浮点型)和double(双精度浮点型),都用于存放小数,只是其精度不一样,double类型精度更高,当需要存放精度较高的数据时,应设数据类型为double型。

以下是两种类型的存储空间:

float型占4个字节的存储空间,32为二进制数。

double型占8个字节的存储空间,64位二进制数。

2.字符型

在Java中,如果要存放字符,如“A”,和C语言一样,char类型,可存放字符。但其存储空间仅为2个字节,只能存放单个字符(单个英文字母/单个汉字),放在‘ ’单引号中。

Java中的字符编码采用ASCII编码,在投入计算时会转换为ASCII码值。

如:char word=’ b’;

System.out.println(word+1);

此时输出的结果为99;

由于word是字符型,在计算时会转化成对应的ASCII码,b的值在ASCII码表中为98,所以输出结果为99.

ASCII表如下:

Java的数据类型_第1张图片

3.布尔型

布尔型的数据类型名为boolean,其值只有true和false,即真和假。没有具体设置存储空间。常用来表达逻辑判断和循环语句、选择结构中。描述一种非真即假的状态。

字段长度和表数范围受操作系统的影响,保证了Java的可移植性。

引用数据类型

String(字符串)型

上文说到char类型只能存放单个字符,而生活中所有的名称都不可能是单个字符。

于是在Java中我们可以用引用数据类型String来存放字符串型的数据。比如:

String user_Name=”张三”

这里就是定义了一个user_Name的变量,用于存放用户姓名。

字符串是以“ ”双引号括起来,与char型有区别。

当我们再加上字符串时,一般用拼接的方式“+”连接

如:user_Name=user_Name+”丰”

此时的user_Name=”张三丰”

StringBuffer型

该类型的仍然用于存放字符串型的数据,只是在实现拼接时加上一个append即可,StringBuffer的特点是线程同步。线程同步:即当有一个线程在对内存进行操作时,其他线程都不可以对这个内存地址进行操作,直到该线程完成操作, 其他线程才能对该内存地址进行操作,而其他线程又处于等待状态,目前实现线程同步的方法有很多,临界区对象就是其中一种。

StringBuilder型

类型的仍然用于存放字符串型的数据,只是在实现拼接时加上一个append即可,StringBuffer的特点是线程异步。线程异步在访问资源时空闲等待时同时访问其他资源,实现多线程机制。

引用类型主要是接口、数组及自定义类方法组成。

引用数据类型初始值为null.

数据类型的转换

数据类型的转换分为两种自动转换和强制转换。

例1:

System.out.print(180+1223456);

180为short型,1223456为int型。

此时180+1223456自动转换为int型。

自动转型原则为就高不就低,short为2个字节,int4个字节。

当字节数一致时,观察谁的精度更高,便作为数据类型。

例2:

int num=(int)1+2.5;

此时num的值为3,丢掉小数部分,由于强制转换成了int型。

故强制转换时,可能造成精度降低。

小编分类整理了许多java进阶学习材料和BAT面试题,需要资料的请转发此文章后再私聊小编回复【java】就能领取2019年java进阶学习资料和BAT面试题以及《Effective Java》(第3版)电子版书籍。

加群免费获得资料,713226374.

Java的数据类型_第2张图片

你可能感兴趣的:(Java的数据类型)