Java的8种基本数据类型

简介: Java的8种基本数据类型

前言: Java数据类型分为两大类,基本数据类型,引用类型

如图所示:

下面讲解的是Java的八种基本数据类型

一、按照数据类型来分

1、整型->即整数类型

byte,short,int,long

占用存储空间

byte 一个字节=8bit

short 2个字节

int 4个字节

long 8个字节

具体如图所示:

long si=100000000000000L;  //如果不加L则会显示报错,输出结果无L
System.out.println(si);

(1) java中整形变量默认为int型,除非不足以表示较大的数,才会用long型

声明long型时,数字后面要加L或l

整数类型的具体细节:

代码如下:

public class IntDetail {
    public static void main(String[] args) {
        //1.java的整数常量(具体值)默认为int型,声明为long型常量须后加'l'或'L'
        int n1 = 1; //占四个字节
        //int n2=1L; //不对
        long n3 = 1L; //对
    }
}

以下代码,在内存中是怎么存放的,如下:

byte n1 = 3;
short n2 = 3;

内存中,存放的示意图:

2、浮点类型

float,double

float 占用四个字节,声明float型时,数值后面要加“f”,或“F”

double 占用八个字节

float 指的是单精度变量,尾数可以有7位数,精确度较低。

double指的是双精度变量。尾数是float的二倍,所以常用double。

浮点类型说明:

浮点类型使用细节:

具体代码如下:

public class FloatDetail {
    public static void main(String[] args) {
        //Java 浮点类型常量(具体值)默认为double型,声明float型常量,须后加'f'或'F'
        //float num1=1.1; //错误
        float num2 = 1.1F; //对的
        double num3 = 1.1; //对的
        double num4 = 1.1f; //对的
        //十进制数形式:如:5.12  512.0f  .512(必须有小数点)
        double num5 = .123; //等价0.123
        System.out.println(num5); //0.123
        //科学计数法形式:如:5.12e2[5.12*10的2次方] 5.12E-2[5.12/10的2次方]
        System.out.println(5.12e2); //512.0
        System.out.println(5.12E-2); //0.0512
        //通常情况下,应该使用double类型,因为它比float型更精确
        double num9 = 2.1234567851;
        float num10 = 2.1234567851f;
        System.out.println(num9); //输出: 2.1234567851
        System.out.println(num10); //输出: 2.1234567
        //浮点数使用陷阱:2.7 和 8.1/3 比较
        //看一看代码
        double num11 = 2.7;
        double num12 = 8.1 / 3; //2.7
        System.out.println(num11);//2.7
        System.out.println(num12); //输出接近2.7的小数  2.6999999999999997
        //得到一个重要的使用点:当我们对运算结果是小数的进行相等判断时,要小心
        //应该是以两个数的差值的绝对值,在某个精度范围内判断
        if (num11 == num12) { //false
            System.out.println("相等");
        }
        //正确的写法
        if (Math.abs(num11 - num12) < 0.000001) {
            System.out.println("差值非常小,到我的规定精度,认为相等...");
        }
        System.out.println(Math.abs(num11 - num12)); //4.440892098500626E-16
        //细节:如果是直接查询得到的小数,或者是直接赋值,是可以判断相等的
        double num13 = 2.7;
        double num14 = 2.7;
        if (num13 == num14) { //true
            System.out.println("相等");
        }
    }
}

输出结果如下:

0.123
512.0
0.0512
2.1234567851
2.1234567
2.7
2.6999999999999997
差值非常小,到我的规定精度,认为相等...
4.440892098500626E-16
相等

3、字符类型

char 常用单引号放字符

char aa='a';  
char aa='ab';//这个则报错,只能放一个
char ='\n' //换行符
char='\t' //制表符  相当于Tab键 

字符类型的基本介绍:

代码如下:

public class Char01 {
    public static void main(String[] args) {
        char c1 = 'a';
        char c2 = '\t';
        char c3 = '路';
        char c4 = 97;//说明:字符类型可以直接存放一个数字
        System.out.println(c1);
        System.out.println(c2);
        System.out.println(c3);
        System.out.println(c4); //当输出c4的时候,会输出97表示的字符 =>编码的概念
    }
}

输出结果如下:

a
a

字符类型细节如下:

