您的位置:首页 >java84,Java-Runoob:Java 基础语法
发布于2026-05-02 阅读(0)
扫一扫,手机访问
如果把一个Ja va程序拆开来看,你会发现它其实是由一系列对象构成的。这些对象并非孤立存在,它们通过彼此调用方法,协同完成工作。理解Ja va,首先要搞清楚几个核心概念:类、对象、方法和实例变量。
咱们先说说对象。你可以把它看作是“类”的一个具体例子。对象有状态,也有行为。举个生活中的例子:一条狗就是一个对象。它的状态包括颜色、名字、品种;行为则可以是摇尾巴、叫唤或者吃东西。
那么类是什么呢?简单说,类就是一个蓝图或者模板。它定义了一类对象应该具备哪些状态和行为。
至于方法,指的就是对象的行为。一个类里可以包含多个方法。所有具体的操作,比如逻辑判断、数据修改,都是在方法里完成的。
最后是实例变量。每个对象都拥有自己独特的一套实例变量,正是这些变量的具体取值,决定了对象当前的状态。
理论说多了容易枯燥,咱们直接看一个最经典的例子——打印“Hello World”的程序。
下面就是这段代码:
public class HelloWorld {
/* 第一个Ja va程序
* 它将打印字符串 Hello World
*/
public static void main(String []args) {
System.out.println("Hello World"); // 打印 Hello World
}
}
代码有了,怎么让它跑起来呢?别急,跟着下面这几步走:
HelloWorld.ja va。ja vac HelloWorld.ja va 然后回车。这一步是编译。如果代码没写错,命令行会安静地跳到下一行,等待你的下一个指令。ja va HelloWorld 再按回车。瞧,程序运行了!这时候,你应该能在窗口里看到那句著名的问候了:
C:\>ja vac HelloWorld.ja va
C:\>ja va HelloWorld
Hello World
整个流程,用动图演示起来更直观:

写Ja va程序,有几个语法上的细节必须时刻留心,它们就像是Ja va世界的“交通规则”:
Hello 和 hello,在它看来就是完全不同的两个标识符。MyFirstJa vaClass。getUserName。.ja va。如果文件名和类名对不上,编译就会报错。public static void main(String []args) 方法。程序从这里开始执行。在Ja va里,给类、变量、方法取的名字,统称为标识符。起名字也不是随便起的,得守规矩:
举个例子就明白了:
合法的标识符:age, $salary, _value, __1_value
非法的标识符:123abc(以数字开头了), -salary(用了减号)
和许多编程语言一样,Ja va用“修饰符”来修饰类、方法和变量,主要分为两大类:
关于修饰符的具体用法和区别,我们会在后续章节深入探讨。
Ja va中的变量主要有这么几种类型:
数组,本质上是一个存储在堆内存中的对象,它的作用是保存多个相同类型的变量。如何声明、创建并初始化一个数组,我们后面会专门学习。
枚举是Ja va 5.0引入的一个好帮手。它能把一个变量的取值,严格限制在预先定义好的几个选项里。这么做有个明显的好处:能有效减少因无效值导致的程序错误。
想象一下,你为一家果汁店写程序。果汁的杯型只有小杯、中杯、大杯三种。用枚举来定义杯型,就能确保顾客点不了“超大杯”或“迷你杯”这种不存在的选项。
来看个枚举的简单例子:
class FreshJuice {
enum FreshJuiceSize{ SMALL, MEDIUM, LARGE }
FreshJuiceSize size;
}
public class FreshJuiceTest {
public static void main(String []args){
FreshJuice juice = new FreshJuice();
juice.size = FreshJuice.FreshJuiceSize.MEDIUM;
}
}
需要注意的是,枚举既可以单独声明,也可以声明在某个类的内部。甚至在枚举里,也能定义方法、变量和构造函数。
下面这张表列出了Ja va的所有关键字。这些词是语言的保留字,有特殊含义,绝对不能用来给常量、变量或任何标识符起名字。
| 类别 | 关键字 | 说明 |
|---|---|---|
| 访问控制 | private | 私有的 |
| protected | 受保护的 | |
| public | 公共的 | |
| 类、方法和变量修饰符 | abstract | 声明抽象 |
| class | 类 | |
| extends | 扩充,继承 | |
| final | 最终值,不可改变的 | |
| implements | 实现(接口) | |
| interface | 接口 | |
| native | 本地,原生方法(非Ja va实现) | |
| new | 新,创建 | |
| static | 静态 | |
| strictfp | 严格,精准 | |
| synchronized | 线程,同步 | |
| transient | 短暂 | |
| volatile | 易失 | |
| 程序控制语句 | break | 跳出循环 |
| case | 定义一个值以供switch选择 | |
| continue | 继续 | |
| default | 默认 | |
| do | 运行 | |
| else | 否则 | |
| for | 循环 | |
| if | 如果 | |
| instanceof | 实例 | |
| return | 返回 | |
| switch | 根据值选择执行 | |
| while | 循环 | |
| 错误处理 | assert | 断言表达式是否为真 |
| catch | 捕捉异常 | |
| finally | 有没有异常都执行 | |
| throw | 抛出一个异常对象 | |
| throws | 声明一个异常可能被抛出 | |
| try | 捕获异常 | |
| 包相关 | import | 引入 |
| package | 包 | |
| 基本类型 | boolean | 布尔型 |
| byte | 字节型 | |
| char | 字符型 | |
| double | 双精度浮点 | |
| float | 单精度浮点 | |
| int | 整型 | |
| long | 长整型 | |
| short | 短整型 | |
| 变量引用 | super | 父类,超类 |
| this | 本类 | |
| void | 无返回值 | |
| 保留关键字 | goto | 是关键字,但不能使用 |
| const | 是关键字,但不能使用 | |
| null | 空 |
写代码时加上注释是个好习惯,Ja va的注释写法和C/C++很像,编译器会忽略注释内容。支持单行和多行两种形式:
public class HelloWorld {
/* 这是第一个Ja va程序
* 它将打印Hello World
* 这是一个多行注释的示例
*/
public static void main(String []args){
// 这是单行注释的示例
/* 这个也是单行注释的示例 */
System.out.println("Hello World");
}
}
编译器会忽略代码中的空白行或者只包含注释的行,所以你可以放心地用空行来分隔代码块,让结构更清晰。
继承是Ja va面向对象编程的一大法宝。简单说,就是你可以基于一个已有的类(称为超类或父类)来创建新的类(称为子类)。
这样做的好处显而易见:子类可以直接复用超类已有的属性和方法,无需从头再写一遍代码,大大提高了代码的复用性和可维护性。
接口,你可以把它理解为对象之间相互通信时遵守的一份“契约”或协议。它在继承体系中扮演着关键角色。
接口的精妙之处在于:它只声明派生类需要实现哪些方法,但具体怎么实现这些方法,完全交给派生类自己决定。这为实现多态和定义通用规范提供了极大的灵活性。
最后,我们通过一张图来直观感受一下Ja va程序的编写、编译和运行过程,以及与纯编译型语言的区别:

好了,关于Ja va的基础语法,我们就先介绍到这里。下一节,我们将深入探讨Ja va编程的核心——类和对象。理解了它们,你对Ja va的认识会再上一个台阶。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9