《JAVA_电子教案精编版》由会员分享,可在线阅读,更多相关《JAVA_电子教案精编版(61页珍藏版)》请在金锄头文库上搜索。
1、第2章 Java基本语法,2.1 Java语言的基本元素 2.2 数据类型 2.3 运算符与表达式 2.4 数组,例2.1 编写一个简单的Java Application源程序: Welcome2.java。程序的运行结果是输出一句话“欢迎使用Java 2”,如图2.1所示。 /这是一个简单的Java Application源程序 class Welcome2 public static void main(String args) System.out.println(欢迎使用Java 2); / 结束main方法定义 / 结束类Welcome2定义,2.1 Java语言的基本元素,图 2.
2、1 可以知道Java语言包含标识符、关键字、运算符和分隔符等元素。这些元素有着不同的语法含义和组成规则,它们互相配合,共同组成Java的语句。,在Java中,变量以及类和方法都需要一定的名称,这种名称就叫做标识符。所有的标识符都必须是以一个字母、下划线或美元符号“$”开头的一串字符,后面的字符可以包含字母、数字、下划线和美元符号。 表2.1 标识符命名正误对照表,2.1.1 标识符,标识符是由程序员自己定义的名称,可按上面的规则随意选取。不过,Java中有一个标识符命名约定: 常量用大写字母,变量用小写字母开始,类以大写字母开始。如果一个变量名由多个单词构成,第一个单词后面的单词以大写字母开始
3、,例如anInt。下划线虽然可以作为标识符的一员,但常用于常量名的单词分隔,因为常量名都是以大写字母单词命名的。还要注意一点,Java严格区分字母大小写,标识符中的大小写字母被认为是不同的两个字符。例如以下是4个不同的合法标识符: ad、Ad、aD、Da。,关键字是Java语言本身使用的标识符,它有其特定的语法含义,如public表示公有的,static为静态的。所有的Java关键字将不能被用作标识符,如for、while、boolean等都是Java语言的关键字。关键字用英文小写字母表示,参见表2.2。,2.1.2 关键字,表2.2 Java关键字 注: 带*号的关键字现在已不使用。,1.
4、注释符 注释是程序员为了提高程序的可读性和可理解性,在源程序的开始或中间对程序的功能、作者、使用方法等所写的注解。注释仅用于阅读源程序,系统编译程序时,忽略其中的所有注释。注释有两种类型: (1) / 注释一行。 以“/”开始,最后以回车结束。一般作单行注释使用,可放在某个语句的后面。 (2) /* */一行或多行注释。 以“/*”开始,最后以“*/”结束,中间可写多行。,2.1.3 分隔符,2. 空白符 空白符包括空格、回车、换行和制表符(Tab键)等符号,用来作为程序中各种基本成份之间的分隔符。各基本成份之间可以有一个或多个空白符,其作用相同。系统编译程序时,只用空白符区分各种基本成份,然
5、后忽略它。,3. 普通分隔符 普通分隔符和空白符的作用相同,用来区分程序中的各种基本成份,但它在程序中有确定的含义,不能忽略。Java有以下普通分隔符: . 点号,用于分隔包、类或分隔引用变量中的变量和方法; ; 分号,是Java语句结束的标志; , 逗号,分隔方法的参数和变量说明等; : 冒号,说明语句标号; 大括号,用来定义复合语句、方法体、类体及数组的初始化;, 方括号,用来定义数组类型及引用数字的元素值; () 圆括号,用于在方法定义和访问中将参数表括起来,或在表达式中定义运算的先后次序。,例2.2 标识符、关键字和分隔符的使用。 public class Example public
6、 static void main(String args) int i, c; . ,Java是严格区分数据类型的语言,要求在程序中使用任何变量之前必须声明其类型。数据类型说明了常量、变量或表达式的性质。只有数据类型相同的常量、变量才可以进行运算。 Java的基本数据类型长度是固定的。例如int类型在任何计算机上的长度都是32b(4B),这就使得Java的基本数据类型可以跨平台自由移植。Java的char类型采用了国际编码标准Unicode,每个码有16位(2B),可容纳65 536个字符,有效地解决了用ASCII双字节码表示东方文字带来的诸多不便,使Java处理多语种的能力大大加强。,2.
7、2 数据类型,Java的数据类型可分为: 基本类型,包括整型、浮点型、布尔型和字符型; 数组类型,包括一维数组和多维数组; 复合类型,包括类和接口。,表2.3给出了Java基本数据类型。Java定义了8种基本数据类型,利用基本数据类型可以构造出复杂数据结构来满足Java程序的各种需要。 注意: 一般情况下,没有小数点的数字是int型数,带有小数点的数是double型的数,其他数值数据要在数字后面加一个大写或小写字母表示数据类型。例如4L是long型,3.14f是float型。,2.2.1 基本数据类型,表2.3 Java基本数据类型,直接量(literal)是指在程序中直接给出的一个符号串,作
8、用是为变量赋值或参与表达式运算。直接量可以是一个具体的数值或字符串,也称常量。但Java中的常量另有所指,是用final说明的一个标识符,在很多教科书中往往不加区分地统称为常量。将一个标识符说明为常量,然后赋予它一个直接量,就在二者之间画上了等号。直接量或常量在程序执行过程中是不可更改的,它们与变量的区别是不占用内存。Java约定常量标识符全部使用大写字母。,2.2.2 直接量与常量,1. 布尔常量 布尔常量只有两个值true和false,代表了两种状态: 真和假,书写时直接使用true和false这两个英文单词,不能加引号。,2. 整型常量 整型常量是不含小数的整数值,书写时可采用十进制、十
9、六进制和八进制形式。十进制常量以非0开头后跟多个09之间的数字;八进制以0开头后跟多个07之间的数字;十六进制则以0 x开头后跟多个09之间的数字或af之间的小写字母或AF之间的大写字母。 下面是3条赋值语句: final int I=15; final int J=017; final int K=0 xF; 整型常量默认为32位的int型,如果在数值后边加上L或l,则表示为64位的长整型。,3. 浮点型常量 Java的浮点型常量有两种表示形式: (1) 十进制数形式,由数字和小数点组成,且必须有小数点,如.123、0.123、123.0; (2) 科学计数法形式,如123e3或123E-3
10、,其中e或E之前必须有数,且e或E后面的指数必须为整数。 对于一个浮点数,加上f或F后缀,就是单精度浮点数;加上d或D后缀,就是双精度浮点数。不加后缀的浮点数被默认为双精度浮点数,双精度浮点数在计算机中占64位,有很高的精度。,4. 字符常量 字符常量是由一对单引号括起来的单个字符。它可以是Unicode字符集中的任意一个字符,如a和Z。对无法通过键盘输入的字符,可用转义符表示,参见表2.4。 表2.4 转义符号表 字符常量的另外一种表示就是直接写出字符编码,如字母A的八进制表示为101,十六进制表示为u0041。,5. 字符串常量 字符串常量是用一对双引号括起来的字符序列。当字符串只包含一个
11、字符时,不要把它和字符常量混淆,例如A 是字符常量,而 A 是字符串常量。字符串常量中可包含转义字符,例如 Hello n world! 在中间加入了一个换行符,输出时,这两个单词将显示在两行上。 声明常量的格式: final 类型 常量名,常量名=值,;,变量在程序中为一个标识符,在内存中是一块空间,它提供了一个临时存放信息和数据的地方,具有记忆数据的功能。变量的值是可以改变的,它可以存放不同类型的数据,通常用小写字母或单词作为变量名。变量具有3个元素: 名字、类型和值。,2.2.3 变量,1. 变量的声明 在Java中存储一个数据,必须将它保存到一个变量中。变量在使用前必须有定义,即有确定
12、的类型和名称。声明变量的格式为: 类型 变量名,变量名=初值,; 变量声明告诉编译器以给定的数据类型和变量名创建一个变量;可以一次声明多个变量,并同时赋初值。例如: byte b1, b2; int v1=0, v2=10, v3=18;,例2.3 变量声明示例。使用SDK编译并运行该程序,结果如图2.2所示。 public class V public static void main(String args) byte b=0 x55; short s=0 x55ff; int i=1000000; long l=0 xffffL; char c=c; float f=0.23F; dou
13、ble d=0.7E-3; boolean B=true; String S=This is a string; System.out.println(字节型变量 b = +b); System.out.println(短整型变量 s = +s); System.out.println( 整型变量 i = +i);,System.out.println(长整型变量 l = +l); System.out.println(字符型变量 c = +c); System.out.println(浮点型变量 f = +f); System.out.println(双精度变量 d = +d); Syste
14、m.out.println(布尔型变量 B = +B); System.out.println(字符串类对象 S = +S); 图 2.2,2. 变量的使用范围 声明一个变量后,它将被引入到一个范围当中。也就是说,该变量只能在程序的特定范围内使用,出了这个范围,变量就消失了。 在类中声明的变量称为成员变量,通常在类的开始处声明,可在整个类中使用。在方法和块中声明的变量叫局部变量,使用范围是从它声明的地方开始到它所在那个块的结束处,块是由两个大括号所定义的,如例2.4所示。,例2.4 变量的使用范围。 public class V2 static int i=10; public static
15、void main(String args) int k=10; System.out.println(i=+i); System.out.println(k=+k); System.out.println(k=+k); /编译时将出错,已出k的使用范围 ,编译程序V2.java时会出现错误,如图2.3所示。因为变量k在方法块中声明,在方法块之外它是不存在的,所以编译时会出错。 图 2.3,3. 变量类型的转换 当需要把一个整数变成一个字符型数据使用时可以将整数类型数据强制转换为字符型数据。 变量类型强制转换的格式为: (数据类型)数据表达式 例如,下面的语句将字符型数据转换为整型数据: in
16、t a;char b;b=A; a=(int) b; 对于数值型数据,Java可以将低精度的数字赋值给高精度的数字型变量,反之则需要进行强制类型转换,例如将int,short,byte赋值给long型时不需要显式的类型转换,如double t = 0.9F。反之,将long型数赋值给byte,short,int型时需要强制转换,int a=(int)123L。 Java不允许自动类型转换,当你进行类型转换时,要注意使目标类型能够容纳原类型的所有信息。 记住整型和字符型变量位长是不同的,整型是32位,而字符型是16位,所以从整型转换到字符型可能会丢失信息。 同样,把64位的长整型数转换为整型数时,由于长整型有比32位更多的信息,也很可能会丢失信息。即使两个数有相同的位数,比如整型和浮点型(都是32位),从浮点型转换为整型时也会丢失信息。,表2.5 不会丢失信息的类型转换,Java的运算符代表着特定的运算指令,程序运行时将对运算符连接的操作数进行相应的运算。运算符和操作数的组合构成表达式,表达式代表着一个确定的数值。表达式在使用上总是先计算后使用,