Java数据类型

简介: 笔记

一、基本数据类型


基本类型表示简单的数据,基本类型分为4大类,共8种数据类型。


整数类型:byte、short、int和long

浮点类型:float和double

字符类型:char

布尔类型:boolean

基本数据类型如图

30.png


二、整型类型


Java中整数类型包括:byte、short、int和long ,它们之间的区别仅仅是宽度和范围的不 同。

31.png

Java语言的整型类型默认是int类型,例如16表示为int类型常量,而不是short或byte,更不是long,long 类型需要在数值后面加l(小写英文字母)或L(大写英文字母),示例代码如下:

public class HelloWorld {
    public static void main(String[] args) {
            // 声明整数变量
            // 输出一个默认整数常量
        System.out.println("默认整数常量 = " + 16);
        byte a = 16;
        short b = 16;
        int c = 16;
        long d = 16L; 
        long e = 16l;
        System.out.println("byte整数 = " + a);
        System.out.println("short整数 = " + b);
        System.out.println("int整数 = " + c);
        System.out.println("long整数 = " + d);
        System.out.println("long整数 = " + e);
    }
}


在程序代码中,尽量不用小写英文字母l,因为它容易与数字1混淆


三、浮点类型


浮点类型主要用来储存小数数值,也可以用来储存范围较大的整数。它分为浮点数(float)和双精度 浮点数(double)两种,双精度浮点数所使用的内存空间比浮点数多,可表示的数值范围与精确度也 比较大。

32.png

Java语言的浮点类型默认是double类型,例如0.0表示double类型常量,而不是float类型。如果想要表示 float类型,则需要在数值后面加f或F,上double浮点数值后面 也可以加字母d或D,以表示是double浮点数,示例代码如下:

public class HelloWorld {
    public static void main(String[] args) {
        // 声明浮点数
        // 输出一个默认浮点常量
         System.out.println("默认浮点常量 = float myMoney = "+360.66f);
        float myMoney = 360.66f;
        double yourMoney = 360.66;
        final double PI = 3.14159d;
        System.out.println("float整数 = " + myMoney);
        System.out.println("double整数  = " + yourMoney);
        System.out.println("PI = " + PI);
    }
}


四、字符类型


字符类型表示单个字符,Java中char声明字符类型,Java中的字符常量必须用单引号括起来的单个字 符,如下所示:

char c = 'A';

Java字符采用双字节Unicode编码,占两个字节(16位),因而可用十六进制(无符号的)编码形式表 示,它们的表现形式是\un,其中n为16位十六进制数,所以’A’字符也可以用Unicode编码’\u0041’表示

代码如下:

public class HelloWorld {
    public static void main(String[] args) {
        char c1 = 'A';
        char c2 = '\u0041';
        char c3 = '花';
        System.out.println(c1); 
        System.out.println(c2);
        System.out.println(c3);
    }
}

运行结果:

A
A

在Java中,为了表示一些特殊字符,前面要加上反斜杠(\),这称为字符转义。

34.png

代码如下:

        //在Hello和World插入制表符
         String specialCharTab1 = "Hello\tWorld.";
        // 在Hello和World插入制表符,制表符采用Unicode编码\u0009表示
         String specialCharTab2 = "Hello\u0009World.";
        // 在Hello和World插入换行符
         String specialCharNewLine = "Hello\nWorld.";
        //在Hello和World插入回车符
         String specialCharReturn = "Hello\rWorld.";
        // 在Hello和World插入双引号
         String specialCharQuotationMark = "Hello\"World\".";
        // 在Hello和World插入单引号
         String specialCharApostrophe = "Hello\'World\'.";
        // 在Hello和World插入反斜杠
         String specialCharReverseSolidus = "Hello\\World.";
        System.out.println("水平制表符tab1: " + specialCharTab1);
        System.out.println("水平制表符tab2: " + specialCharTab2);
        System.out.println("换行: " + specialCharNewLine);
        System.out.println("回车: " + specialCharReturn);
        System.out.println("双引号: " + specialCharQuotationMark);
        System.out.println("单引号: " + specialCharApostrophe);
        System.out.println("反斜杠: " + specialCharReverseSolidus);


五、布尔类型


