08. 【Java教程】Java 基础语法

简介: 08. 【Java教程】Java 基础语法

本小节我们将介绍 Java 语言的基础语法,包括我们在编写第一个 Java 程序时已接触过的类、主方法的概念,以及在编程中给源代码文件和类起名字的时候应该注意什么,什么样的名字是可以使用的,什么样的名字是不可以使用的,还有如何为代码添加注释等内容。


只有掌握了这些最基础的知识,才能减少后续学习中的困扰,避免踩坑。



1. 基本语法

我们在前面完成了第一个 Java 程序,我们现在来回顾一下:

实例演示

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

整个程序看似简单,但包含很多基础的知识点。下面我们将围绕这个程序来介绍几部分内容:

  1. 大小写敏感
  2. 主方法
  3. 源代码文件

1.1 大小写敏感

Java 语言是大小写敏感的,这个知识点很好理解:所有的命名都区分大小写 (文件名、类名、方法名等等)。

例如:HelloWorldhelloWorld不同的Hello.javaHellO.java 也是不同的。

1.2 类

Java 是纯面向对象的编程语言,因此 (class) 是一个程序的基本单位。所有的 Java 程序想要运行,都离不开类。

我们可以来看看代码的第一行:

public class HelloWorld {

其中,public 是一个关键字,它属于访问控制符,它表示这个类是公开的。关于什么是访问控制符,在初学阶段不必理解。


紧接着的 class 也是一个关键字用于声明类, HelloWorld 是类名,类名的首字母要大写。如果类名由多个单词组成,那么每个单词的首字母都要大写。例如,我们可以这样声明一个表示学生的类:


public class MybjStudent {
    ...
}

1.3 主方法

什么是主方法呢?请观察示例代码的 class 内部(指的是类名 HelloWorld 后面用大括号 {} 包含的内容),这个方法被称为主方法。每个类只能拥有一个主方法。

需要特别注意的是:所有的 Java 程序都从主方法开始执行。 以下的写法是固定的,所以你暂时无需深究:

public static void main(String[] args) {
    ...
}

而在主方法内部(指的是 main() 后面一对大括号中间包含的内容)我们可以定义一些指令,例如:

System.out.println("Hello World!");

我们称这个指令为输出语句,它的作用是向屏幕输出 Hello World! 。输出语句在后面会经常用到。

我们也可以在主方法内部多次调用输出语句,以输出多条内容:

实例演示

public class MybjStudent {
    public static void main(String[] args) {
    System.out.println("第一行输出:菜鸟");
        System.out.println("第二行输出:快来学编程");
    }
}

另外补充一点,类的内部不仅可以包含一个主方法,也可以包含多个方法。在学习方法的概念之前,我们将主要在主方法中编写示例代码。

1.4 源代码文件

既然源代码需要提供给计算机执行,我们就要将源代码以文件的形式保存在计算机的磁盘上。


需要注意的是:源代码文件的命名必须与类名相同,且后缀名为.java。例如:HelloWorld 类对应的源代码文件名应该为 HelloWorld.java,而 ImmocStudent.java 源代码文件的对应类名为 ImmocStudent。

2. Java 标识符

2.1 概念

在计算机编程语言中,标识符是开发者编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。标识符通常由字母和数字以及其它字符构成。

在 Java 中,标识符通常用来给类、对象、变量、方法、接口、自定义数据类型命名。



2.2 命名规范

标识符都以字母(A-Z 或者 a-z),美元符号($)或下划线(_)开始;首字母后可以是字母、数字、下划线的任意组合;正如我们前面所提到的,标识符是大小写敏感的;需要特别注意的是,Java 中的关键字(本节最后将会介绍)不能被用作标识符。

以下是合法的标识符命名实例:

  • $name
  • _World
  • Mybj
  • mybj1

以下不合法的标识符命名实例:

  • ¥color
  • 12name
  • *abc
  • final

3. Java 注释和空行

3.1 概念

3.1.1 注释

注释是一种便于给人阅读程序的文本,它不会被编译器解析。养成多些注释的习惯,不但有助于自己理解程序,也有助于别人更好地理解自己的程序。在团队协作的项目中,代码注释更加重要,代码的研发人员通过编写通俗易懂的注释,可以极大地降低协作成员之间沟通成本。


下图灰色部分为 Java 源码中的注释:



3.1.2 空行

空行就是空白行,与注释一样,同样不会被编译器解析。

适当地使用空行,可以让代码的结构看起来更好看,例如,下面程序中第 2 行、第 5 行和第 8 行都是空行:

1 class HelloMybj {
2    
3    public static void main(String[] args) {
4      System.out.println("你好程序员");
5        
6        System.out.println("Hello, World!");
7   }
8    
9}

3.2 注释的分类

Java 语言提供了三种类别的注释:

  1. 单行注释
  2. 多行注释
  3. 文档注释
3.2.1 单行注释

单行注释用于注释一行文本,它以双斜线开始,后面跟上要注释的内容,其写法为:

// 被注释的内容

实例演示

public class HelloMybj {
    // 定义入口方法
    public static void main(String[] args) {
        // 打印输出:你好程序员
        System.out.println("你好程序员");
    }
}
3.2.2 多行注释

多行注释用于注释多行文本,它以 /* 开头,以 */ 结尾,其写法为:

/*
被注释的第一行内容
被注释的第二行内容
被注释的第三行内容
*/

当我们在开发时为了方便调试,需要注释一段多行的逻辑代码,可以使用多行注释:

实例演示

public class Dog {
    private int age;
  private String name;
  
