Java-基础语法

Java 基础语法

Java 是一门面向对象解释型编程语言。

面向对象 意味着我们应该把一个 Java 程序看作一系列对象的集合,我们的工作就是构建这些对象,并通过调用彼此的方法来让各种对象协同工作,解决实际的问题。

解释型 意味着:

Java编译程序生成字节码(byte-code),而不是通常的机器码。
相同的代码设计成可有效地传送程序到多个平台。

基本语法

  • Java 大小写敏感
  • Java 源文件名必须和类名相同(如果文件名和类名不相同则会导致编译错误)
  • Java 程序由 public static void main(String []args) 方法开始执行。

标识符(合法的变量名)

  • Java 标识符可以包含以下字符:
    • 字母A-Za-z
    • 数字0-9
    • 符号$_
  • 首字符不能是数字
  • Java 标识符大小写敏感
  • 关键字不能用作标识符

关键字(保留字)

关键字 含义
abstract 表明类或者成员方法具有抽象属性
assert 断言,用来进行程序调试
boolean 基本数据类型之一,声明布尔类型的关键字
break 提前跳出一个块
byte 基本数据类型之一,字节类型
case 用在switch语句之中,表示其中的一个分支
catch 用在异常处理中,用来捕捉异常
char 基本数据类型之一,字符类型
class 声明一个类
const 保留关键字,没有具体含义
continue 回到一个块的开始处
default 默认,例如,用在switch语句中,表明一个默认的分支
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算术规范[1]
super 表明当前对象的父类型的引用或者父类型的构造方法
switch 分支语句结构的引导词
synchronized 表明一段代码需要同步执行
this 指向当前实例对象的引用
throw 抛出一个异常
throws 声明在当前定义的成员方法中所有需要抛出的异常
transient 声明不用序列化的成员域
try 尝试一个可能抛出异常的程序块
void 声明当前成员方法没有返回值
volatile 表明两个或者多个变量必须同步地发生变化
while 用在循环结构中

注释

Java 中的注释和 C 语言相同,有/* ... */// ... 两种。

示例:

1
2
3
4
5
6
7
8
/* 
多行
注释
*/

/* 行中注释 */

// 行尾注释

Java 包

包主要用来对类和接口进行分类。当开发Java程序时,可能编写成百上千的类,因此很有必要对类和接口进行分类。

package 语句

package 指定的信息直接将生成的 class 文件生成到对应目录下。如 package aaa.bbb.ccc 编译器就将该 .java 文件下的各个类生成到 ./aaa/bbb/ccc/ 这个目录。

import 语句

import 是为了简化使用 package 之后的实例化的代码。假设 ./aaa/bbb/ccc/ 下的 A 类:

假如没有 import,实例化A类为:new aaa.bbb.ccc.A();

使用 import aaa.bbb.ccc.A 后,就可以直接使用 new A() 了;
也就是编译器匹配并扩展了 aaa.bbb.ccc. 这串字符串。

例如,下面的命令行将会命令编译器载入 java_installation/java/io 路径下的所有类:

1
import java.io.*;

源文件声明规则

  • 一个源文件中只能有一个 public 类(非 public 的不限)
  • 源文件的名称应该和 public 类的类名保持一致。(源文件中 public 类的类名是 Employee,那么源文件应该命名为Employee.java)
  • 如果一个类定义在某个包中,那么 package 语句应该在源文件的首行。
  • 如果源文件包含import语句,那么应该放在 package 语句和 类定义 之间。如果没有package语句,那么import语句应该在源文件中最前面。
  • import 语句和 package 语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。