




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ch3Java语言基础 2-2Copyright 山西大学商务学院 2009-2010. All rights reserved. 目标目标 通过本章学习,您将可以通过本章学习,您将可以: 熟悉熟悉Java用于数字、字符及类似的简单数据地的数据类用于数字、字符及类似的简单数据地的数据类 型。这些类型称为基本类型。型。这些类型称为基本类型。 了解赋值语句及表达式。了解赋值语句及表达式。 了解了解Java分支语句,循环的概念。分支语句,循环的概念。 了解数给以及如何在简单的了解数给以及如何在简单的Java程序中使用数组。程序中使用数组。 学习如何采用数组作为参数,以及如何定义方法以返回学习如何采用
2、数组作为参数,以及如何定义方法以返回 数组。数组。 熟悉多维数组。熟悉多维数组。 2-3Copyright 山西大学商务学院 2009-2010. All rights reserved. JavaJava标识符标识符(identifier)(identifier) 只能包含字母、数字(只能包含字母、数字(09)和下划线(和下划线(_). 首字符不能是数字。首字符不能是数字。 不能包含空格或任何其他字符,比如点号(不能包含空格或任何其他字符,比如点号(.)或()或(*)。)。 Java是区分大小写的。是区分大小写的。 名字的长度没有限制。名字的长度没有限制。 关键字不能用作类、对象或除其原义之
3、外的任何事物的名关键字不能用作类、对象或除其原义之外的任何事物的名 字。字。 不应该在标识符中使用不应该在标识符中使用$符号。符号。 2-4Copyright 山西大学商务学院 2009-2010. All rights reserved. 标识符用法举例标识符用法举例 numberOfBaskets. NumberOfBaskets, number_of_baskets 通常用大小字母来通常用大小字母来“断开断开”由多个单词组成的名字。由多个单词组成的名字。 inputStream YourClass CarWash hotCar 不合法:不合法:My.class go-team 7elev
4、en 2-5Copyright 山西大学商务学院 2009-2010. All rights reserved. 关键字关键字 关键字也被称为保留字(关键字也被称为保留字(reserved word)。)。 不能重新定义任意关键字。不能重新定义任意关键字。 它们的含义是由它们的含义是由Java语言确定的,无法改变。语言确定的,无法改变。 不能将任意一个关键字作为变量名、方法名或类名。不能将任意一个关键字作为变量名、方法名或类名。 null, true ,这些单词不被当作关键字。但是,有些作,这些单词不被当作关键字。但是,有些作 者会将它们列为关键字。保险起见,我将它们当作关键者会将它们列为关键
5、字。保险起见,我将它们当作关键 字看待,你们也应该如此。字看待,你们也应该如此。 2-6Copyright 山西大学商务学院 2009-2010. All rights reserved. JavaJava基本数据类型基本数据类型 逻辑型逻辑型(boolean) 文字型文字型(char) 整数类型整数类型(byte 、short、 int 和和long) 浮点型浮点型(float double) 2-7Copyright 山西大学商务学院 2009-2010. All rights reserved. 逻辑型逻辑型(boolean)(boolean) 只有两个值,即只有两个值,即true(真真
6、),false(假假) 命名命名boolean变量时,要选择在变量时,要选择在boolean表达式的值为表达式的值为 true时也为真的表述方式。时也为真的表述方式。 要避免使用那些不能很清楚地描述变量值含义的名字要避免使用那些不能很清楚地描述变量值含义的名字 比如比如isPositive 和和systemAreOK等。这样,将其用在等。这样,将其用在 while循环、循环、if-else语句或其他控制语句中时,你就很容语句或其他控制语句中时,你就很容 易理解其含义。易理解其含义。 不要使用不要使用numberSign 、systemStatus这样的名字这样的名字 。 2-8Copyrigh
7、t 山西大学商务学院 2009-2010. All rights reserved. 文字型文字型(char)(char) 用于单个字符,比如字母或百分号。用于单个字符,比如字母或百分号。 Java程序中给出一个字符时,会将其包围在单引号中,程序中给出一个字符时,会将其包围在单引号中, 而不是包围在比引号中。而不是包围在比引号中。 在字符两边使用的是相同的引用符号。在字符两边使用的是相同的引用符号。 char symbol; Symbol=A; System.out.println(symbol); 2-9Copyright 山西大学商务学院 2009-2010. All rights res
8、erved. 转义字符转义字符 The word “Java” names a language, not just a drink! ”双引号双引号 单引号单引号 反斜杠反斜杠 n新行。转到下一行的起始位置新行。转到下一行的起始位置 r回车符。转到当前行的起始位置回车符。转到当前行的起始位置 t制表符。添加空格,直到下一个制表位为止制表符。添加空格,直到下一个制表位为止 以反斜杠指示的特殊字符。以反斜杠指示的特殊字符。 每个转义字符都写成两个符号,但实际每个转义字符都写成两个符号,但实际 2-10Copyright 山西大学商务学院 2009-2010. All rights reserve
9、d. StringString类类 Java中没有用于字符串的基本类型。中没有用于字符串的基本类型。 String类型的值是引用字符串,它是被当作一个单独项类型的值是引用字符串,它是被当作一个单独项 处理的字符序列。处理的字符序列。 可以用可以用+运算符拼接任意数量的运算符拼接任意数量的String对象。甚至可以对象。甚至可以 通过通过+运算符将一个运算符将一个String变量和任何其他类型的对象变量和任何其他类型的对象 拼接起来。结果总是一个拼接起来。结果总是一个String对象。对象。 1.String solution=“The answer is “ + 42; 2.String na
10、me=“xiaoshenyang”; String greeting = “Hi ” + name; System.out.println(greeting); 2-11Copyright 山西大学商务学院 2009-2010. All rights reserved. 整数类型整数类型 整数类型:整数类型:byte, short, int 和和 long 类型类型长度长度取值范围取值范围 byte8位位-27 27-1 short16位位 -215 215-1 int32位位 -231 231-1 long64位位 -263 263-1 2-12Copyright 山西大学商务学院 2009
11、-2010. All rights reserved. 整型常量整型常量 Java中缺省整型是中缺省整型是 int 有有3种形式:十进制、八进制、十六进制种形式:十进制、八进制、十六进制 十进制十进制八进制八进制十六进制十六进制 _ int 2407710XAB07 long 24L0771L0XAB07L 2-13Copyright 山西大学商务学院 2009-2010. All rights reserved. 浮点型浮点型 浮点型:浮点型:float 和和 double 长度:长度: float : 32位位 double: 64位位 双精度类型双精度类型double比单精度类型比单精度
12、类型float具有更高的精度具有更高的精度 和更大的表示范围和更大的表示范围,但但float类型具有速度快、占用内存类型具有速度快、占用内存 小的优点。小的优点。 浮点型变量的默认值是浮点型变量的默认值是0.0。 常量缺省是常量缺省是 double 类型。类型。 2-14Copyright 山西大学商务学院 2009-2010. All rights reserved. 变量变量 程序中的变量程序中的变量(variable)是用来存储数字和字母这样的是用来存储数字和字母这样的 数据的。可以视为某种类型的容器。数据的。可以视为某种类型的容器。 变量中的数字、字母或其他数据项称为它的值。变量中的数
13、字、字母或其他数据项称为它的值。值是可值是可 以改变的。以改变的。 变量是作为存储单元实现的。每个变量都分配了一个存变量是作为存储单元实现的。每个变量都分配了一个存 储单元。在为其赋值时,该值就被放置在变量的存储单储单元。在为其赋值时,该值就被放置在变量的存储单 元中。元中。 变量的命名规则遵循变量的命名规则遵循Java标识符拼写规则。除此之外,标识符拼写规则。除此之外, 还应该选择一些有帮助的变量名。还应该选择一些有帮助的变量名。 使用使用Java程序中的每个变量之前都必须先对其进行声明程序中的每个变量之前都必须先对其进行声明 。 2-15Copyright 山西大学商务学院 2009-20
14、10. All rights reserved. 变量的作用域变量的作用域 局部变量。在一个方法或一对局部变量。在一个方法或一对 表示的代码块内定义。表示的代码块内定义。 也称为自动变量或临时变量。作用域是所在的方法或代也称为自动变量或临时变量。作用域是所在的方法或代 码块。码块。 类成员变量。在方法外声明且属于一个类的定义体的变类成员变量。在方法外声明且属于一个类的定义体的变 量。作用域是整个类。量。作用域是整个类。 方法参数。方法调用时传递的参数。作用域是所在的方方法参数。方法调用时传递的参数。作用域是所在的方 法。法。 异常处理器参数。是异常处理器参数。是catch语句块的入口参数。作用
15、域语句块的入口参数。作用域 是是catch语句后由语句后由 表示的语句块。表示的语句块。 2-16Copyright 山西大学商务学院 2009-2010. All rights reserved. 变量变量 块内说明的变量将屏蔽其所在类定义的同名变量。块内说明的变量将屏蔽其所在类定义的同名变量。 同一块中如果定义两个同名变量则引起冲突。同一块中如果定义两个同名变量则引起冲突。Java允许允许 屏蔽,但冲突会引起编译错误。屏蔽,但冲突会引起编译错误。 2-17Copyright 山西大学商务学院 2009-2010. All rights reserved. 变量的初始化变量的初始化 类成员变
16、量是系统自动进行初始化。类成员变量是系统自动进行初始化。 局部变量必须在使用前手工赋初值进行初始化。如局部局部变量必须在使用前手工赋初值进行初始化。如局部 变量没有经过初始化,就将产生编译错误。变量没有经过初始化,就将产生编译错误。 2-18Copyright 山西大学商务学院 2009-2010. All rights reserved. 变量变量 创建一个对象后,使用创建一个对象后,使用newnew运算符分配存储空间时运算符分配存储空间时 ,系统按下表中的值自动初始化成员变量。,系统按下表中的值自动初始化成员变量。 类型类型初始值初始值类型类型初始值初始值 byte(byte)0doubl
17、e0.0 short(short)0charu000(NULL) int0booleanfalse long0L所有引用类型所有引用类型null float0.0f 2-19Copyright 山西大学商务学院 2009-2010. All rights reserved. 变量变量 自动变量在使用之前必须初始化。自动变量在使用之前必须初始化。 例:例: int x = (int)( Math.random( ) * 100 ); int y; int z; if (x 50) y = 9; z = y +x; / 可能在初始化之前使用导致编译错误可能在初始化之前使用导致编译错误 2-20Co
18、pyright 山西大学商务学院 2009-2010. All rights reserved. JavaJava操作符类别操作符类别 算术运算操作符:算术运算操作符:+,-,*,/, %, +, - - 关系操作符:关系操作符:, =, , , String name = “John Smith”; String name = “Tom David”; = name; System.out.println( “The customers name: ”+); private String name; 2-22Copyright 山西大学商
19、务学院 2009-2010. All rights reserved. 逻辑操作符与位操作符逻辑操作符与位操作符 逻辑操作符与位操作符相同的,根据操作数判定是何种逻辑操作符与位操作符相同的,根据操作数判定是何种 运算符运算符 int smallval = 99L; float z = 12.414F; float z1 = 12.414; /6是整型量,所是整型量,所 以该语句正确以该语句正确 /99L是长整型量是长整型量, smallval是是int型型 量量,赋值不相容,赋值不相容, 该语句错误该语句错误 /12.414F是浮点是浮点 量量,该语句正确该语句正确 /12.414是双精度量是
20、双精度量, 不能赋给单精度变不能赋给单精度变 量量z1。该语句错误。该语句错误 2-26Copyright 山西大学商务学院 2009-2010. All rights reserved. 表达式的提升和转换表达式的提升和转换 显式转换如下:显式转换如下: long bigValue = 99L; int squashed = (int) (bigValue); 转换时,目标类型用括号括起来,放到要修改的表达式的转换时,目标类型用括号括起来,放到要修改的表达式的 前面。前面。 2-27Copyright 山西大学商务学院 2009-2010. All rights reserved. 流控制流
21、控制 语句语句是是JavaJava的的最小执行单位最小执行单位,语句间以,语句间以分号(分号(;)作为分隔作为分隔 符。符。 2-28Copyright 山西大学商务学院 2009-2010. All rights reserved. 表达式语句表达式语句 下面是一些表达式语句:下面是一些表达式语句: customer1 = new Customer(); point2 = new Point(); x = 12; x+; 2-29Copyright 山西大学商务学院 2009-2010. All rights reserved. 表达式语句表达式语句 方法调用通常返回一个值,一般用在表达式中
22、。有的方方法调用通常返回一个值,一般用在表达式中。有的方 法调用可直接当作语句。法调用可直接当作语句。 如:如: System.out.println(“Hello World!”); 2-30Copyright 山西大学商务学院 2009-2010. All rights reserved. 块块 块是一对花括号块是一对花括号“”和和“”括起来的语句组。括起来的语句组。 如,如, Point point1 = new Point(); int x = point1.x; 第一个块是空块,其中不含任何语句。第二个块含两条第一个块是空块,其中不含任何语句。第二个块含两条 语句。语句。 方法体是一
23、个块。块还用在流控制的语句中,如方法体是一个块。块还用在流控制的语句中,如if语句语句 、switch语句及循环语句。语句及循环语句。 2-31Copyright 山西大学商务学院 2009-2010. All rights reserved. 分支语句分支语句 分支语句根据一定的条件,动态决定程序的流程方向,分支语句根据一定的条件,动态决定程序的流程方向, 从程序的多个分支中选择一个或几个来执行。从程序的多个分支中选择一个或几个来执行。 分支语句共有两种:分支语句共有两种:if语句语句和和switch语句语句。 2-32Copyright 山西大学商务学院 2009-2010. All ri
24、ghts reserved. 分支语句分支语句 ifif语句的基本语法是:语句的基本语法是: i f ( 逻 辑 表 达 式逻 辑 表 达 式 ) 语句语句1; else 语句语句2; if语句中的语句中的else子句是可选的。子句是可选的。 if关键字之后的逻辑表达式必须得到一个逻辑值,不能关键字之后的逻辑表达式必须得到一个逻辑值,不能 以数值来代替。以数值来代替。 1. if1. if语句语句 2-33Copyright 山西大学商务学院 2009-2010. All rights reserved. if语句的含义语句的含义 当逻辑表达式结果为当逻辑表达式结果为true时,执行语句时,执
25、行语句1,然后继续执,然后继续执 行行if后面的语句。当逻辑表达式为后面的语句。当逻辑表达式为false时,如果有时,如果有else 子句,则执行语句子句,则执行语句2,否则跳过该,否则跳过该if语句,继续执行后语句,继续执行后 面的语句。面的语句。 语句语句1和语句和语句2既可以是单语句,也可以是语句块。既可以是单语句,也可以是语句块。 if语句可以嵌套,嵌套时,规定语句可以嵌套,嵌套时,规定else子句属于离它最近子句属于离它最近 的的if语句。语句。 2-34Copyright 山西大学商务学院 2009-2010. All rights reserved. 例例 int count;
26、count = getCount(); / 程序中定义的一个方法程序中定义的一个方法 if (count 0) System.out.println( “Error: count value is negative!”); else System.out.println(“There will be” +count +“ people for lunch today.”); 2-35Copyright 山西大学商务学院 2009-2010. All rights reserved. if语句的嵌套语句的嵌套 例例: if (firstVal = 0) if (secondVal = 1) fi
27、rstVal+; else firstVal-; 2-36Copyright 山西大学商务学院 2009-2010. All rights reserved. 2. switch2. switch语句语句 vswitch语句是多重分支语句,它的语法格式是:语句是多重分支语句,它的语法格式是: switch (表达式表达式) case c1: 语句组语句组1;break; case c2: 语句组语句组2;break; case ck: 语句组语句组k;break; default: 语句组语句组;break; 2-37Copyright 山西大学商务学院 2009-2010. All righ
28、ts reserved. 2. switch2. switch语句语句 表达式的计算结果必须是表达式的计算结果必须是int型或字符型,即是型或字符型,即是int型赋型赋 值相容的。值相容的。 当用当用byte,short或或char类型时,要进行提升。类型时,要进行提升。 2-38Copyright 山西大学商务学院 2009-2010. All rights reserved. 2. switch语句语句 switch语句不允许使用浮点型或语句不允许使用浮点型或long型表达式。型表达式。 c1,c2,ck是是int型或字符型常量。型或字符型常量。default子句是可子句是可 选的,并且,
29、最后一个选的,并且,最后一个break语句完全可以不写。语句完全可以不写。 2-39Copyright 山西大学商务学院 2009-2010. All rights reserved. switchswitch语句的语义语句的语义 计算表达式的值,用该值依次和计算表达式的值,用该值依次和c c1 1,c c2 2,c ck k相比较。相比较。 如果该值等于其中之一,那么执行其后的语句组,直到如果该值等于其中之一,那么执行其后的语句组,直到 遇到遇到breakbreak语句跳到语句跳到switchswitch之后的语句。如果没有相匹之后的语句。如果没有相匹 配的值,则执行配的值,则执行defau
30、ltdefault之后的语句。之后的语句。 2-40Copyright 山西大学商务学院 2009-2010. All rights reserved. switchswitch语句的语义语句的语义 switchswitch语句中各语句中各c ci i之后的语句既可以是单语句,也可以之后的语句既可以是单语句,也可以 是语句组。是语句组。 不论执行哪个分支,程序流都会顺序执行下去,直到遇不论执行哪个分支,程序流都会顺序执行下去,直到遇 到到breakbreak语句为止。语句为止。 2-41Copyright 山西大学商务学院 2009-2010. All rights reserved. 2.
31、switch2. switch语句示例语句示例 例例: / colorNum是整型变量是整型变量 switch (colorNum) case 0: setBackground(Color.red);break; case 1: setBackground(Color.green);break; default: setBackground(Color.black);break; 2-42Copyright 山西大学商务学院 2009-2010. All rights reserved. 2. switch语句示例语句示例 switchswitch语句和语句和ifif语句可以互相代替。语句可以
32、互相代替。 例例: : if (colorum = 0)if (colorum = 0) setBackground(Color.red);setBackground(Color.red); else if (colorNum = 1)else if (colorNum = 1) setBackground(Color.green);setBackground(Color.green); elseelse setBackground(Color.black);setBackground(Color.black); 2-43Copyright 山西大学商务学院 2009-2010. All ri
33、ghts reserved. 循环语句循环语句 循环语句控制程序流多次执行一段程序。循环语句控制程序流多次执行一段程序。 Java语言提供三种循环语句:语言提供三种循环语句:forfor语句语句、whilewhile语句语句和和dodo 语句语句。 2-44Copyright 山西大学商务学院 2009-2010. All rights reserved. 1.for语句语句 forfor语句的语法格式是:语句的语法格式是: for (for (初始语句初始语句; ;逻辑表达式逻辑表达式; ;迭代语句迭代语句) ) 语句语句; ; 初始语句和迭代语句中可以含有初始语句和迭代语句中可以含有多个多
34、个语句,各语句间以语句,各语句间以 逗号逗号分隔。分隔。 forfor语句括号内的三部分都是语句括号内的三部分都是可选可选的,逻辑表达式为空时的,逻辑表达式为空时 ,默认规定为恒真,默认规定为恒真 2-45Copyright 山西大学商务学院 2009-2010. All rights reserved. forfor语句的语义语句的语义 先执行初始语句,判断逻辑表达式的值,当逻辑表达式先执行初始语句,判断逻辑表达式的值,当逻辑表达式 为真时,执行循环体语句,执行迭代语句,然后再去判为真时,执行循环体语句,执行迭代语句,然后再去判 别逻辑表达式的值。这个过程一直进行下去,直到逻辑别逻辑表达式的
35、值。这个过程一直进行下去,直到逻辑 表达式的值为假时,循环结束,转到表达式的值为假时,循环结束,转到for之后的语句。之后的语句。 forfor语句中定义的循环控制变量只在该块内有效。语句中定义的循环控制变量只在该块内有效。 2-46Copyright 山西大学商务学院 2009-2010. All rights reserved. 循环语句示例循环语句示例 for (int i = 0; i 3; i+) System.out.println(“Are you finished yet?”); System.out.println(“Finally!”); 2-47Copyright 山西大
36、学商务学院 2009-2010. All rights reserved. 结果结果 Are you finished yet? Are you finished yet? Are you finished yet? Finally! 2-48Copyright 山西大学商务学院 2009-2010. All rights reserved. 循环语句示例循环语句示例 for ( ; ; ) System.out.println(“Always print!”); 该语句等价于:该语句等价于: for ( ; true ; ) System.out.println(“Always print!
37、”); 这段循环不会停止。这段循环不会停止。 2-49Copyright 山西大学商务学院 2009-2010. All rights reserved. 循环语句示例循环语句示例 int sumi = 0, sumj = 0; for ( int i = 0, j = 0; j 10; i+, j+) sumi += i; sumj += j; 2-50Copyright 山西大学商务学院 2009-2010. All rights reserved. 2. while2. while循环循环 while循环的语法是:循环的语法是: while (逻辑表达式逻辑表达式) 语句语句; whil
38、ewhile语句中的逻辑表达式不能用数值来代替。语句中的逻辑表达式不能用数值来代替。 2-51Copyright 山西大学商务学院 2009-2010. All rights reserved. 2. while2. while循环循环 whilewhile语句的语义是:语句的语义是: 计算逻辑表达式,当逻辑表达式为真时,重复执行循环计算逻辑表达式,当逻辑表达式为真时,重复执行循环 体语句,直到逻辑表达式为假时结束。体语句,直到逻辑表达式为假时结束。 2-52Copyright 山西大学商务学院 2009-2010. All rights reserved. whilewhile语句的语义语句
39、的语义 如果第一次检查时逻辑表达式为假,则循环体语句一次如果第一次检查时逻辑表达式为假,则循环体语句一次 也不执行。也不执行。 如果逻辑表达式始终为真,则循环不会终止。如果逻辑表达式始终为真,则循环不会终止。 2-53Copyright 山西大学商务学院 2009-2010. All rights reserved. while循环示例循环示例 例例: : int i = 0; while (i 3) System.out.println(“Are you finished yet?”); i+; System.out.println(“Finally!”); 2-54Copyright 山西
40、大学商务学院 2009-2010. All rights reserved. 3. do循环循环语句语句 do语句的语法格式是:语句的语法格式是: do 语句语句; while (逻辑表达式逻辑表达式); 2-55Copyright 山西大学商务学院 2009-2010. All rights reserved. 3. do循环循环语句语句 dodo语句的语义是:语句的语义是: 首先执行循环体语句,然后判定逻辑表达式的值,当表首先执行循环体语句,然后判定逻辑表达式的值,当表 达式为真时,重复执行循环体语句,直到表达式为假时达式为真时,重复执行循环体语句,直到表达式为假时 结束。结束。 不论逻辑
41、表达式的值是真是假,不论逻辑表达式的值是真是假,dodo循环中的循环体都至循环中的循环体都至 少执行一次。少执行一次。 2-56Copyright 山西大学商务学院 2009-2010. All rights reserved. do循环示例循环示例 do int i = 0; do System.out.println(“Are you finished yet?”); i+; while (i 3); System.out.println(“Finally!”); 2-57Copyright 山西大学商务学院 2009-2010. All rights reserved. 循环语句循环语句
42、 for、while及及do语句可互相替代。语句可互相替代。 例如:例如: do 语句语句1; while (逻辑表达式逻辑表达式); 等价于:等价于: 语句语句1; while(逻辑表达式逻辑表达式) 语句语句1; 2-58Copyright 山西大学商务学院 2009-2010. All rights reserved. 特殊的流控制语句特殊的流控制语句 JavaJava语言使用两条特殊的流控制语句:语言使用两条特殊的流控制语句: BreakBreak continuecontinue 用在用在分支语句分支语句或或循环语句循环语句中。中。 2-59Copyright 山西大学商务学院 20
43、09-2010. All rights reserved. 特殊的流控制语句特殊的流控制语句 1. 1. 标号标号 标号可以放在标号可以放在for,while或或do语句之前。语句之前。 语法格式为:语法格式为: 标号标号:语句语句; 2-60Copyright 山西大学商务学院 2009-2010. All rights reserved. 特殊的流控制语句特殊的流控制语句 2. break2. break语句语句 breakbreak语句可用于语句可用于switchswitch,forfor,whilewhile及及dodo语句中。语句中。 语义:跳过本块中余下的所有语句,转到块尾,执行其
44、语义:跳过本块中余下的所有语句,转到块尾,执行其 后的语句。后的语句。 2-61Copyright 山西大学商务学院 2009-2010. All rights reserved. breakbreak语句示例语句示例 for (int i = 0; i 100; i+) if ( i = 5 ) break; System.out.println(“i= ” +i); 2-62Copyright 山西大学商务学院 2009-2010. All rights reserved. 特殊的流控制语句特殊的流控制语句 break语句还可以和标号结合使用。语句还可以和标号结合使用。 语法格式为:语法格
45、式为: break 标号标号; 语义:是跳出标号所标记的语句块,继续执行其后的语句语义:是跳出标号所标记的语句块,继续执行其后的语句 。 2-63Copyright 山西大学商务学院 2009-2010. All rights reserved. breakbreak语句示例语句示例 class Break public static void main (String args) int i, j = 0, k = 0, h; label1:for( i = 0; i 100; i+, j += 2) label2: label3:switch( i%2 ) case 1: h=1; bre
46、ak; default: h=0; break; if( i=50 ) break label1; System.out.println(“i=” +i); 2-64Copyright 山西大学商务学院 2009-2010. All rights reserved. 特殊的流控制语句特殊的流控制语句 3. 3. continue语句语句 在循环语句中,在循环语句中,continue可以立即结束当次循环而执行可以立即结束当次循环而执行 下一次循环,当然执行前先判断循环条件是否满足。下一次循环,当然执行前先判断循环条件是否满足。 continue语句也可以和标号一起使用。语句也可以和标号一起使用。
47、 语法格式为语法格式为: continue 标号标号; 2-65Copyright 山西大学商务学院 2009-2010. All rights reserved. continue语句示例语句示例 outer:for (int i = 0; i 10; i+) for (int j = 0; j i ) System.out.println(); continue outer; System.out.print(“*”); 2-66Copyright 山西大学商务学院 2009-2010. All rights reserved. 数组数组 数组说明数组说明 一个数组是一系列的一个数组是一系
48、列的匿名变量匿名变量,数组中的元素可通过,数组中的元素可通过下下 标标来访问。来访问。 在在Java中,数组是中,数组是对象对象。 类类Object中定义的方法都可以用于中定义的方法都可以用于 数组。数组。 2-67Copyright 山西大学商务学院 2009-2010. All rights reserved. 数组说明数组说明 程序员可以说明任何类型的数组,数组元素可以是程序员可以说明任何类型的数组,数组元素可以是基本基本 类型类型,也可以是,也可以是类类型类类型,当然还可以是,当然还可以是数组数组。 例例 char s ; Point points ; s的每个元素都是的每个元素都是c
49、har类型的,类型的, points的每个元素都是类的每个元素都是类Point类类 型的。型的。 2-68Copyright 山西大学商务学院 2009-2010. All rights reserved. 等价的数组说明等价的数组说明 char s; Point points; 这两行说明与前面的说明完全等价。这两行说明与前面的说明完全等价。 2-69Copyright 山西大学商务学院 2009-2010. All rights reserved. 创建数组创建数组 和所有对象一样,程序中使用和所有对象一样,程序中使用new关键字创建关键字创建 数组,方括号中的数字表示数组元素个数。数组,
50、方括号中的数字表示数组元素个数。 例:例: s = new char20; points = new Point100; points0 = new Point(); points1 = new Point(); Java中没有静态的数组定义,数组的内存都是中没有静态的数组定义,数组的内存都是 通过通过new动态分配的。动态分配的。 2-70Copyright 山西大学商务学院 2009-2010. All rights reserved. points (a) Points Length:100 (b) points Length:100 X: Y: (c) 2-71Copyright 山西
51、大学商务学院 2009-2010. All rights reserved. Point类定义如下:类定义如下: class Point int x, y; Point ( int x1, int y1) x = x1; y = y1; Point() this(0, 0); 2-72Copyright 山西大学商务学院 2009-2010. All rights reserved. 图说明图说明 说明语句说明语句: Point points; 执行完毕,系统为变量执行完毕,系统为变量points分配一个引用空间分配一个引用空间 。 说明语句说明语句: points = new Point 1
52、00; 执行完毕,系统在内存中分配一个数组对象并把执行完毕,系统在内存中分配一个数组对象并把 数组引用赋给变量数组引用赋给变量points, 说明语句说明语句: points1 = new Point (); 2-73Copyright 山西大学商务学院 2009-2010. All rights reserved. 数组说明与数组创建可以合并:数组说明与数组创建可以合并: char s = new char 20; Point points = new Point 100; 数组变量的类型可以不同于所指向的数组类数组变量的类型可以不同于所指向的数组类 ,但应该是它的父类。,但应该是它的父类。
53、 例如:例如: Object points; points = new Point 100; 例如:例如: Point points; points = new Object 100; 正确 错误 2-74Copyright 山西大学商务学院 2009-2010. All rights reserved. 数组边界数组边界 在在Java中,数组下标从中,数组下标从0开始。开始。 数组中的元素个数数组中的元素个数length是数组类中唯一的数据成员变是数组类中唯一的数据成员变 量。量。 使用使用new创建数组时系统自动给创建数组时系统自动给length赋值。赋值。 数组一旦创建完毕,其大小就固定
54、下来。数组一旦创建完毕,其大小就固定下来。 程序运行时使用程序运行时使用length进行数组边界检查。进行数组边界检查。 如果发生越界访问,则抛出一个异常。如果发生越界访问,则抛出一个异常。 2-75Copyright 山西大学商务学院 2009-2010. All rights reserved. 示例示例 int list = new int 10; for (int i = 0; i list.length; i+) / 进行相应处理的代码进行相应处理的代码 循环的结束条件中使用循环的结束条件中使用list.length,而不是常数,而不是常数10。 好处:不会引起数组下标越界,使程序更
55、健壮,修改更方便好处:不会引起数组下标越界,使程序更健壮,修改更方便 。 2-76Copyright 山西大学商务学院 2009-2010. All rights reserved. 数组初始化数组初始化 数组名加上下标可以表示数组元素。数组名加上下标可以表示数组元素。 数组的下标范围为数组的下标范围为0到到length-1。 当创建一个数组时,每个元素都被初始化。当创建一个数组时,每个元素都被初始化。 Java允许用初值来创建数组。允许用初值来创建数组。 2-77Copyright 山西大学商务学院 2009-2010. All rights reserved. 示例示例 String na
56、mes = Georgianna; Jen; Simon; Tom ; 2-78Copyright 山西大学商务学院 2009-2010. All rights reserved. 静态初始化静态初始化 静态初始化可用于任何元素类型,初值块中每个位静态初始化可用于任何元素类型,初值块中每个位 置的每个元素对应一个引用。置的每个元素对应一个引用。 names = new String4; names0 = Georgianna; names1 = Jen; names2 = Simon; names3 = Tom; 2-79Copyright 山西大学商务学院 2009-2010. All ri
57、ghts reserved. 多维数组多维数组 Java可以建立数组的数组(的数组可以建立数组的数组(的数组),由此得),由此得 到到多维数组多维数组。 一般来讲,一般来讲,n维数组是维数组是n-1维数组的数组。维数组的数组。 说明多维数组时使用类型及多对方括号。说明多维数组时使用类型及多对方括号。 多维数组可以从最高维起,分别为每一维分配内存多维数组可以从最高维起,分别为每一维分配内存 。 2-80Copyright 山西大学商务学院 2009-2010. All rights reserved. 示例示例 int twoDim = new int 4 ; twoDim0 = new int5; twoDim1 = new int5; 2-81Copyright 山西大学商务学院 2009-2010. All rights reserved. 二维数组二维数组 创建二维数组的一般格式为:创建二维数组的一般格式为: type arrayN = new type arrleng1 ; arrayN 0 = new type arrleng2; arrayN 1 =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园幼小衔接教学计划
- 多元化班级评价体系建设计划
- 轮训模式下的艺术教师发展计划
- 共享服务模式下的会计管理计划
- 高效会议管理的总结与方法计划
- 打造水务行业的智能未来计划
- 彩铃呼叫流程
- 《长方体正方体的认识》(教学设计)-2023-2024学年五年级上册数学西师大版
- 残疾人托养服务投标方案(技术方案)
- 《猴子的烦恼》教学设计-2024-2025学年三年级下册数学北师大版
- 上海市幼儿园幼小衔接活动指导意见(修订稿)
- 《十万个为什么》整本书阅读-课件-四年级下册语文(统编版)
- 法社会学教程(第三版)教学
- TB-10303-2020 铁路桥涵工程施工安全技术规程
- 走近湖湘红色人物智慧树知到答案2024年湖南工商大学
- 小工考勤表记工模板
- 安全文明施工管理(EHS)方案(24页)
- 结构化思维PPT通用课件
- 刘姥姥进大观园课本剧剧本3篇
- 2022年拖拉机驾驶人考试参考题库(含答案)
- 产品承认书客(精)
评论
0/150
提交评论