1、 Java 主类结构
Java语言是面向对象的程序设计语言,Java程序的基本组成单元是类,类体又包括属性与方法。每个应用程序都必须包含一个main()函数,含有main()方法的类成为主类。如下图所示:
注意:代码中的所有标点符号都是英文字符。注意大小写,Java是区分大小写的。
图中红框的部分中main()方法是类体中的主方法。该方法从“{”号开始,至“}”号结束。public、 static 和 void 分别是main()方法的权限修饰符、静态修饰符和返回值修饰符,Java程序中的main()方法必须声明为public static void。String[] args是一个字符串类型的数组,它是main()方法的参数
2、基本数据类型
在Java中有8中基本数据类型来存储数值、字符和布尔型。如下图所示:
A、使用 byte 关键字来定义byte型变量,可以一次定义多个变量并对其进行赋值,也可以不进行赋值。byte型是整型中所分配的内存空间是最少的,只分配1个字节;取值范围也是最小的,只在-128和127之间,在使用时一定要注意,以免数据溢出产生错误。
B、 short 型即短整型,使用short关键字来定义short型变量,可以一次定义多个变量并对其进行赋值,也可以不进行赋值。系统给short型分配2个字节的内存,取值范围也比byte型大了很多,在-32768和32767之间,虽然取值范围变大,但是还是要注意数据溢出。
C、int型即整型,使用int关键字来定义int型变量,可以一次定义多个变量并对其进行赋值,也可以不进行赋值。int型变量取值范围很大,在-2147483648和2147483647之间,足够一般情况下使用,所以是整型变量中应用最广泛的。
D、 long 型即长整型,使用long关键字来定义long型变量,可以一次定义多个变量并对其进行赋值,也可以不进行赋值。而在对long型变量赋值时结尾必须加上“L”或者“l”,否则将不被认为是long型。当数值过大,超出int型范围的时候就使用long型,系统分配给long型变量8个字节,取值范围则更大,在-9223372036854775808和9223372036854775807之间。
E、float型即单精度浮点型,使用float关键字来定义float型变量,可以一次定义多个变量并对其进行赋值,也可以不进行赋值。在对float型进行赋值的时候在结尾必须添加“F”或者“f”,如果不加,系统自动将其定义为 double 型变量。float型变量的取值范围在1.4E-45和3.4028235E-38之间。
F、double型即双精度浮点型,使用double关键字来定义double型变量,可以一次定义多个变量并对其进行赋值,也可以不进行赋值。在给double型赋值时,可以使用后缀“D”或“d”明确表明这是一个double类型数据,但加不加并没有硬性规定,可以加也可以不加。double型变量的取值范围在4.9E-324和1.7976931348623157E-308之间。
G、 char 型既字符类型,使用char关键字进行声明,用于存储单个字符,系统分配两个字节的内存空间。在定义字符型变量时,要用 单引号 括起来,例如‘s’表示一个字符,且单引号中只能有一个字符,多了就不是字符类型了,而是字符串类型,需要用双引号进行声明。
H、布尔类型又称逻辑类型,只有两个值“true”和“false”,分别代表布尔逻辑中的“真”和“假”。使用 boolean 关键字声明布尔类型变量,通常被用在流程控制中作为判断条件。
三、变量与常量
在程序执行的过程中,其值不能被改变的量称为常量,其值能被改变的量称为变量。常量和变量的命名必须使用合法的标识符。
1、标识符
Java语言的标识符由字母、数字、下划线和美元符号组成,第一个字符不能为数字。标识符不能是Java的关键字和保留字。
在Java语言中标识符是区分大小写的,如果两个标识符的字母相同但是大小写不同,就是不同的标识符。
2、关键字
Java关键字如下所示:
关键字 | 含义 |
abstract | 表明类或者成员方法具有抽象属性 |
assert | 用来进行程序调试 |
boolean | 基本数据类型之一,布尔类型 |
break | 提前跳出一个块 |
byte | 基本数据类型之一,字节类型 |
case | 用在switch语句之中,表示其中的一个分支 |
catch | 用在异常处理中,用来捕捉异常 |
char | 基本数据类型之一,字符类型 |
class | 类 |
const | 保留关键字,没有具体含义 |
continue | 回到一个块的开始处 |
default | 默认,例如,用在switch语句中,表明一个默认的分支 |
do | 用在do-while 循环结构 中 |
double | 基本数据类型之一,双精度浮点数类型 |
else | 用在条件语句中,表明当条件不成立时的分支 |
enum | 枚举 |
extends | 表明一个类型是另一个类型的子类型,这里常见的类型有类和接口 |
final | 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量 |
finally | 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块 |
float | 基本数据类型之一,单精度浮点数类型 |
for | 一种循环结构的引导词 |
goto | 保留关键字,没有具体含义 |
if | 条件语句的引导词 |
implements | 表明一个类实现了给定的接口 |
import | 表明要访问指定的类或包 |
instanceof | 用来测试一个对象是否是指定类型的实例对象 |
int | 基本数据类型之一,整数类型 |
interface | 接口 |
long | 基本数据类型之一,长整数类型 |
native | 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的 |
new | 用来创建新实例对象 |
package | 包 |
private | 一种访问控制方式:私用模式 |
protected | 一种访问控制方式:保护模式 |
public | 一种访问控制方式:共用模式 |
return | 从成员方法中返回数据 |
short | 基本数据类型之一,短整数类型 |
static | 表明具有静态属性 |
strictfp | 用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范 |
super | 表明当前对象的父类型的引用或者父类型的构造方法 |
switch | 分支语句结构的引导词 |
synchronized | 表明一段代码需要同步执行 |
this | 指向当前实例对象的引用 |
throw | 抛出一个异常 |
throws | 声明在当前定义的成员方法中所有需要抛出的异常 |
transient | 声明不用序列化的成员域 |
try | 尝试一个可能抛出异常的程序块 |
void | 声明当前成员方法没有返回值 |
volatile | 表明两个或者多个变量必须同步地发生变化 |
3、声明变量
变量命名必须是合法的标识符。变量的命名规则如下:
A、变量名必须是一个有效的标识符;
B、变量名不可以使用Java关键字;
C、变量名不能重复;
D、应选择有意义的单词作为变量名。
4、声明常量
在Java语言中声明一个常量,除了要指定数据类型外,还需要通过final关键字进行限定。声明常量的标准语法如下:final 数据类型 常量名称[=值]。注意:当定义的final变量属于“成员变量”时,必须在定义时就设定它的初值,否则将会产生编译错误。
5、变量的有效范围
变量的有效范围是指程序代码能够访问该变量的区域,若超出变量所在区域访问变量则编译时会出现错误。在程序中,一般会根据变量能够访问的区域将变量分为“成员变量”和“ 局部变量 ”。
A、成员变量
在类体中所定义的变量被称为成员变量,成员变量在整个类中都有效。类的成员变量又可分为静态变量和实例变量。
B、局部变量
在类的方法体中定义的变量(“{}”之间代码定义的变量)成为局部变量。局部变量只能在当前代码块中有效。