Java SE 数据类型

简介: Java中数据类型主要分为两类,而基本数据类型可分为四类八种

Java SE 数据类型

@[toc]

1、字面常量

public class hello{
   
   
    public static void main(String[]args){
   
   
        System.out.println("hello,world");
    }
}

上述代码中,hello,world是字面常量。

字面常量的分类:

  1. 字符串常量:由 “ ”括起来的,比如 “hello,world”,"123","嗨嗨嗨" 。
  2. 整形常量:程序中直接写的数字,如:123,456。(注意没有小数点)
  3. 浮点数常量:在程序中小数称为浮点数。
  4. 字符常量:有单引号括起来的单个字符,如:'A','1'。
  5. 布尔常量:只有true和false。

2、数据类型

Java中数据类型主要分为两类,如下图:

image.png

而基本数据类型可分为四类八种

image.png

数据类型 关键字 包装类 内存占用
字节型 byte Byte 1 byte
短整型 short Short 2 byte
整形 int Integer 4 byte
长整型 long Long 8 byte
单精度浮点型 float Float 4 byte
双精度浮点型 double Double 8 byte
字符型 char Character 2 byte
布尔型 boolean Boolean 没有明确规定

注意:

  • 在Java中没有32位、64位之分,因此int都占4字节,long都占8字节。
  • 整形和浮点型都是带符号的
  • 整型默认类型为int型,浮点型默认为double

3、变量

3.1概念

在程序中,除了有始终不变的常量外,有些内容可能会经常改变,比如:人的年龄、身高、成绩分数、数学函数的
计算结果等,对于这些经常改变的内容,在Java程序中,称为变量。而数据类型就是用来定义不同种类变量的

3.2格式

数据类型 变量名 = 初始值; 定义方式与C语言中定义方式相同

3.3注意

  • 在给变量设定初始值时,值不能超过对应的数据类型的范围,否则会溢出。
数据类型 范围
byte -128~127
short -32768~32767
int $-2^{31}$~$2^{31}-1$
long $-2^{63}$~$2^{63}-1$
float 有范围,一般不关注
double 有范围,一般不关注
char 0~65535
boolean true和false
  • 长整型变量的初始值后加L或者l,推荐加L,小写l易被看作是数字1。

  • 神奇代码一:

  • int a=1;
    int b=2;
    System.out.println(a/b);//输出结果会是0.5吗?
    
  • 在Java中,int除以int的值任然是int(会直接舍弃小数部分)。想要得到0.5,需要使用double类型计算。

  • double a=1;
    double b=2;
    System.out.println(a/b);//输出0.5
    
  • 神奇代码二:

  • double a=1.1;
    System.out.println(a*a);//结果会是1.21吗
    
  • image.png

  • 浮点数与整数在内存中的存储方式不同,不能单纯使用$2^n$的形式计算。浮点数类型的内存布局遵守 IEEE 754 标准(和C语言一样), 尝试使用有限的内存空间表示可能无限的小数, 势必会存在一定的精度误差,因此浮点数是个近似值,并不是精确值。

  • 计算机中的字符本质上是一个整数。 在 C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符. 因此一个字符占用两个字节, 表示的字符种类更多, 包括中文。

  • boolean类型的变量只有两种取值:true表示真,false表示假。

  • Java的boolean类型不能与int类型之间相互转换,不存在1表示true,0表示false。

3.4类型转换

image.png

3.5类型提升

不同类型的数据之间相互运算时,数据类型小的会被提升到数据类型大的

目录
相关文章
|
4天前
|
存储 缓存 安全
Java中的数据类型
Java语言提供了八种基本类型,分为4类8种:六个数值型(四个整数型byte、short、int、long,两个浮点型float、double)、一个字符型char和一个布尔型boolean。每种基本类型有固定的位数、取值范围及默认值。此外,还存在`void`类型,但无法直接操作。基本类型支持隐式和显式类型转换,并有对应的包装类如`Integer`、`Double`等,用于在需要对象的场景中使用。包装类支持自动装箱与拆箱机制,简化了基本类型与引用类型的转换,但需要注意性能和空指针异常等问题。
Java中的数据类型
|
29天前
|
Java
Java基础之数据类型
Java基础之数据类型
20 6
|
1月前
|
Java
在Java中如何将基本数据类型转换为String
在Java中,可使用多种方法将基本数据类型(如int、char等)转换为String:1. 使用String.valueOf()方法;2. 利用+运算符与空字符串连接;3. 对于数字类型,也可使用Integer.toString()等特定类型的方法。这些方法简单高效,适用于不同场景。
54 7
|
1月前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
61 4
|
1月前
|
存储 消息中间件 NoSQL
使用Java操作Redis数据类型的详解指南
通过使用Jedis库,可以在Java中方便地操作Redis的各种数据类型。本文详细介绍了字符串、哈希、列表、集合和有序集合的基本操作及其对应的Java实现。这些示例展示了如何使用Java与Redis进行交互,为开发高效的Redis客户端应用程序提供了基础。希望本文的指南能帮助您更好地理解和使用Redis,提升应用程序的性能和可靠性。
40 1
|
2月前
|
存储 Java 关系型数据库
[Java]“不同族”基本数据类型间只能“强转”吗?
本文探讨了不同位二进制表示范围的计算方法,重点分析了Java中int和char类型之间的转换规则,以及float与int类型之间的转换特性。通过具体示例说明了显式和隐式转换的条件和限制。
40 0
[Java]“不同族”基本数据类型间只能“强转”吗?
|
2月前
|
Java
JAVA易错点详解(数据类型转换、字符串与运算符)
JAVA易错点详解(数据类型转换、字符串与运算符)
59 4
|
2月前
|
存储 Java 编译器
[Java]基本数据类型与引用类型赋值的底层分析
本文详细分析了Java中不同类型引用的存储方式,包括int、Integer、int[]、Integer[]等,并探讨了byte与其他类型间的转换及String的相关特性。文章通过多个示例解释了引用和对象的存储位置,以及字符串常量池的使用。此外,还对比了String和StringBuilder的性能差异,帮助读者深入理解Java内存管理机制。
28 0
|
3月前
|
Java
java基础(10)数据类型中的整数类型
Java中的整数类型包括byte、short、int和long。整数字面值默认为int类型,加L表示long类型。整数字面值可以是十进制、八进制(0开头)或十六进制(0x开头)。小容量类型(如int)可自动转换为大容量类型(如long),但大容量转小容量需强制转换,可能导致精度损失。
56 2
|
2月前
|
Java 编译器 C++
【编程基础知识】Java基本数据类型
Java的基本类型包括五类九种,涵盖了整型、浮点型、字符型、布尔型和void。成员变量即使未初始化也有默认值,但局部变量必须显式初始化,否则编译会报错。示例代码展示了各种基本类型的默认值和极限值。
42 0