基本概念

关键字与保留字

每一种编程语言,都有一些特殊含义的标识符;比如,关键字用于定义不同类型的代码元素和代码结构,保留字有时并没有在编程语言中应用,但未来或某些场合会有特定的含义。

Java中的关键字和保留字如下图,代码中定义自己的标识符时,应注意不要使用它们命名。

注释

代码中的注释可以有效地说明代码功能、实现逻辑等事项,对于代码的阅读和维护有很大的帮助。

Java中的注释共有三种,分别是行注释、块注释和文档注释。

行注释,使用//开始,到本行的结束都作为注释内容。

块注释,使用/*开始,*/结束,其中可以包含一行或多行注释内容。请注意,块注释不能嵌套使用。

文档注释,在块注释中使用一些指令,可以定义不同的注释元素,通过javadoc工具,可以提取这些内容,并生成HTML格式的代码说明文档。

下面的代码,演示了行注释的块注释的使用。

Java
/* 块注释1 
* HelloProject,第一个Java项目 
*/
// 行注释1,应用主类
public class Hello {
	public static void main(String[] args) {
		System.out.println("Hello, Java."); // 行注释2,在控制台输出一些文本
	}
}

接下来的课程中,使用较多的是行注释和块注释,文档注释会有专门的课时来介绍。

基本数据类型

虽然Java是一种面向对象编程语言,但它还是保留了一些基本数据,称为原始类型(primitive type),这些数据类型可以很方便地进行基本数据的处理工作。

Java中的基本数据类型共有8个,它们是:

  • 整数,分别使用byte、short、int和long关键字定义。
  • 浮点数,分别使用float和double关键字定义。
  • 字符,表示一个Unicode字符,使用char关键字定义。
  • 布尔类型,又称为逻辑类型,使用boolean关键字定义。

这8种类型的数据处理范围如下表。

类型取值范围默认值尺寸
byte-128到12708位
short-32768到32767016位
int-2147483648到2147483647032位
long-9223372036854775808到9223372036854775807064位
float1.4E-45到3.4028235E380.032位
double4.9E-324到1.7976931348623157E3080.064位
charUnicode字符,编码\u0000到\uFFFF\u000016位
booleantrue或false值false1位

除了基本的数据类型,大家比较关注的数据类型可能就是文本信息的处理了,在Java中,基本的文本信息使用字符串类(String)处理。

定义字符串时使用一对双引号,前面的示例中已经使用过了,如"Hello, Java."。暂时,我们只需要使用一对双引号来定义字符串,后续的课程中还会有更多关于字符串操作的内容。

变量

大家对变量的概念应该不陌生,比如,在数学计算中,经常会使用x、y、z等作为未知数来解方程;代码中,变量用于保存数据,其数据可以根据需要而变化。

使用变量时应注意几个要素,包括类型、名称和值。如下面的代码。

Java
int x = 10;

代码中定义了变量x,其中,类型为int(32位整数),名称是x,值是10。

定义变量时,也可以将定义和赋值分开,如下面的代码。

Java
int x,y;
x = 10;
y = 99;

代码中同时定义了两个相同类型的变量,分别是x和y,使用英文字符的逗号分隔;当然,同时定义多个类型相同的变量时也可以赋值,如下面的代码。

Java
int x=10,y=99;

变量名可以使用字母、下画线、$符号和数字,但第一个字符不能使用数字。此外,不要使用Java关键字和保留字。

常量

常量是指定不会变化的量,如圆周率、e值等。在Java代码中定义常量,在指定类型、名称和值的同时,还需要使用final关键字,如下面的代码。

Java
public class Hello {
	public static void main(String[] args) {
		final int MAX_AGE = 150;
		System.out.println(MAX_AGE);
	}
}

本例中,在main()方法中定义了常量MAX_AGE,它定义为int类型,值为150。

常量名称使用大写字母是一个习惯,但不是必须的;在项目或团队中应有统一的标准,便于交流和代码维护工作。

面向对象编程

