Java 基础语法

Java 是一种面向对象编程的语言, 至于什么是面向对象编程?  请点击左侧链接加以了解. 

我们还是以一段 Hello World 的代码开始来开始这段教程:

public class HelloWorld {
    public static void main(String[] args) {
        /**
         * 这里是块注释
         */
        System.out.println("Hello World");
        //这里是行注释1, 下面是空行
        
        //这里是行注释2
    }
}

 

通过之前的学习, 运行这段代码, 我们知道这段代码输出了一串 Hello World .

但是明明写了这么多, 为何却只输出了一行 Hello World ? 不要急, 我们慢慢来解析:

 

因为 Java 是面向对象的语言, 所谓万物皆对象是也, 首先我们需要定义一个类:

 

public class HelloWorld {
    ...
}

 

这里 HelloWorld 就是一个类, class 作为 Java 语言里的关键词, 表示如果我们按照这种写法, 我们就定义了一个类. public 也是 Java 的关键词之一, 这里用于修饰 class 表示 当下定义这个 HelloWorld 类是公开的, 是可以随意访问的. 与之对应的是 protected (保护)和 private (私有), 这种修饰符都是用来限定访问的.

 

然后我们我们在类里定义了一个静态方法:

 

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

 

这段代码里 main 就是一个方法名了, main 是约定好的方法, 它指明了一个程序的入口. 定义了这个方法, java 在执行的时候就知道要从哪里开始了. 这里的 public 同样作为公开修饰符, 表示 main 方法是可以在外部访问的. void 是返回值类型, 表示 main 这个方法返回了哪种类型的数据, void 就是表示啥也不返回. 一个方法可以返回的值可以是 数字, 字符串, 数组, 对象等等.  String[] argsmain 的参数, String[] 是字符串数组(一种多个字符串的合集), 参数决定了外部可以提供给方法内部的变化.

 

然后我们定义了 main 这个方法的详情:

 

/**
 * 这里是块注释
 */
System.out.println("Hello World");
//这里是行注释1, 下面是空行
        

//这里是行注释2

 

这里就是 main 这个方法的主体了, 看起来有一大段, 但是实际起到效果的 也就这一句 System.out.println("Hello World");System.out.println 表示要输出的内容, 输出完成后会换行, 输出的内容则是 "Hello World", 这里是一种特殊的标记, 表示我们输出的 Hello World 是字符, 所以用双引号 " 将其包起来. 我们还可以输出 110, 3.141592 这种数字类型.

我们同时还注意到了, 代码中包含了这样的部分

/**
 * 这里是块注释
 */
//这里是行注释1, 下面是空行
        

//这里是行注释2

/* 开始到 */ 结束的, 我们称之为块注释, 块注释可以跨行

// 开始到本行尾的结束的, 我们称之为行注释, 望文生义行注释只对本行有效, 不可跨行.

注释通常是为了记录下写这段代码的时候你是如何想的, 或者解释这段代码是如何工作的, 主要为了记忆与便于开发人员理解这段代码, 或者提醒开发者当初为什么使用这种方案解决当下的问题, 注释在 java 执行的过程中是完全被忽略的, 被忽略的意思是不参与任何执行计算.

而出现在 行注释1 和 行注释2 之间的空行, 空行在 java 执行的过程中是会完全被忽略的.

注意: java 语言是区分大小写的, 这也就是

 

Java 的字词: 关键字, 修饰符, 标识符

 

Java 中的关键词

关键词又叫保留词, 是编程语言中的一类特殊词汇, 他们具备了特殊的意义和用途, 因此不能用作自身作用以外的用途, 以下是 Java 中的关键词及其用途.

关键字 说明
private 私有的
protected 受保护的
public 公共的
default 默认的(修饰符) 或者 switch 的默认分支
abstract 抽象的
class
extends 继承
static 静态的
final 最终的, 不可改变的
implements 实现接口
interface 接口
super 父类的, 超类的
this 当前类的
new 初始化对象
instanceof A instanceof B, A 是否是 B 的实例
if 如果, 条件
else 否则, 与 if 配合
switch 开启匹配
case 匹配 switch 的值, 建立一个分支
for 计量循环
while 条件循环
do 执行, 通常与 while 配合
continue 跳过当前循环流程, 进入下一个循环
break 跳出循环或分支
assert 断言表达式是否为真
try 尝试执行(会抛出异常的代码)
catch 捕捉异常
finally 有没有异常都执行
throw 抛出一个异常对象
throws 声明一个异常可能被抛出
import 引入
package
return 通过执行一个方法得到一个值
boolean 布尔型
true 布尔真
false 布尔假
byte 字节型
char 字符型
double 双精度浮点
float 单精度浮点
int 整型
long 长整型
short 短整型
void 无返回值
null
enum 枚举型, 1.5 后新增
synchronized 用于多线程的同步锁
volatile 用于多线程的线程共享
strictfp strict float point 严格(精确)浮点
transient 暂时的, 相对于序列化而言的, 用此关键词修复的属性将不会被序列化.
native 本地实现, 通过JNI调用其他语言实现
goto 保留关键字,但不能使用
const 保留关键字,但不能使用

 

Java 中的修饰符

修饰符是一类用来给类中的类, 属性, 方法等提供额外的限定的特殊的关键词, 修饰符通常分为两类:

  • 访问控制修饰符: default, public , protected, private
  • 特殊修饰符: final, abstract, static, synchronized

Java 中的标识符

标识符号就是除关键词外, 凡是自己命名的词汇都称为标识符

例如, 对于常量, 变量, 方法, 语句块, 类, 项目等都需要一个名字, 这些我们都统统称为标识符

 

标识符虽然可以自己命名, 但是要符合以下要求:

  1. 标识符由字母、数字、_(下划线)、$ 组成,但是不能使用数字做开头
  2. 不能使用 Java 中的关键词
  3. 标识符是大小写敏感的: 即 Hello , hello, heLLo 是三个不同的标识符

一些合法的的标识符举例:

Hello, _, $, $usd, loveYou, love321, 虽然不建议, 但是因为区分大小写 Public 这样的标识符并不会被识别为关键字.

一些不合法的标识符举例:

21yi, -ok, public

标识符除了有要求之外, 还有规范, 规范不是强制性的, 但是是一种良好的编码实践, 毕竟大家都统一起来, 维护起来更加容易:

  1. 包名全部由小写字母组成, 如 com.yi21.hello
  2. 类名采用完整的英文描述符, 所有单词的第一个字母大写, 如 HelloWorld, MachineFactory
  3. 类的属性以一个小写字母开头
  4. 等等

有了以上就是 Java 的语法基础, 接下我们来了解一下 Java 的变量