Java SE学习:数据类型与变量

需积分: 5 0 下载量 93 浏览量 更新于2024-08-05 收藏 3KB MD 举报
"JavaSE学习第三天的笔记,涵盖了变量、数据类型、基本数据类型与引用数据类型的区别,以及各种数据类型的存储范围。" 在Java编程语言中,数据类型是编程的基础,它们分为两大类:基本数据类型(Primitive Data Types)和引用数据类型(Reference Data Types)。基本数据类型包括整数型、小数型、逻辑型和字符型,而引用数据类型主要包括类、接口和数组。 1. **基本数据类型** - 整数型:包括`byte`, `short`, `int`, 和 `long`。它们各自有不同的存储大小和取值范围: - `byte`:占用1字节(8位),取值范围是-128到127。 - `short`:占用2字节,取值范围是-32768到32767。 - `int`:占用4字节,取值范围是-2^31到2^31-1。 - `long`:占用8字节,取值范围是-2^63到2^63-1。 - 小数型:包含`float`和`double`。它们用于表示浮点数: - `float`:占用4字节,通常精度较低,但比`double`节省空间。 - `double`:占用8字节,提供更高的精度。 - 逻辑型:`boolean`,只有两个取值,`true`或`false`,占用1字节。 - 字符型:`char`,占用2字节,可以表示Unicode字符,包括汉字,范围是U+0000到U+FFFF。 2. **引用数据类型** - 引用数据类型主要包含类实例、接口实例和数组。其中,`String`是一个特殊的类,用于表示字符串。所有对象(包括自定义类的实例和数组)都是引用类型。 - 对于基本数据类型的包装类,如`Byte`, `Short`, `Integer`, `Long`, `Float`, `Double`, `Boolean` 和 `Character`,它们提供了对基本数据类型的封装,便于进行对象操作和一些特定的计算。 - 数组也是引用类型,它可以存储同一类型的多个值。 3. **类型转换** - 自动类型转换( Widening Conversion):当一个较小的数据类型赋值给一个较大的数据类型时,如`byte`到`int`,Java会自动进行转换,不会丢失数据。 - 强制类型转换(Narrowing Conversion):将较大数据类型转换为较小数据类型时,如`double`到`int`,需要使用强制类型转换。这可能会导致数据丢失,因为不是所有`double`的值都能精确地表示为`int`。 例如,以下代码展示了不同类型的最大最小值: ```java class TestInt06 { public static void main(String[] args) { // 输出各种基本数据类型的最大最小值 System.out.println(Byte.MAX_VALUE); // 输出byte的最大值 System.out.println(Byte.MIN_VALUE); // 输出byte的最小值 // 类似的,输出其他类型的最大最小值... } } ``` 在实际编程中,了解这些数据类型的特性和转换规则是非常重要的,它可以帮助我们避免潜在的错误,比如精度丢失、溢出等问题,并有效管理内存使用。理解数据类型的使用不仅能够提高代码质量,还能优化程序性能。