前言
本大节咱们将介绍 Java
语言的根底语法,包含咱们在编写第一个 Java
程序时已接触过的类、主办法的概念,以及在编程中给源代码文件和类起名字的时候应该留神什么,什么样的名字是能够应用的,什么样的名字是不能够应用的,还有如何为代码增加正文等内容。
只有把握了这些最根底的常识,能力缩小后续学习中的困扰,防止踩坑。
1. 根本语法
咱们在后面实现了第一个 Java
程序,咱们当初来回顾一下:
public class HelloWorld {public static void main(String[] args) {System.out.println("Hello World!");
}
}
整个程序看似简略,但蕴含很多根底的知识点。上面咱们将围绕这个程序来介绍几局部内容:
- 大小写敏感
- 类
- 主办法
- 源代码文件
1.1 大小写敏感
Java 语言是大小写敏感的,这个知识点很好了解:所有的命名都辨别大小写 (文件名、类名、办法名等等)。
例如:HelloWorld
与 helloWorld
是不同的;Hello.java
和 HellO.java
也是不同的。
1.2 类
Java 是纯面向对象的编程语言,因而 类 (class) 是一个程序的根本单位。所有的 Java 程序想要运行,都离不开类。
咱们能够来看看代码的第一行:
public class HelloWorld {
其中,public
是一个关键字,它属于拜访控制符,它示意这个类是公开的。对于什么是拜访控制符,在初学阶段不用了解。
紧接着的 class
也是一个关键字用于申明类,HelloWorld
是类名,类名的首字母要大写。如果类名由多个单词组成,那么每个单词的首字母都要大写。例如,咱们能够这样申明一个示意 学生 的类:
public class Student {...}
1.3 主办法
什么是主办法呢?请察看示例代码的 class
外部(指的是类名 HelloWorld
前面用大括号 {}
蕴含的内容),这个办法被称为主办法。每个类只能领有一个主办法。
须要特地留神的是:所有的 Java 程序都从主办法开始执行。 以下的写法是固定的,所以你临时无需深究:
public static void main(String[] args) {...}
而在主办法外部(指的是 main()
前面一对大括号两头蕴含的内容)咱们能够定义一些指令,例如:
System.out.println("Hello World!");
咱们称这个指令为 输入语句,它的作用是向屏幕输入 Hello World!
。输入语句在前面会常常用到。
咱们也能够在主办法外部屡次调用输入语句,以输入多条内容:
public class Student {public static void main(String[] args) {System.out.println("第一行输入:学生");
System.out.println("第二行输入:编程");
}
}
另外补充一点,类的外部不仅能够蕴含一个主办法,也能够蕴含多个 办法。在学习办法的概念之前,咱们将次要在主办法中编写示例代码。
1.4 源代码文件
既然源代码须要提供给计算机执行,咱们就要将源代码以文件的模式保留在计算机的磁盘上。
须要留神的是:源代码文件的命名必须与类名雷同,且后缀名为.java
。例如:HelloWorld
类对应的源代码文件名应该为 HelloWorld.java
,而 Student.java
源代码文件的对应类名为 Student
。
2. Java 标识符
2.1 概念
在计算机编程语言中,标识符是开发者编程时应用的名字,用于给变量、常量、函数、语句块等命名,以建设起名称与应用之间的关系。标识符通常由字母和数字以及其它字符形成。
在 Java 中,标识符通常用来给类、对象、变量、办法、接口、自定义数据类型命名。
2.2 命名标准
标识符都以字母(A-Z 或者 a-z),美元符号($)或下划线(\_)开始;首字母后能够是字母、数字、下划线的任意组合;正如咱们后面所提到的,标识符是大小写敏感的;须要特地留神的是,Java 中的 关键字(本节最初将会介绍)不能被用作标识符。
以下是非法的标识符命名实例:
- $name
- \_World
- Stuent
- Stuent1
以下不非法的标识符命名实例:
- ¥color
- 12name
- *abc
- final
3. Java 正文和空行
3.1 概念
3.1.1 正文
正文是一种便于给人阅读程序的文本,它不会被编译器解析。养成多些正文的习惯,岂但有助于本人了解程序,也有助于他人更好地了解本人的程序。在团队合作的我的项目中,代码正文更加重要,代码的研发人员通过编写通俗易懂的正文,能够极大地升高合作成员之间沟通老本。
下图灰色局部为 Java 源码中的正文:
3.1.2 空行
空行就是空白行,与正文一样,同样不会被编译器解析。
适当地应用空行,能够让代码的构造看起来更好看,例如,上面程序中第 2 行、第 5 行和第 8 行都是空行:
class Hello {public static void main(String[] args) {System.out.println("你好");
System.out.println("Hello!");
}
}
3.2 正文的分类
Java 语言提供了三品种别的正文:
- 单行正文
- 多行正文
- 文档正文
3.2.1 单行正文
单行正文用于正文一行文本,它以双斜线开始,前面跟上要正文的内容,其写法为:
// 被正文的内容
在 Java 代码中,它是这样的:
!
public class Hello {
// 定义入口办法
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: 2020/02/02
*/
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 语言中定义了如下表所示的关键字:
关键字 | 阐明 |
---|---|
abstract | 表明类或者成员办法具备形象属性 |
assert | 断言,罕用于程序的调试 |
boolean | 根本数据类型:布尔类型 |
break | 提前跳出一个块 |
byte | 根本数据类型,字节类型 |
case | 用在 switch 语句之中,示意其中的一个分支 |
catch | 用在异样解决中,用来捕获异样 |
char | 根本数据类型:字符类型 |
class | 用于申明一个类 |
const | 留关键字 |
continue | 回到一个块的开始处 |
default | 默认,用在 switch 语句中,表明一个默认的分支;JDK1.8 当前也作用于申明接口函数的默认实现 |
do | 用在 do-while 循环构造中 |
double | 根本数据类型:双精度浮点数类型 |
else | 用在条件语句中,表明当条件不成立时的分支 |
enum | 枚举 |
extends | 表明一个类型是另一个类型的子类型。对于类,能够是另一个类或者抽象类;对于接口,能够是另一个接口 |
final | 用来阐明最终属性,表明一个类不能派生出子类,或者成员办法不能被笼罩,或者成员域的值不能被扭转,用来定义常量 |
finally | 用于解决异常情况,用来申明一个根本必定会被执行到的语句块 |
float | 根本数据类型之一,单精度浮点数类型 |
for | 一种循环构造的疏导词 |
goto | 保留关键字,没有具体含意 |
if | 条件语句的疏导词 |
implements | 表明一个类实现了给定的接口 |
import | 表明要拜访指定的类或包 |
instanceof | 用来测试一个对象是否是指定类型的实例对象 |
int | 根本数据类型之一,整数类型 |
interface | 接口 |
long | 根本数据类型之一,长整数类型 |
native | 用来申明一个办法是由与计算机相关的语言(如 C/C++/FORTRAN 语言)实现的 |
new | 用来创立新实例对象 |
package | 包 |
private | 一种访问控制形式:私用模式 |
protected | 一种访问控制形式:保护模式 |
public | 一种访问控制形式:共用模式 |
return | 从成员办法中返回数据 |
short | 根本数据类型之一,短整数类型 |
static | 表明具备动态属性 |
strictfp | 用来申明 FP\_strict(单精度或双精度浮点数)表达式遵循 IEEE 754 算术标准 |
super | 表明以后对象的父类型的援用或者父类型的构造方法 |
switch | 分支语句构造的疏导词 |
synchronized | 表明一段代码须要同步执行 |
this | 指向以后实例对象的援用 |
throw | 抛出一个异样 |
throws | 申明在以后定义的成员办法中所有须要抛出的异样 |
transient | 申明不必序列化的成员域 |
try | 尝试一个可能抛出异样的程序块 |
void | 申明以后成员办法没有返回值 |
volatile | 表明两个或者多个变量必须同步地发生变化 |
while | 用在循环构造中 |
5. 小结
本大节咱们学习了 Java 的根底语法。咱们晓得了 Java 语言辨别大小写,类是一个程序的根本单位,所以说咱们要编写 Java 代码,就要晓得如何申明一个类,而类中的主办法是一个程序执行的终点。标识符是咱们程序员在编程时所应用的名字,当咱们为标识符命名时,肯定不能应用 Java 中的关键字。了解了正文的概念和分类,另外也倡议大家在编写代码的过程中多写正文,在学习他人代码的过程中多看正文。咱们也将在前面的示例代码中退出大量的正文来帮忙你了解程序。
微信公众号