具体代码如下:

public class CharDetail {
    public static void main(String[] args) {
        //在java中,char的本质是一个整数,在默认输出时,是Unicode码对应的字符
        //要输出对应的数字,可以(int)字符
        char c1 = 97;
        System.out.println(c1); //a
        char c2 = 'a'; //输出'a' 对应的数字
        System.out.println((int) c2); //97
        char c3 = '路';
        System.out.println((int) c3);//36335
        char c4 = 36335;
        System.out.println(c4); //路
        //char 类型是可以进行运算的,相当于一个整数,因为它都有对应的Unicode码
        System.out.println('a' + 10); //107
        //测试
        char c5 = 'b' + 1; //98+1 =>99
        System.out.println((int) c5); //99
        System.out.println(c5); //99 -> 对应的字符-> 编码表ASCII(规定好的)=>c
    }
}

输出结果如下:

a
97
36335
107
99
c

字符类型的本质:

面试题:

如果面试官问到ASCII码表,一共有多少个字符?

回答:

ASCII码编码表,每个字符是用一个字节表示的,一共有128个字符,实际最多可以表示256个字符,只用了128个。

Java_常用编码:

ASCII码的介绍如下:

Unicode编码的介绍如下:

UTF-8编码的介绍如下:

4、布尔类型 占用1个字节

boolean

返回的值只能为true或者false,常常在循环结构,或者条件语句中使用

boolean a=true; //表示周末有时间
        if (a){
            System.out.println("周末可以出去嗨皮!");
        }else {
            System.out.println("周末没有时间,不好意思!");
        }

以上是八种基本数据类型的介绍,供大家学习参考,如有不足之处,可在评论区指正!一起学习!


目录
相关文章
|
2月前
|
Java
当Java数据类型遇上“爱情”,会擦出怎样的火花?
当Java数据类型遇上“爱情”,会擦出怎样的火花?
48 1
|
10天前
|
Java
java基础(8)数据类型的分类
Java数据类型分为基本数据类型(8种)和引用数据类型。基本类型包括byte, short, int, long, float, double, boolean, char。每种类型有固定占用空间大小,如int占用4字节。字符编码如ASCII和Unicode用于将文字转换为计算机可识别的二进制形式。
43 2
|
2月前
|
Java 程序员
Java数据类型:为什么程序员都爱它?
Java数据类型:为什么程序员都爱它?
41 1
|
2月前
|
存储 Java
Java数据类型:你究竟有多少面孔?
Java数据类型:你究竟有多少面孔?
33 1
|
2月前
|
Java
【Java基础面试四】、介绍一下Java的数据类型
这篇文章介绍了Java的数据类型,包括8种基本数据类型(整数、浮点、字符、布尔)和3类引用数据类型(数组、类、接口),并提供了基本数据类型所占内存空间和数据范围的详细信息。
|
2月前
|
存储 算法 Java
我与Java数据类型的那场“风花雪月”
我与Java数据类型的那场“风花雪月”
37 0
|
2月前
|
存储 自然语言处理 Java
Java数据类型:为何它如此“撩人”?
Java数据类型:为何它如此“撩人”?
36 0
|
2月前
|
存储 算法 Java
从菜鸟到大神,Java数据类型是如何改变我的人生的?
从菜鸟到大神,Java数据类型是如何改变我的人生的?
28 0
|
10天前
|
存储 Java Windows
java基础(9)数据类型中的char类型以及涉及到的转义字符
Java中的char类型可以存储一个中文字符,因为它占用两个字节。转义字符允许在代码中使用特殊字符,例如`\n`表示换行,`\t`表示制表符,`\\`表示反斜杠,`\'`表示单引号,`\"`表示双引号。可以使用`\u`后跟Unicode编码来表示特定的字符。
25 2
java基础(9)数据类型中的char类型以及涉及到的转义字符
|
10天前
|
Java
java基础(10)数据类型中的整数类型
Java中的整数类型包括byte、short、int和long。整数字面值默认为int类型,加L表示long类型。整数字面值可以是十进制、八进制(0开头)或十六进制(0x开头)。小容量类型(如int)可自动转换为大容量类型(如long),但大容量转小容量需强制转换,可能导致精度损失。
22 2
下一篇
无影云桌面