1.字面值
- 在Java中,字面值 是指直接出现在程序中的 固定值,例如整数、浮点数、布尔值和字符串。
- 字面值不需要任何变量来存储,也不需要任何计算或转换。字面值可以直接在程序中表示,例如:
int a = 10; //整数字面值 double b = 3.14; //浮点数字面值 boolean c = true; //布尔值字面值 String d = "Hello, World!"; //字符串字面值
在上面的代码中,数字10、3.14、布尔值true和字符串"Hello, World!"都是字面值。
2.常量
在Java中,常量是指 赋过值后不能再改变 的变量。常量是一种特殊的变量。
常量的值通常使用 final 关键字来修饰,表示其值不能被修改。
以下是Java中常量的分类:
① 字面值常量:直接在程序中出现的固定值,例如整数、浮点数、布尔值和字符串。
② 声明为常量的变量:使用final关键字声明的变量,一旦赋过值就不能再被修改。 例如:
final int MAX_VALUE = 100; //常量,不可修改 final String MESSAGE = "Hello, World!"; //常量是一次赋值后不可修改值的变量
③ 枚举常量:使用enum关键字定义的枚举类型,每个枚举常量都是固定值。 例如:
enum Weekday { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDays }
上述例子中,MONDAY、TUESday等都是枚举常量,它们是固定的,不可修改。
总而言之,Java中的常量是赋过值后不能再被修改的变量,通常使用final关键字来修饰。常量的值可以在程序中进行引用,但不能被修改。
3.变量
在Java中,变量是用来存储数据的 标识符。
每个变量都有变量名称、变量类型和变量的值。
以下是Java中变量的分类:普通变量、常量、静态变量、
普通变量:普通变量是指在程序中声明的变量,可以存储程序运行时输入的数据或计算结果。
例如:
int a = 10; // 声明一个整型变量a,并将其初始化为10 double b = 3.14; // 声明一个浮点型变量b,并将其初始化为3.14 String c = "Hello, World!"; // 声明一个字符串变量c,并将其初始化为"Hello, World!"
常量:常量是固定值,不能被修改。常量通常使用final关键字来修饰。(常量是特殊类型的变量)
例如:
final int MAX_VALUE = 80; // 声明一个整型常量MAX_VALUE,并赋值为80,不能被修改 final String MESSAGE = "Hello, World!"; // 声明一个字符串常量MESSAGE,并赋值为"Hello, World!",不能被修改
静态变量:静态变量是类级别的变量,在整个程序运行期间只存在一个实例。静态变量可以在类中的任何地方访问,不需要创建类的实例。 例如:
public class MyClass { static int count = 0; // 声明一个整型静态变量count,并初始化为0 static { count++; // 在类加载时,静态代码块中的代码会使count自增1 } public static void main(String[] args) { System.out.println(count); // 输出0,因为静态变量只会在类加载时被初始化一次 } }
总而言之,Java中的变量可以存储各种类型的数据,常量是固定值,不能被修改,静态变量是类级别变量,在整个程序运行期间只存在一个实例。
4.类
在Java中,类(Class)是一种定义 对象类型 的方式。
类包含有关该类型的对象的信息,类中包含了属性 (变量/数据成员) 和 行为(方法/函数成员)。
下面是一个简单的Java类的例子:
public class Person { private String name; //name属性 private int age; //age属性 public Person(String name, int age) { //有参构造方法 this.name = name; this.age = age; } public void sayHello() { //自定义的sayHello()方法 - 行为 System.out.println("Hello, my name is " + this.name + " and I am " + this.age + " years old."); } }
这个类定义了一个名为“Person”的对象类型。它有两个数据成员,一个是私有的字符串类型的名称“name”,另一个是私有的整数类型的年龄“age”。它还有一个公共的构造函数,用于初始化这些数据成员,以及一个公共的方法“sayHello”,用于打印一个问候消息,其中包含该对象的数据成员。
在Java中,每个类都有一个名称,通常以大写字母开头,例如“Person”。类可以包含数据成员(变量)和方法成员(方法)。数据成员可以是私有的(只能在类内部访问)或公共的(可以从类外部访问),而方法成员可以是公共的或受保护的(只能从该类或其子类中访问)。
通过使用类,您可以创建该类的对象实例,并调用该类中定义的方法。例如,以下是如何创建一个“Person”对象并调用其“sayHello”方法的:
Person person = new Person("张三", 20); //创建了一个对象实例(实例化对象) person.sayHello(); //调用类中的方法
这将创建一个名为“person”的“Person”对象,其名称为“张三”,年龄为20,然后调用该对类的方法,打印信息。
5.对象
在Java中,对象(Object)是 类的实例。对象是用于存储数据和执行操作的实体。
每个对象都有自己的内存空间,包含它的属性和方法。
对象是通过创建来获得的(通过类来实例化对象),可以使用构造函数来初始化对象的属性,并使用方法来执行操作。例如:
//创建一个 Person 类 Person person = new Person("张三", 20); //通过有参构造方法来初始化属性(为属性赋值) //访问对象的属性 String name = person.getName(); //通过对象访问器来获取属性值 int age = person.getAge(); //调用对象的方法 person.sayHello();
在上面的例子中,我们创建了一个名为“person”的“Person”类对象,并使用构造函数初始化了它的属性。然后,我们使用对象访问器(getter)方法来获取属性的值,并调用对象的方法来执行操作。
Java中的对象是基于类的概念构建的,它们具有相同的属性和方法,但是具有不同的状态。通过对象,可以更好地组织程序中的数据和操作,提高代码的可重用性和可维护性。
6.字面值和常量的区别
- 在Java中,字面值和常量是两个不同的概念。
- 字面值是指直接在程序中出现的固定值,例如整数、浮点数、布尔值和字符串等。而常量是在程序运行中不会改变的值,通常使用final关键字来修饰。
- 以下是字面值和常量的区别:
- 1. 声明方式:字面值可以 直接 在程序中声明,而常量通常 使用final关键字 进行声明。
- 2. 可变性:字面值是固定的,不能被修改;常量一次赋值后,不能再修改。
- 3. 作用域:字面值的作用域是有限制的,是 局部 的,只能在声明它的代码块中作用;而常量的作用域是 全局 的,可以在程序的任何地方访问。
- 4. 存储位置:字面值通常存储在 栈 内存中,因为它是在程序运行时创建的;而常量通常存储在 静态内存 中,因为它是全局可访问的。
- 总而言之,字面值是固定值,不可改变,作用域有限,通常存储在栈内存中;而常量是特殊类型的变量,常量只能被一次赋值,作用域全局,通常存储在静态内存中。