在Java语言中声明布尔类型的关键字是boolean,它只有两个值:true和false。

boolean isMan = true; 
boolean isWoman = false;


六、数值类型相互转换


数值类型包括了byte、short、char、int、long、float和double,这些数值类型之间的转换有 两个方向:自动类型转换和强制类型转换。

1)自动类型转换

自动类型转换就是需要类型之间转换是自动的,不需要采取其他手段,总的原则是小范围数据类型可 以自动转换为大范围数据类型,列类型转换顺序如图所示,从左到右是自动。

35.png

自动类型转换不仅发生在赋值过程中,在进行数学计算时也会发生自动类型转换,在运算中往往是先 将数据类型转换为同一类型,然后再进行计算。

代码如下:

// 声明整数变量
         byte byteNum = 16;
         short shortNum = 16;
         int intNum = 16;
         long longNum = 16L;
        // byte类型转换为int类型
         intNum = byteNum;
        // 声明char变量
        char charNum = '花';
        // char类型转换为int类型
         intNum = charNum;
        // 声明浮点变量
        // long类型转换为float类型
         float floatNum = longNum;
        // float类型转换为double类型
         double doubleNum = floatNum;
        //表达式计算后类型是double
         double result = floatNum * intNum + doubleNum / shortNum;

2)强制类型转换

在数值类型转换过程中,除了需要自动类型转换外,有时还需要强制类型转换,强制类型转换是在变 量或常量之前加上“(目标类型)”实现,示例代码如下:

//int型变量 
int i = 10; 
//把int变量i强制转换为byte 
byte b = (byte) i;


七、引用数据类型


在Java中除了8种基本数据类型外,其他数据类型全部都是引用(reference)数据类型,引用数据类型 用了表示复杂数据类型,如图所示,包含:类、接口和数组声明的数据类型。

36.png

引用数据类型示例如下:

int x = 7; 
int y = x;
String str1 = "Hello"; 
String str2 = str1; 
str2 = "World";
相关文章
|
3月前
|
Java
当Java数据类型遇上“爱情”,会擦出怎样的火花?
当Java数据类型遇上“爱情”,会擦出怎样的火花?
55 1
|
2月前
|
Java
java基础(8)数据类型的分类
Java数据类型分为基本数据类型(8种)和引用数据类型。基本类型包括byte, short, int, long, float, double, boolean, char。每种类型有固定占用空间大小,如int占用4字节。字符编码如ASCII和Unicode用于将文字转换为计算机可识别的二进制形式。
74 2
|
3月前
|
Java 程序员
Java数据类型:为什么程序员都爱它?
Java数据类型:为什么程序员都爱它?
54 1
|
3月前
|
存储 Java
Java数据类型:你究竟有多少面孔?
Java数据类型:你究竟有多少面孔?
38 1
|
3月前
|
存储 算法 Java
我与Java数据类型的那场“风花雪月”
我与Java数据类型的那场“风花雪月”
46 0
|
3月前
|
存储 自然语言处理 Java
Java数据类型:为何它如此“撩人”?
Java数据类型:为何它如此“撩人”?
44 0
|
3月前
|
存储 算法 Java
从菜鸟到大神,Java数据类型是如何改变我的人生的?
从菜鸟到大神,Java数据类型是如何改变我的人生的?
32 0
|
18天前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
41 4
|
16天前
|
存储 消息中间件 NoSQL
使用Java操作Redis数据类型的详解指南
通过使用Jedis库,可以在Java中方便地操作Redis的各种数据类型。本文详细介绍了字符串、哈希、列表、集合和有序集合的基本操作及其对应的Java实现。这些示例展示了如何使用Java与Redis进行交互,为开发高效的Redis客户端应用程序提供了基础。希望本文的指南能帮助您更好地理解和使用Redis,提升应用程序的性能和可靠性。
31 1
|
1月前
|
存储 Java 关系型数据库
[Java]“不同族”基本数据类型间只能“强转”吗?
本文探讨了不同位二进制表示范围的计算方法,重点分析了Java中int和char类型之间的转换规则,以及float与int类型之间的转换特性。通过具体示例说明了显式和隐式转换的条件和限制。
36 0
[Java]“不同族”基本数据类型间只能“强转”吗?
下一篇
无影云桌面