基本语法
基本 语法
在写Java 程序 时,有几点 需要 注意 :
大小写敏感 :Java 对大小写 敏感 ,这意味着 标识符 Hello不同于 hello 。
classname:所有 类名称 的首字母 都要 大写 。
若类名称 包含 许多 单词 ,则每个 单词 的首字母 都要 大写 ,比如 MyFirstJavaClass。
方法论 名称 :所有 名法的名字 必须 以小写字母 开始 。
假如 一个 方法 名包含 了几个 单词 ,那么 后面 的每个 单词 都将大写 。
Sourcefilename:必须 与classname相同 。
在保存 文件 时,您应该 将类名称 保存 为文件名 (请记住 Java是大小写 敏感 的),文件名 有.java后缀 。
(文件名 和类名称 不同 ,将导致 编译 错误 )。
Publicstaticvoidmain(string[]args)方法 开始 执行 所有 Java 程序 。
Java 标识符
Java 所有 组件 都需要 名字 。
类的名称 、变量 名称 和方法 名称 都叫做 标识符 。
在Java标识符方面 ,有一些事情 需要 注意 :
一切 识别 符号 应以字母 (A-Z或a-z)、美元 ($)或下划线 (_)开头 。
首字元后面 可以是字母 (A-Z或a-z)、美元 符($)、下划线 (_)或数字 的任意 字符 组合 。
无法 将关键词 用作 标识符 。
识别 项与大小写 相关 。
例如 :age,$salary,_value ,__ 1_value 。
举个例子 :123 abc ,-salary。
Java修饰符
与其它 语言 一样 ,Java 也可以 用修饰符 修饰 类中的方法 和属性 。
存在 两种 主要 的修饰符 :
存取控制修改 符:default、public、protected、私有 。
未存取控制修饰符 :final、abstract、static 、synchronized。
我们 将在后续 章节 深入探讨 Java 修饰符 。
Java 变量
在Java 中,有一些主要 的变量类型 ,如下 。局部变量
变数 (静态 变数 )
变数 (非静态 变数 )
Java 数组
数组 是存储 在堆中 并可以保存 相同 类型 的多个 变量 的对象 。
Java 枚举
Java5.0 引入 枚举,该枚举限制变量只能为预设值 。
Enum减少了代码中的bug 。
举例来说,我们为果汁店设计一套 程序 ,把果汁限制 为小、中、大的。
这就是说 ,顾客 点不能 只允许 三个外号加汁。
实例
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 ; } }注意:枚举可以单独声明或者声明在类里面。方法、变量、构造函数也可以在枚举中定义。
Java 关键字
下面列出了 Java 关键字。这些保留字不能用于常量、变量、和任何标识符的名称。
类别 | 关键字 | 说明 |
---|---|---|
访问控制 | private | 私有的 |
protected | 受保护的 | |
public | 公共的 | |
default | 默认 | |
类、方法和变量修饰符 | abstract | 声明抽象 |
class | 类 | |
extends | 扩充,继承 | |
final | 最终值,不可改变的 | |
implements | 实现(接口) | |
interface | 接口 | |
native | 本地,原生方法(非 Java 实现) | |
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 | 是关键字,但不能使用 |
注意:Java 的 null 不是关键字,类似于 true 和 false,它是一个字面常量,不允许作为标识符使用。
Java注释
类似于 C/C++、Java 也支持单行以及多行注释。注释中的字符将被 Java 编译器忽略。
public class HelloWorld { /* 这是第一个Java程序 * 它将输出 Hello World * 这是一个多行注释的示例 */ public static void main(String[] args){ // 这是单行注释的示例 /* 这个也是单行注释的示例 */ System.out.println("Hello World"); } }Java 空行
空白行或者有注释的行,Java 编译器都会忽略掉。
继承
一个 类可以从Java 中派生 出来 。
当您正在 创建 一个 类,并且 已经 有一个 拥有 您需要 的属性 或方法 的类时,您可以继承 这个 类。
使用 继承 的方法 ,一个 已经 存在 的类的方法 和属性 可以在不 重写 的情况 下重复使用 。
所继承 的类称为 子类 (superclass),派生类 称为 subclass。
接口
使用 Java 时,接口 可以被理解 为对象 之间 互相 通信 的协议 。
界面 在继承 方面 起着非常 重要 的作用 。
一个 接口 仅定义 了派生 使用 的方法 ,但该方法 的具体 实现 完全 依赖于 衍生 类。