Page tree
Skip to end of metadata
Go to start of metadata

中文标题【基本句法】

一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。

  • 对象(Object )− 对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。

  • 类(Class) − 一个类可以被定义为一个模板或者蓝图一个模板。它描述一类对象的行为和状态。

  • 方法(Methods) − 方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。

  • 实例变量(Instance Variables) − 每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。

第一个 Java 程序

让我们看看一个简单的 Java 程序代码,这个程序将会输出字符串 Hello World。

示例代码

GitHub 源代码

package com.ossez.lang.tutorial.overview;




/**

 * Java Tutorial

 * 

 * @author YuCheng

 *

 */

public class HelloWorld {

	public static void main(String[] args) {

		System.out.println("Hello World");

	}

}





下面将逐步介绍如何保存、编译以及运行这个程序:

  • 打开Notepad,把上面的代码添加进去。.

  • 保存文件为 HelloWorld.java.

  • 在 Windows 中打开你的命令行工具,假设你保存的文件在 C:\ 目录下。

  • 输入 'javac HelloWorld.java' 命令,然后回车来编译 Java 源代码。如果你的编译没有错误,命令行输入工具将会让你进入下一行中(假设:path 环境变量已设置)。

  • 现在输入' java HelloWorld' 命令来运行你的程序。

  • 现在你应该可以在你的屏幕上看见 ' Hello World ' 被打印出来了。

输出

C:\> javac HelloWorld.java
C:\> java HelloWorld
Hello World

基本句法

在编写 Java 程序的时候,你需要注意下面的一些重要特性。

  • 大小写敏感(Case Sensitivity) − Java 程序是大小写敏感的,这个意思是 Hello 和 hello 在 Java 程序中的定义是不同的。
  • 类名(Class Names) − 对所有的类来说,类名字的第一个字母是需要大写的。如果你的类名中有多个单词,那么每一个单词的首字母应该大写。例如:class HelloWorld
  • 方法名(Method Names) − 所有的方面都应该是首字母小写的。如果方法名含有若干单词,则除了首字母后面的每个单词首字母大写。例如: public void myMethodName()
  • 源程序文件名(Program File Name) − 源程序文件名应该和你的类的名字是一致的。当你保存文件的时候,你应该将文件名命名为类的名字(请记住,Java 是大小写敏感的),你应该使用类的名字为保存为你的源代码文件名,然后在文件名的末尾添加 '.java' 后缀名(如果你的文件名和你的类名不相同的话,你的 Java 源代码是不能被编译的)。例如,假定你的类名为 'MyFirstJavaProgram',那么这个类的源代码文件名应该被保存为 'MyFirstJavaProgram.java'
  • 主方法 − Java 程序的运行是从 main() 主方法开始运行的。针对需要运行的 Java 程序,这个方法很重要。主方法的常规写法为: public static void main(String[] args) 

标识符

Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。

关于Java标识符,有以下几点需要注意下面几点:

  • 所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始
  • 首字符之后可以是字母(A-Z或者a-z),美元符($)、下划线(_)或数字的任何字符组合
  • 关键字不能用作标识符
  • 更重要的是,标识符是大小写敏感的

  • 合法的标识符示例:age,$salary, _value, __1_value

  • 非法的标识符示例:123abc, -salary

修饰符

像其他语言一样,Java 可以使用修饰符来修饰类中方法和属性。主要有两类修饰符:

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

在后续的章节中,我们对 Java 的修饰符进行阐述和说明。

变量

在 Java 中主要有下面的几种变量:

  • 局部变量
  • 类变量(静态变量)
  • 成员变量(非静态变量)

数组

数组是存储相同类型的多个变量的一个对象。同时任何数字自己也是在堆上的退信。

我们将会在后续的文章中介绍如何定声明,构造,初始化数字。

枚举

枚举(Enums )是在 Java 5.0 版本以后引入的概念。 枚举限制变量只能是预先设定好的值。在枚举列表中的值被称为 enums。

随着枚举的引入,能够帮助你减少在代码编写中的 bug。

例如,我们为果汁店设计一个程序,它将限制果汁为小杯、中杯、大杯。这就意味着它不允许顾客点除了这三种尺寸外的果汁。

示例代码

GitHub 源代码

package com.ossez.lang.tutorial.overview;

/**
 * Java Tutorial Enums
 * 
 * @author YuCheng
 *
 */
class FreshJuice {
	enum FreshJuiceSize {
		SMALL, MEDIUM, LARGE
	}

	FreshJuiceSize size;
}

public class FreshJuiceEnums {
	public static void main(String[] args) {
		FreshJuice juice = new FreshJuice();
		juice.size = FreshJuice.FreshJuiceSize.MEDIUM;
		System.out.println("Size: " + juice.size);
	}
}


上面的代码程序将会输出下面的结果−

输出

Size: MEDIUM


请注意 − 枚举类型可以在单独的类中定义,或者可以在一个其他的类中定义。方法,变量,构造函数也可以被定义为枚举类型。

关键字

下面的列表为 Java 的保留关键字列表。下面的保留关键字不能够被在常量和变量中定义。

类别关键字说明
访问控制

private私有
protected受保护的
public公共的
类,方法和变量修饰符











abstract抽象声明
class
extends扩展,继承
final最终,不可以改变
implements实现(接口)
interface接口
native本地,原生方法(非 Java 实现)
new新,创建
static静态
strictf严格,精准
synchronized线程,同步
transient短暂
volatile易失
程序控制语句










break跳出循环
case定义一个值以供 switch 选择
continue继续
default默认
do运行
else否则
for循环
if

如果

instanceof实例
return返回
switch根据值进行选择
while循环
错误和异常处理



assert断言表达式是否为真
catch捕获异常
finally有没有异常都会执行的程序块
throw抛出异常
try捕获异常
包相关import导入
package
基本数据类型






boolean布尔型
byte字节类型
chart字符类型
double双精度浮点类型
float单精度浮点类型
int整数类型
long长整型
short短整型
变量引用

super父类,超类
this本类
void无返回
保留关键字

goto不能使用的关键字
const不能使用的关键字
null



注释

Java 能够支持单行注释和多行注释,这个和 C / C++ 十分类似。

注释中的所有字符串都会被 Java 编译器忽略。

示例代码

GitHub 源代码

package com.ossez.lang.tutorial.overview;

/**
 * Java Tutorial
 * 
 * This is my first java program. This will print 'Hello World' as the output This is an example of multi-line comments
 * 
 * @author YuCheng
 *
 */
public class HelloWorld {
	public static void main(String[] args) {
		// This is an example of single line comment
		/* This is also an example of single line comment. */

		System.out.println("Hello World");
	}
}

输出

Hello World

空行

对只有空格的行或者是有注释的行,Java 编译器将会完全忽略掉。

继承

在Java中,一个类可以由其他类派生。如果你要创建一个类,而且已经存在一个类具有你所需要的属性或方法,那么你可以将新创建的类继承该类。

利用继承的方法,可以重用已存在类的方法和属性,而不用重写这些代码。被继承的类称为超类(super class),派生类称为子类(subclass)。

接口

在Java中,接口可理解为对象间相互通信的协议。接口在继承中扮演着很重要的角色。

接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生的子类。

Java 源代码和 C 源代码的运行区别

与其他程序的执行方式和编译方式不同。

Java 源代码需要进行编译成字节码后在 Java 虚拟机上运行,这样 Java 程序能够保持独立性和跨平台功特性。

请参考下图。

java-source-code-to-jvm

  • No labels