变量就是申请内存来存储值,就是在创建变量的同时,需要在内存中申请空间
内存管理系统根据变量的类型分配存储空间,分配的空间只能用来存储该类型数据
Java的俩大数据类型:
-
内置数据类型
-
引用数据类型
内置数据类型
Java语言提供八种基本类型。六种数字类型、一种字符类型、一种布尔型
-
整数类型(整数值):
-
byte:1 字节,范围为 -128 到 127。
-
short:2 字节,范围为 -32,768 到 32,767。
-
int:4 字节,范围为 -2,147,483,648 到 2,147,483,647。
-
long:8 字节,范围为 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。
-
-
浮点数类型(浮点数值):
-
float:4 字节,范围为 ±3.40282347e+38F,具有约 6-7 位小数的精度。
-
double:8 字节,范围为 ±1.79769313486231570e+308,具有约 15 位小数的精度。
-
-
字符类型:
-
char:2 字节,表示单个 Unicode 字符,范围为 '\u0000' 到 '\uffff'。
-
-
布尔类型:
-
boolean:表示真(true)或假(false)。
-
这些基本数据类型提供了一种直接存储和操作数据的方式。它们在内存中分配的空间大小是固定的,不同类型的数据可以进行不同的计算和操作。在使用基本数据类型时,需要注意其范围和精度,以及适合的使用场景。
此外,Java还提供了一些特殊的数据类型,如字符串类型 String
,用于表示文本数据。字符串不是基本数据类型,但在实际开发中广泛使用。
以下是一个简单的学习例子,通过学习可以得知如何声明和使用基本数据类型:
public class 数据类型示例 {
public static void main(String[] args) {
byte myByte = 10;
short myShort = 100;
int myInt = 1000;
long myLong = 1000000L;
float myFloat = 3.14F;
double myDouble = 3.14159;
char myChar = 'A';
boolean myBoolean = true;
System.out.println("字节型: " + myByte);
System.out.println("短整型: " + myShort);
System.out.println("整型: " + myInt);
System.out.println("长整型: " + myLong);
System.out.println("单精度浮点型: " + myFloat);
System.out.println("双精度浮点型: " + myDouble);
System.out.println("字符型: " + myChar);
System.out.println("布尔型: " + myBoolean);
}
}
通过上述示例,我们可以看到不同基本数据类型的声明和初始化方式,并输出其对应的值。使用适当的基本数据类型可以有效地管理和操作数据,提高代码的效率和性能。
引用数据类型
概念:在Java中,引用数据类型是一种用于存储对象引用的数据类型。与基本数据类型不同,引用数据类型并不直接存储实际的数据值,而是存储指向对象在内存中存储位置的引用。引用数据类型包括类、接口、数组和枚举。所有引用类型的默认值都是null。
以下是常见的引用数据类型:
-
类(Class):类是用户自定义的引用数据类型,用于描述具有相似特征和行为的对象。类由属性(成员变量)和方法组成,可以创建多个对象实例。
-
接口(Interface):接口是一种规范,定义了一组方法的契约,但不提供实现。类可以实现(implement)一个或多个接口,从而获得接口定义的方法。
-
数组(Array):数组是用于存储相同类型的多个元素的容器。数组的大小在创建时确定,可以通过索引访问和修改数组元素。
-
枚举(Enum):枚举是一种特殊的引用数据类型,用于表示一组固定的常量。枚举常常用于表示有限的可能性,如星期几、颜色等。
-
String(字符串):String 是 Java 中的一个特殊引用数据类型,用于表示文本数据。String 类提供了许多字符串操作的方法,例如连接、截取、替换等。
-
包装类(Wrapper Classes):包装类是一种将基本数据类型封装为对象的引用数据类型。每个基本数据类型都有对应的包装类,例如 Integer、Double、Boolean 等,用于在需要对象的上下文中使用基本数据类型。
-
集合类(Collection Classes):集合类是用于存储和操作一组对象的引用数据类型。Java 提供了许多集合类,如 ArrayList、LinkedList、HashSet、HashMap 等,用于实现不同的集合数据结构和操作。
引用数据类型的应用场景广泛,主要包括以下几个方面:
-
对象建模和封装:引用数据类型的主要应用是通过类来建模和封装现实世界中的对象。通过定义类和使用引用数据类型,可以描述和操作对象的属性和行为。
-
抽象和多态:接口是引用数据类型的一种形式,它可以用于实现抽象和多态的概念。通过定义接口,可以将不同的类组织在一起,并以统一的方式进行访问和操作。
-
数据集合和处理:数组是引用数据类型的一种形式,用于存储多个元素。数组提供了便捷的数据集合和处理方式,可以对元素进行访问、遍历和修改。
引用数据类型的特点包括:
-
内存动态分配:引用数据类型的对象在运行时动态分配内存,可以根据需要创建和销毁对象。
-
对象引用:引用数据类型的变量存储的是对象的引用,而不是对象本身。通过引用,可以访问和操作对象的属性和方法。
-
对象的生命周期:引用数据类型的对象的生命周期由垃圾回收器控制。当对象不再被引用时,垃圾回收器将自动回收该对象所占用的内存。
引用数据类型在Java中提供了更灵活和复杂的数据处理能力。通过合理使用引用数据类型,可以构建丰富的对象模型,并实现抽象、封装和多态等面向对象编程的特性。
Java中常量
在Java中,常量是指在程序执行期间不可更改的固定值。常量在程序中使用时保持不变,并且具有固定的取值。Java提供了几种定义常量的方式:
-
字面常量:字面常量是直接写入代码中的常量值。例如,整数常量
10
、浮点数常量3.14
、字符常量'A'
、字符串常量"Hello"
等都属于字面常量。 -
final关键字:使用
final
关键字可以将变量声明为常量。一旦将变量声明为final
,其值就不能再改变。例如:final int MAX_VALUE = 100; final double PI = 3.14; final String GREETING = "Hello";
-
枚举(Enum):枚举是一种特殊的常量类型,用于定义一组固定的常量值。枚举常量在定义时就确定,并且可以通过枚举类型访问。例如:
enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY; }
使用常量的好处包括:
-
可读性:使用常量可以使代码更易读和理解,因为常量的含义明确且不会改变。
-
可维护性:通过使用常量,如果需要更改常量的值,只需要修改常量的定义处,而不需要在整个代码中查找和修改。
-
安全性:将某些值声明为常量可以防止其在程序执行过程中被修改,提高程序的安全性。
在开发中,常量常用于存储不会改变的配置值、固定的数学常量、枚举值等。通过使用常量,可以提高代码的可读性、可维护性和安全性。
在Java中,常量的命名规则通常遵循以下约定:
-
全部大写:常量的名称通常使用大写字母,多个单词之间使用下划线(_)分隔。例如:
MAX_VALUE
,PI
,GREETING
. -
描述性名称:**常量的名称应具有描述性,能够清晰地表达常量所代表的含义。使用有意义的单词或短语来命名常量,以便其他开发人员能够理解其用途。**
-
遵循命名约定:常量的命名应遵循Java的命名约定,例如使用驼峰命名法(Camel Case)或下划线命名法(Snake Case)。在驼峰命名法中,多个单词的首字母小写,后续单词的首字母大写,如
myVariableName
。在下划线命名法中,所有字母都小写,并使用下划线分隔单词,如my_variable_name
。但是Java中命名约定建议将常量的名称全部大写,并使用下划线分隔单词,以便清晰地区分常量和其他标识符。 -
常量修饰词:为了进一步明确常量的特性,可以使用修饰词
final
来声明常量。这样可以确保常量的值在初始化后不会被修改。
以下是一些符合常量命名规则的示例:
final int MAX_VALUE = 100;
final double PI = 3.14;
final String GREETING_MESSAGE = "Hello";
使用全大写和下划线命名常量的好处是,它们更容易与其他标识符(如变量和方法)进行区分,从而提高代码的可读性和可维护性。此外,全大写的常量名称也是一种约定俗成的做法,使得其他开发人员更容易识别和理解代码中的常量。
结尾语:记录于2023年7月11日12点37分,以上仅为个人在菜鸟教程Java的学习过程中遇到的问题,还有记录的个人想法,有错误欢迎指出,感谢!