美文网首页
<4> Java的数据类型

<4> Java的数据类型

作者: 小马龙 | 来源:发表于2020-07-11 23:14 被阅读0次

上一节我们把我们的第一个程序运行起来了,这一节我们开始我们Java基础的学习。先对程序的数据类型进行介绍吧。

一、数据类型简介

在Java中,数据类型主要分基本数据类型和引用数据类型,下面来科普一下这两种数据类型到底是什么。

基本数据类型:主要包括整数、浮点数、字符、布尔这四类。
整数:很好理解,就是我们数学里的整数,如1,100,123,......。例如人的岁数,出生年月日,均是整数。
浮点数:这个就是我们数据里的小数,带有小数点的,在Java里叫浮点数而已。如5.2,4.8等等。例如人的身高。
字符:可以把它理解成字,就像“我爱你”,这种就是字符。例如人的姓名
布尔:这个就是我们逻辑中的“是”和“否”,在程序时就是true和false。例如是否为男性。
以上四类就是我们Java中的四类基本数据类型。

引用数据类型:主要包括类、数组、接口这三类。
类:可以理解成一个整体,如人,动物等,由基本数据类型组成,人均有岁数、身高、出生年月日、性别等属性。
数组:可以理解成一种群体的集合,如一群人,这些集合里的个体都是同样类型的。如足球队,都是球员组成。
接口:它是Java的一个抽象概念,为一类群体抽取的一个模型,例如人是一个接口,美国人,中国人就是这个模型创建出来的,具有相同的特征。

上述的解释可能比较抽象,但是大致了解他们的区别即可,不需要完全理解,在后面的开发中慢慢就会理解这些概念了。

二、基本数据类型

我们先从基本数据类型来逐个介绍,并且在程序中如何使用他们。

1、整数

整数主要分:字节、短整数、整数和长整数三种,它们的区别是范围长度不同。
字节的长度为1个字节,数字范围为:-128—127,代码中的标识为byte。
短整数的长度为2个字节,数字范围为:-32768 ~ 32767,代码中的标示为short。
整数的长度为4个字节,数字范围为:-2147483648 ~ 2147483647,代码中的标示为int,这种类型也是Java中的整数的默认类型。
长整数的长度为8个字节,数字范围为:-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807,代码中的标示为long。

注意:不需要去记忆这些整型的具体长度,在日常开发中经常只是使用到int类型而已。
这部分主要需要理解的内容为:整数有分三种,它们的区别是长度,并且三种的符号分别是short、int和long即可。

代码中的使用:

public class HelloWorld {
    public static void main(String[] args) {
        byte bMin = -128;
        byte bMax = 127;
        byte bError = -129;

        short sMin = -32768;
        short sMan = 32767;
        short sError = -32769;

        int iMin = -2147483648;
        int iMax = -2147483648;
        int iError = -2147483649;

        long lMin = -9223372036854775808l;
        long lMax = 9223372036854775807l;
        long lError = -9223372036854775809l;
    }
}

代码解析:


整型代码解析.png

注意:
1、长整型的数字最后为什么需要加一个L,原因是整型的默认类型为int,所以数字-9223372036854775808程序认为是int类型的,所以不加L会报错,加了L就是告诉程序,我这个数字是个长整型的。

2、浮点数(小数)

浮点数主要分:单精度浮点数和双精度浮点数,它们的区别也是范围长度不同。
单精度浮点数的长度为4个字节,float的精度为7~8位有效数字,代码的标示为:float。
双精度浮点数的长度为8个字节,double的精度为16~17位,代码的标示为:double,是Java中浮点数的默认类型。

代码中的使用:

public class HelloWorld {
    public static void main(String[] args) {
        float ff = 2.2;//报错:默认2.2是double类型,精度高于float。高精度向低精度赋值会报错
        float fs = 2.2f;
        double fb = 2.2f; //低精度向高精度赋值是允许的
        double fd = 2.2;
    }
}

代码解析:


浮点型代码解析.png

注意:浮点型的默认类型为双精度浮点数double,所以float的赋值数据需要在数据后面加一个f,告诉程序该数据都float类型。
低精度可以赋值给高精度,但是高精度不能给低精度赋值,否则出现数据失真,丢失精度。

3、字符

字符(char)的长度为2个字节,它是无符号型,范围为0—65535,是一个16位二进制的Unicode字符。

byte与ASCII的关系:

byte的数据对ASCII的字母是对应关系,例如下面程序。

public static void main(String[] args) {
       byte g = 'b';
       System.out.println(g);
}

打印输出为:98,证明'b'字符对应byte数值为98。

byte与char的关系:

我们都知道,char是存字符的,但是其实char也是可以直接存整型,但是其代表的是整型所对应的字符,例如下面代码:

public static void main(String[] args) {
       char i = 85;
       System.out.println(i);
}

打印输出为:U,证明85对应字符为U字符。

4、布尔

布尔类型(boolean),长度为1个字节,其只有两个值:true、flase,没有其他值,true存1,false存0。

以上的则为Java对应的所有基本数据类型。

三、引用数据类型

该部分不需要太理解这部分的数据类型,后续学习过程中,慢慢就能了解到类、数组、接口等概念。

四、数据类型的转换

1、自动转换

2、强制转换

相关文章

网友评论

      本文标题:<4> Java的数据类型

      本文链接:https://www.haomeiwen.com/subject/ufuicktx.html