面向对象编程(OOP,Object-Oriented Programming)是比较流行的编程方式之一,简单地说,面向对象编程一方面可以将数据和数据的操作进行封装,使得代码耦合度更高;另一方面,通过封装、继承等方式,可以更加有效地组织和利用代码。

面向对象编程中的两个基本概念是类(class)和对象(object)。

类,可以看作是一种复杂的数据类型,比如,CAuto类表示汽车类型,可以使用model属性表示型号,drive()方法表示驾驶操作。

对象,可以看作某个类类型的变量,比如,car对象定义为CAuto类型,那么,car对象就是CAuto类的一个实例。

下面,通过“Package Explorer”中的默认包(default package)右键菜单项“New”>>“Class”添加一个类,如下图。

在类信息中,将类名指定为CAuto,如下图。

然后,修改CAuto.java文件的内容如下。

Java
public class CAuto {
	public String model;
		public void drive() {
		System.out.println(model + "行驶中...");
	}
}

接下来,修改Hello.java文件内容如下。

Java
public class Hello {
	public static void main(String[] args) {
		CAuto car = new CAuto();
		car.model = "XL19";
		car.drive();
	}
}

代码执行结果如下图。

此外,在方法名后的一对圆括号中指定的数据称为“参数”,用于向方法内部传递数据,方法中,可以通过return语句返回执行结果,在后续课程中还会详细讨论相关内容。

表达式和语句

表达式(expression)和语句(statement)最明显的区别在于,一个表达式最终会产生一个数据,而语句则用于完成程序的子任务。

“x = 10”是一个赋值表达式,其功能是将数据10赋值到变量x中,表达式的值就是变量x赋值后的数据;“x = 10;”是一条语句,它的任务就是将数据10赋值给变量x。

下面的代码显示了“x= 10”表达式的数据,执行程序会显示10。

Java
public class Hello {
	public static void main(String[] args) {
		int x;
		System.out.println(x = 10);
	}
}

Java代码中,除了使用分号(;)结束的单个语句,还有一些语句结构,如if语句等;在语句结构中,如果子任务需要使用多个语句,则应使用一对花括号将这些语句组合起来,称为语句块或复合语句。

代码组织

前面的示例,我们使用了扩展名为.java的文件,这是编写Java代码的标准文本文件;随着项目中的代码越来越多,如何有效组织代码就是一个必须考虑的问题了。

类,我们说过,类可以让数据及其操作耦合度更高、代码的组织更有效。一个.java文件中会定义一个类,而且,文件名应该和其中定义的公共(public)类同名,如前面示例中的Hello.java和CAuto.java文件分别定义了Hello类和CAuto类。

除了使用类封装代码,对于一系列相关的类,还可以定义在一个包(package)中;前面的示例中,Hello和CAuto类都定义在默认包(default package)中。在JDK中提供了大量的开发资源,它们定义在一系列的包中,在代码文件中引用这些资源时,需要使用import关键字,如下面的代码。

Java
import java.util.*;
public class Hello {
	public static void main(String[] args) {
		List<String> names = new ArrayList<String>();
		names.add("Tom");
		names.add("Jerry");
		for(String name : names) {
			System.out.println(name);
		}
	}
}

代码中引用了java.util包中的所有资源(使用*符号表示所有资源),但我们只使用了其中的List<>泛型接口和ArrayList<>泛型类,如果只需要引用这两个资源,可以使用如下代码。

Java
import java.util.List;
import java.util.ArrayList;
public class Hello {
	public static void main(String[] args) {
		List<String> names = new ArrayList<String>();
		names.add("Tom");
		names.add("Jerry");
		for(String name : names) {
			System.out.println(name);
		}
	}
}

在代码文件中定义所在的包时,需要使用package关键字,并且要放在代码文件中的最顶端,如下面的代码。

Java
package com.caohuayu.demo;
// 其他代码

引用这个包中所有资源时,可以使用如下代码。

Java
import com.caohuayu.demo.*;
本站内容均为原创作品,转载请注明出处,本页面网址为:http://caohuayu.com/chy/article/Article.aspx?code=cc001002