Java 基本语法

目录

1. 基本语法

包、类、接口、构造函数和方法之间的关联描述:

2. Java 标识符

3. Java 修饰符

4. Java 变量

        1. 局部变量

        2. 类变量(静态变量)

        3. 成员变量(非静态变量)


HelloWorlf.java文件

public class HelloWorld {
    /* 第一个Java程序
     * 它将输出字符串 Hello World
     */
    public static void main(String[] args) {
        System.out.println("Hello World"); // 输出 Hello World
    }
}

1. 基本语法

编写 Java 程序时,应注意以下几点:

  1. 包名(Package Names):
    1. 全小写字母。
    2. 多个单词使用点(.)分隔。
    3. 例如:com.example.myapp
  2.  类名(Class Names):
    1. 使用大驼峰命名法(PascalCase)。
    2. 每个单词的首字母大写,没有分隔符。
    3. 例如:MyClass, Person, MainActivity
  3.  接口名(Interface Names):
    1. 使用大驼峰命名法(PascalCase)。
    2. 与类名相似,每个单词的首字母大写,没有分隔符。
    3. 例如:MyInterface, ListListener, OnClickListener
  4.  构造函数名(Constructor Names):
    1. 与类名相同。
    2. 使用大驼峰命名法(PascalCase)。
    3. 例如:Person, MyClass
  5.  方法名(Method Names):
    1. 使用小驼峰命名法(camelCase)。
    2. 第一个单词的首字母小写,后续单词的首字母大写,没有分隔符。
    3. 例如:calculateTotal, getName, performAction
  6.  变量名(Variable Names):
    1. 使用小驼峰命名法(camelCase)。
    2. 第一个单词的首字母小写,后续单词的首字母大写,没有分隔符。
    3. 例如:age, fullName, itemCount
  7.  常量名(Constant Names):
    1. 使用全大写字母。
    2. 单词之间使用下划线分隔。
    3. 例如:MAX_VALUE, DEFAULT_TIMEOUT, PI
  8. 源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记 Java 是大小写敏感的),文件名的后缀 .java。(如果文件名和类名不相同则会导致编译错误)。
  9. 主方法入口:所有的 Java 程序由 public static void main(String[] args) 方法开始执行。

包、类、接口、构造函数和方法之间的关联描述:

  1. 包(Package):
    • 包是用于组织和管理相关类和接口的一种机制。
    • 包中可以包含多个类和接口。
    • 包提供了命名空间的概念,以避免类名和接口名的冲突。
    • 类和接口通常被组织在一个或多个相关的包中。
  1. 类(Class):
    • 类是Java中的基本构建块,用于描述对象的属性和行为。
    • 类是创建对象的模板,它定义了对象的结构和行为。
    • 类可以包含成员变量、构造函数、方法等。
    • 类可以实例化为对象,对象是类的具体实例。
  1. 接口(Interface):
    • 接口是一种定义了一组方法签名的抽象类型。
    • 接口提供了一种契约,用于规定实现类必须实现的方法。
    • 类可以实现一个或多个接口,实现接口的类必须实现接口中定义的所有方法。
  1. 构造函数(Constructor):
    • 构造函数是一种特殊的方法,用于创建和初始化类的对象。
    • 构造函数的名称与类名相同,没有返回类型。
    • 构造函数在使用new关键字创建类的新实例时自动调用。
  1. 方法(Method):
    • 方法是类或接口中用于执行特定操作或返回结果的代码块。
    • 方法可以接受参数,并可以有返回值(除了void)。
    • 方法可以访问类的成员变量和其他方法。

综上所述,包是用于组织和管理类和接口的命名空间,类是创建对象的模板,接口定义了一组方法签名,构造函数用于对象的创建和初始化,方法用于执行特定操作或返回结果。它们共同构成了Java程序的结构和功能。

2. Java 标识符

Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。

关于 Java 标识符,有以下几点需要注意:

  • 所有的标识符都应该以字母(A-Z 或者 a-z)、美元符($)、或者下划线(_)开始
  • 首字符之后可以是字母(A-Z 或者 a-z)、美元符($)、下划线(_)或数字的任何字符组合
  • 关键字不能用作标识符
  • 标识符是大写敏感的
  • 合法标识符举例:age、$salary、_value、__1_value
  • 非法标识符举例:123abc、-salary

3. Java 修饰符

  • 访问控制修饰符: default, public, protected, private
  • 非访问控制修饰符: final, abstract, static, synchronized
  1. public(公共的):
    • 可以从任何位置访问。
    • 可以在同一包中的其他类、不同包中的类以及子类中访问。
    • 用于指定公共API的组件。
  1. private(私有的):
    • 仅在定义它们的类内部可见。
    • 无法在其他类中直接访问。
    • 用于限制内部实现细节和数据的访问。
  1. protected(受保护的):
    • 在同一包中的其他类和子类中可见。
    • 不在同一包中的类无法访问。
    • 用于实现继承和封装的保护性访问。
  1. 默认(默认访问修饰符,没有关键字):
    • 如果没有指定访问修饰符,则使用默认访问级别。
    • 只能在同一包中访问。
    • 不能在不同包中的其他类或子类中访问。
  • 这些访问修饰符可以应用于类、类的成员(如方法、变量和构造函数)以及内部类。它们提供了一种控制代码访问性和封装性的机制,以便实现利良好的软件设计和维护。
  • 需要注意的是,访问修饰符的选择应该根据设计需求和安全性考虑。合理使用访问修饰符可以提高代码的模块化和封装性,同时限制不必要的访问,防止对类的内部实现进行未授权的访问。

