本章重点:
l Java基本语法规则
l 数据类型
l 变量、字符串、数组和运算符
l 输入输出
l 控制流程
l 大数值
3.1 Java基本语法规则
(1)基本规则
Ø Java程序对大小写敏感,即严格区分大小写。
Ø Java应用程序中的全部内容都必须放置在类中,类是构建所有Java应用程序和applet的构建块。
Ø Java是面向对象的语言,完美体现了OOP的三大精神:封装性、继承性和多态性。
Ø Java的模块设计追求高内聚低耦合。
Ø Java对象在内存中的产生步骤:1,分配内存;2,初始化实例变量;3,执行构造方法。
Ø Java中的静态变量和方法在类被加载的时候就被赋值。
Ø Java中的类只能使用public和default限定访问权限,没有限定词时默认为default。
Ø Java中四个访问控制关键字:public,protected,default,private
private:本类可见,局部变量不能用private;
default:本类可见,本包内可见;
protected:本类、本包及子类可见;
public:所有可见;
Ø java类中可包含多个static代码块,创建对象时依次执行,但只是创建对象时执行一次,以后不再执行。
Ø Java中所有的类都继承自Object类,如果没有显示的指定继承,系统会默认继承自Object类。
Ø package、import、class定义的顺序不能乱,否则违反了java的语法规则,编译不通过。
Ø Java语言使用unicode标准字符集,最多可以识别65535个字符,unicode字符表的前128个字符刚好是ASCII表。每个国家的“字母表”的字母都是unicode表中的一个字符,比如汉字中的“你”字就是unicode表中的第20320字符。
Ø 一个java源文件中只能包含一个公共类(public class 类名),且源代码的文件名必须与公有类的名字相同,并用.java作为扩展名,例如FirstSample.java(注意大小写非常重要)。
(2)标识符定义规则
Ø 标识符指用来标识类名,变量名,方法名,类型名,数组名,文件名的有效序列。简单地说,标识符就是一个名字。
Ø Java语言规定:标识符由字母,下划线,美元符号和数字组成,并且第一个字符不能是数字字符。标识符中的字母是区分大小写的,但不能使用java保留字和关键字。
Ø Java的命名规则:类名首字母大写,接口名首字母大写;方法名首字母小写,变量名首字母小写;常量名全部大写。例如:通常,类名是以大写字母开头的名词,如果名字由多个单词组成,每个单词的第一个字母都应该大写(如类名FirstSample)。
(3)分隔符定义规则
Ø 分隔符用来分隔和组合标识符,辅助编译程序阅读和理解Java源程序;
Ø 分隔符分为两类:一类是没有意义的空白符;一类是拥有确定语法含义的分隔符;
Ø 空白符包括空格、回车、换行和制表符Tab键,作用就是分隔标识符。空白符的数量没有含义,一个空白符与连续多个空白符的作用相同。
Ø 具有确定语法含义的分隔符大致有6种:
分隔符 | 名称 | 功能说明 |
{ } | 大(花)括号 | 用于定义程序块、类、方法以及局部范围,也用来包括自动初始化的数组的值。 |
[ ] | 中括号 | 用来进行数组的声明,也用来表示撤销对数组值的引用。 |
( ) | 小括号 | 在定义和调用方法时用来容纳参数表;在控制语句或强制类型转换组成的表达式中用来表示执行或计算的优先权。 |
; | 分号 | 用来表示一条语句的结束。在for控制语句中,分隔圆括号内的语句。 |
, | 逗号 | 分隔方法定义中的多个参数,或分隔相同类型的多个变量的定义。在for语句中可分隔表达式列表。 |
: | 冒号 | 说明语句标号 |
(4)程序运行入口
Ø 运行编译程序时,Java虚拟机将从指定类中的main方法开始执行。如
public class FirstSample
{
public static void main(String[] args)
{
System.out.println(“This is first Sample Program!”);
}
}
Ø main方法必须声明为public static ,返回值类型为void,main方法是整个Java程序的运行入口。
Ø 如果main方法正常退出,那么java应用程序的退出代码为0,表示成功运行;如果希望在终止程序时返回其他代码,可以调用System.exit方法。
(5)Java简单语句
Ø Java语句必须以“;”结束,特别说明回车不是java语句的结束标志,因此一条语句可写在多行上。
Ø 回车符是分隔符,因此诸如一个字符串是不允许跨行的。
(6)Java代码块(block)
Ø 代码块即复合语句,是由一对花括号“{”和“}”括起来的若干条简单Java语句的组合。
Ø 代码块确定了变量的作用域,同时一个块允许嵌套在另一个块中,但注意嵌套的代码块中不允许出现同名变量。
Ø C/C++和Java代码块的基本比较:
程序语言 | 代码块标识 | 是否允许嵌套 | 嵌套的代码块中是否可以声明同名变量 |
C/C++ | 以“{”开始,以“ }”结束 | 允许 | 允许 注:内层定义的变量会覆盖在外层定义的变量 |
Java | 以“{”开始,以“ }”结束 | 允许 | 不允许 |
(7)Java的注释
java有三种书写注释的方式:
注释符 | 注释范围 | 注意事项 | 作用和优点 |
// | 从//开始到本行结尾 | 不能跨行 | 单行注释,最常用 |
/* */ | 从“/*”开始到“*/”结束的中间的所有内容均为注释 | 不能嵌套 | 长篇注释 |
/** */ | 从“/**”开始到“*/”结束的中间的所有内容均为注释 | 不能嵌套 | 长篇注释,可用来自动生成文档 |
例子:最好在每个源文件的开头均书写以下信息的注释
/**
*程序的用途
*@version 版本号 程序书写时间(年-月-日)
*@author 作者名字
*/
(8)Java变量和常量
Ø Java是一种强类型语言,必须为每一个变量声明一种类型,不同类型间的操作有严格定义;并且与C/C++不同,Java的基本类型长度为固定长度。
Ø Java的变量必须先定义后使用,变量在赋值时才分配内存空间。
Ø 变量未赋初值时,对于基本类型的全局变量在产生类的实例时会被系统自动赋值(默认值),而对于局部变量的值则不能确定,因此使用变量前最好赋初值。
Ø 在方法中定义的基本类型变量和对象的引用变量都是在方法的栈内存中分配的,而堆内存用来存放由new创建的对象和数组,在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。
Ø Java中内建的基本变量类型有八种,包含整型常量,浮点型常量,布尔常量等。它们的大小都是确定的。不会因为机器或者操作系统的不同而不同,这一点和C/C++语言不一样。
附1.java语言规范的官方文档:http://java.sun.com/docs/books/jls
附2.java的保留字和关键字
保留字以后可能用。
关键字现在就已经使用。
Java保留关键字:
数据类型 |
Boolean int long short byte float double char class interface |
流程控制 |
if else do while for switch case default break continue return try catch finally |
修饰符 |
public protected private final void static strictfp abstract transient synchronized volatile native |
动作 |
package import throw throws extends implements this Super instanceof new |
保留字 |
true false null goto const |