    /*
    多行注释,注释了这段代码
    public Dog (String name, int age) {
      this.name = name;
        this.age = age;
    }
    */
    public static void main(String[] args) {
    }
}
3.2.3 文档注释

Java 中还有一种特殊的多行注释 —— 文档注释,它以 /** 开头,以 */ 结尾,如果有多行,则每行都以 * 开头,其在代码中的写法为:

实例演示

/**
 * HelloWorld 类
 * 它是我的第一个 Java 程序
 * @Author: Colorful
 * @Date: 2024/05/16
 */
public class HelloWorld {
    /**
     * 主方法,向屏幕打印 Hello World!
     * @param args 主方法的固定参数
     */
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

这种特殊的多行注释需要写在类和方法的定义处,可以使用 javadoc 这样的命令来自动创建文档。另外通常在程序开头加入作者,时间,版本,要实现的功能等内容注释,方便程序的维护以及程序员的交流。

4 关键字和保留字

4.1 概念

关键字 (Keyword) 是 Java 语言中的特殊标记。它已经被语言本身预先使用,因此我们不能使用关键字作为我们标识符的命名。


例如 Java 基本类型的 int、boolean,流程控制语句中的 if、for,访问修饰符 public,以及一些用于声明和定义 Java 类、包、接口的 class、package、interface。

而保留字 (Reserved word) 可能是未来的关键字,也就是说可能在未来的版本中,Java 语言作为特殊标记。

Tips:无论是关键字还是保留字,我们都要记住:不能使用它们作为我们的代码中的标识符。

4.2 Java 中有哪些关键字

关键字一律用小写字母标识,Java 语言中定义了如下表所示的关键字: image.png image.png image.png

5. 小结

本小节我们学习了 Java 的基础语法。我们知道了 Java 语言区分大小写,类是一个程序的基本单位,所以说我们要编写 Java 代码,就要知道如何声明一个类,而类中的主方法是一个程序执行的起点。标识符是我们程序员在编程时所使用的名字,当我们为标识符命名时,一定不能使用 Java 中的关键字。理解了注释的概念和分类,另外也建议大家在编写代码的过程中多写注释,在学习别人代码的过程中多看注释。我们也将在后面的示例代码中加入大量的注释来帮助你理解程序。


相关文章
|
3天前
|
Java Linux
java基础(3)安装好JDK后使用javac.exe编译java文件、java.exe运行编译好的类
本文介绍了如何在安装JDK后使用`javac.exe`编译Java文件,以及使用`java.exe`运行编译好的类文件。涵盖了JDK的安装、环境变量配置、编写Java程序、使用命令行编译和运行程序的步骤,并提供了解决中文乱码的方法。
16 1
|
30天前
|
Java 开发者 UED
【实战宝典】Java异常处理大师级教程:throws关键字,让异常声明成为你的专属标签!
【实战宝典】Java异常处理大师级教程:throws关键字,让异常声明成为你的专属标签!
40 3
|
13天前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
156 37
|
13天前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
13天前
|
缓存 安全 Java
【Java面试题汇总】Java基础篇——基础、修饰符和关键字(2023版)
Java的特点和优点,、Java 8的新特性、面向对象、基本数据类型和引用类型、自动拆装箱与自动装箱、==与equals()的区别、为什么重写equals()就要重写hashcode()、抽象类和接口的区别、重载和重写的区别、四种引用方式、wt()和sleep()的区别、java方法是值传递还是引用传递?访问修饰符、static、final、this和super、volatile的用法及原理
【Java面试题汇总】Java基础篇——基础、修饰符和关键字(2023版)
|
3天前
|
Java 数据安全/隐私保护
java之基本语法
java之基本语法
14 6
|
8天前
|
Java API
Java时间戳教程
本文详细介绍Java中时间戳的处理方法,包括获取当前时间戳、使用`java.time`包、时间戳与日期的相互转换及格式化等。示例代码展示了如何利用`System.currentTimeMillis()`和`java.time.Instant`获取时间戳,以及如何通过`Date`和`ZonedDateTime`进行日期转换和时区处理。随着Java 8引入的`java.time`包,日期时间操作变得更加强大和便捷,推荐在新项目中优先采用。
|
20天前
|
存储 Java 容器
Java 基础语法
Java是一种面向对象的编程语言,其基础语法包括类和对象、方法、变量、控制流语句、继承和多态以及异常处理。代码需写在类中,`main()`方法是程序入口,变量用于存储数据,控制流语句控制程序执行流程,继承和多态增强代码灵活性,异常处理保证程序稳定性。掌握这些知识可帮助您编写简单的Java程序。
|
24天前
|
安全 前端开发 Java
浅析JVM invokedynamic指令与Java Lambda语法的深度融合
在Java的演进历程中,Lambda表达式无疑是Java 8引入的一项革命性特性,它极大地简化了函数式编程在Java中的应用,使得代码更加简洁、易于阅读和维护。而这一切的背后,JVM的invokedynamic指令功不可没。本文将深入探讨invokedynamic指令的工作原理及其与Java Lambda语法的紧密联系,带您领略这一技术背后的奥秘。
17 1
|
28天前
|
小程序 Java
【aspose-words】Aspose.Words for Java模板语法详细剖析
本文通过详细分析Aspose.Words for Java模板语法,介绍了使用条件块、变量和动态合并表格单元格三个常用模板标签,并结合实际案例进行演示。通过这三个标签的实操,帮助读者更好地掌握Aspose.Words的使用技巧。此外,还提供了官方文档链接以便进一步学习。
84 0
【aspose-words】Aspose.Words for Java模板语法详细剖析