4. Java 变量

Java 中主要有以下几种类型的变量

        1. 局部变量

在Java中,局部变量是在方法、构造函数或代码块中声明的变量,其作用域限定在声明它的块中。以下是有关Java局部变量的一些重要信息:

 1. 声明和作用域:

  • 局部变量在声明时指定其类型和名称。
  • 局部变量的作用域仅限于声明它的代码块内部。一旦超出该代码块,局部变量将不再可见。

2. 生命周期:

  • 局部变量的生命周期从其声明处开始,直到其作用域结束为止。
  • 一旦超出作用域,局部变量的内存空间将被回收,其值将不再可用。

3. 访问修饰符:

  • 局部变量不能用访问修饰符(如public、private或protected)进行修饰。
  • 它们仅在声明它们的方法、构造函数或代码块内部可见。

4. 初始化:

  • 局部变量在使用之前必须进行初始化,否则编译时会报错。
  • 局部变量可以在声明时直接赋予初始值,也可以稍后在代码块内部赋值。

5.栈上分配:

  • 局部变量存储在方法调用栈中,而不是在堆内存中。
  • 它们的分配和释放速度较快,生命周期与方法的执行过程相对应。

6. 局部变量的命名:

  • 应使用有意义的、描述性的名称来命名局部变量,以提高代码的可读性和维护性。

局部变量通常用于存储临时数据或在特定作用域内使用的数据。它们的作用范围受限于声明它们的方法、构造函数或代码块,这有助于避免变量名冲突并提供更好的封装性。

        2. 类变量(静态变量)

1. 声明和初始化:

  • 类变量在类的内部、方法之外进行声明。
  • 通常在声明时进行初始化,可以在声明时直接赋予初始值。

2. 共享性:

  • 类变量属于类本身,而不是类的特定实例。
  • 所有类的实例共享相同的类变量副本。

3. 类访问:

  • 类变量可以直接通过类名访问,无需创建类的实例。
  • 也可以通过类的实例访问类变量,但这样并不推荐,因为会给人错误的印象。

4. 生命周期:

  • 类变量在类被加载时创建,在类被卸载时销毁。
  • 它们的生命周期与应用程序的生命周期相对应。

5. 作用范围:

  • 类变量的作用范围为整个类及其内部的所有方法和代码块。
  • 它们可以在类的任何方法中使用,以及在其他类中通过类名直接访问。

6. 线程安全性:

  • 类变量在多线程环境中共享,因此需要注意线程安全性。
  • 可以使用同步机制或使用volatile关键字来确保线程安全性。

类变量通常用于存储类级别的信息,例如常量、配置值或与类相关的共享状态。它们可以提供一种在类的所有实例之间共享数据的机制,并且在某些情况下可以提供更高效的存储和访问方式。然而,需要注意在设计和使用类变量时要考虑线程安全性和适当的封装性。

        3. 成员变量(非静态变量)

在Java中,成员变量(非静态变量)是属于类的实例的变量。每个类的实例都拥有自己的一组成员变量副本。以下是有关Java成员变量的一些重要信息:

1. 声明和初始化:

  • 成员变量在类的内部、方法之外进行声明。
  • 成员变量的声明通常发生在类的开始部分,但可以在类的任何位置进行声明。
  • 成员变量可以在声明时直接赋予初始值,也可以在构造函数或其他方法中赋值。

2. 实例化和访问:

  • 成员变量的生命周期与类的实例相同。当创建类的新实例时,将为每个成员变量分配内存空间。
  • 成员变量通过对象引用访问,需要先创建类的实例才能访问成员变量。

3. 默认初始化:

  • 成员变量根据其类型在创建实例时会有默认的初始值。
  • 对于数值类型,如整数和浮点数,默认值为0。
  • 对于布尔类型,默认值为false。
  • 对于引用类型,默认值为null。

4. 可见性和封装性:

  • 成员变量可以具有不同的访问修饰符(如public、private、protected或默认访问修饰符)来控制其可见性和封装性。
  • 常见的做法是将成员变量声明为private,并使用公共的访问方法(getter和setter)来访问和修改成员变量的值。

5. 对象级别的状态:

  • 成员变量存储着类的对象的状态,它们表示了对象的特定属性或数据。
  • 不同的对象实例可以具有不同的成员变量值,每个实例维护自己的状态。

成员变量在类的实例级别上存储和维护对象的状态,它们用于描述对象的特定属性或数据。通过访问和修改成员变量,我们可以操作和管理对象的状态。因此,成员变量在面向对象编程中起着重要的作用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值