版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、3Java言语根底言语根底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 netscape go-team 7eleven2-5Copyright 山西大学商务学院 2009-2010
4、. All rights reserved.关键字关键字关键字也被称为保管字关键字也被称为保管字reserved word。不能重新定义恣意关键字。不能重新定义恣意关键字。它们的含义是由它们的含义是由Java言语确定的,无法改动。言语确定的,无法改动。不能将恣意一个关键字作为变量名、方法名或类名。不能将恣意一个关键字作为变量名、方法名或类名。null, true ,这些单词不被当作关键字。但是,有些作,这些单词不被当作关键字。但是,有些作者会将它们列为关键字。保险起见,我将它们当作关键者会将它们列为关键字。保险起见,我将它们当作关键字对待,他们也应该如此。字对待,他们也应该如此。2-6Copy
5、right 山西大学商务学院 2009-2010. All rights reserved.JavaJava根本数据类型根本数据类型逻辑型逻辑型(boolean)文字型文字型(char)整数类型整数类型(byte 、short、 int 和和long)浮点型浮点型(float double)2-7Copyright 山西大学商务学院 2009-2010. All rights reserved.逻辑型逻辑型(boolean)(boolean)只需两个值,即只需两个值,即true(真真),false(假假)命名命名boolean变量时,要选择在变量时,要选择在boolean表达式的值为表达式的值
6、为true时也为真的表述方式。时也为真的表述方式。要防止运用那些不能很清楚地描画变量值含义的名字要防止运用那些不能很清楚地描画变量值含义的名字比如isPositive 和systemAreOK等。这样,将其用在while循环、if-else语句或其他控制语句中时,他就很容易了解其含义。不要运用numberSign 、systemStatus这样的名字。2-8Copyright 山西大学商务学院 2009-2010. All rights reserved.文字型文字型(char)(char)用于单个字符,比如字母或百分号。用于单个字符,比如字母或百分号。Java程序中给出一个字符时,会将其包围
7、在单引号中程序中给出一个字符时,会将其包围在单引号中,而不是包围在比引号中。,而不是包围在比引号中。在字符两边运用的是一样的援用符号。在字符两边运用的是一样的援用符号。char symbol;Symbol=A;System.out.println(symbol);2-9Copyright 山西大学商务学院 2009-2010. All rights reserved.本义字符本义字符The word “Java names a language, not just a drink!”双引号双引号单引号单引号反斜杠反斜杠n新行。转到下一行的起始位置新行。转到下一行的起始位置r回车符。转到当前行的
8、起始位置回车符。转到当前行的起始位置t制表符。添加空格,直到下一个制表位为止制表符。添加空格,直到下一个制表位为止以反斜杠指示的特殊字符。以反斜杠指示的特殊字符。每个本义字符都写成两个符号,但实践每个本义字符都写成两个符号,但实践2-10Copyright 山西大学商务学院 2009-2010. All rights reserved.StringString类类Java中没有用于字符串的根本类型。中没有用于字符串的根本类型。String类型的值是援用字符串,它是被当作一个单独项类型的值是援用字符串,它是被当作一个单独项处置的字符序列。处置的字符序列。可以用可以用+运算符拼接恣意数量的运算符拼
9、接恣意数量的String对象。甚至可以对象。甚至可以经过经过+运算符将一个运算符将一个String变量和任何其他类型的对象变量和任何其他类型的对象拼接起来。结果总是一个拼接起来。结果总是一个String对象。对象。1.String solution=“The answer is “ + 42;2.String name=“xiaoshenyang; String greeting = “Hi + name; System.out.println(greeting);2-11Copyright 山西大学商务学院 2009-2010. All rights reserved.整数类型整数类型整数类
10、型:整数类型:byte, short, int 和和 long类型长度取值范围byte8位-27 27-1short16位 -215 215-1int32位 -231 231-1long64位 -263 263-12-12Copyright 山西大学商务学院 2009-2010. All rights reserved.整型常量整型常量Java中缺省整型是中缺省整型是 int有有3种方式:十进制、八进制、十六进制种方式:十进制、八进制、十六进制十进制 八进制十六进制_int 2407710XAB07long 24L0771L0XAB07L2-13Copyright 山西大学商务学院 2009-
11、2010. All rights reserved.浮点型浮点型浮点型:浮点型:float 和和 double长度:长度: float : 32位位 double: 64位位双精度类型双精度类型double比单精度类型比单精度类型float具有更高的精度具有更高的精度和更大的表示范围和更大的表示范围,但但float类型具有速度快、占用内存类型具有速度快、占用内存小的优点。小的优点。浮点型变量的默许值是浮点型变量的默许值是0.0。常量缺省是常量缺省是 double 类型。类型。2-14Copyright 山西大学商务学院 2009-2010. All rights reserved.变量变量程序
12、中的变量程序中的变量(variable)是用来存储数字和字母这样的是用来存储数字和字母这样的数据的。可以视为某种类型的容器。数据的。可以视为某种类型的容器。变量中的数字、字母或其他数据项称为它的值。值是可变量中的数字、字母或其他数据项称为它的值。值是可以改动的。以改动的。变量是作为存储单元实现的。每个变量都分配了一个存变量是作为存储单元实现的。每个变量都分配了一个存储单元。在为其赋值时,该值就被放置在变量的存储单储单元。在为其赋值时,该值就被放置在变量的存储单元中。元中。变量的命名规那么遵照变量的命名规那么遵照Java标识符拼写规那么。除此标识符拼写规那么。除此之外,还应该选择一些有协助的变量
13、名。之外,还应该选择一些有协助的变量名。运用运用Java程序中的每个变量之前都必需先对其进展声程序中的每个变量之前都必需先对其进展声明。明。2-15Copyright 山西大学商务学院 2009-2010. All rights reserved.变量的作用域变量的作用域部分变量。在一个方法或一对部分变量。在一个方法或一对 表示的代码块内定义。表示的代码块内定义。也称为自动变量或暂时变量。作用域是所在的方法或代也称为自动变量或暂时变量。作用域是所在的方法或代码块。码块。类成员变量。在方法外声明且属于一个类的定义体的变类成员变量。在方法外声明且属于一个类的定义体的变量。作用域是整个类。量。作用域
14、是整个类。方法参数。方法调用时传送的参数。作用域是所在的方方法参数。方法调用时传送的参数。作用域是所在的方法。法。异常处置器参数。是异常处置器参数。是catch语句块的入口参数。作用域语句块的入口参数。作用域是是catch语句后由语句后由 表示的语句块。表示的语句块。2-16Copyright 山西大学商务学院 2009-2010. All rights reserved.变量变量块内阐明的变量将屏蔽其所在类定义的同名变量。块内阐明的变量将屏蔽其所在类定义的同名变量。同一块中假设定义两个同名变量那么引起冲突。同一块中假设定义两个同名变量那么引起冲突。Java允许屏蔽,但冲突会引起编译错误。允许
15、屏蔽,但冲突会引起编译错误。2-17Copyright 山西大学商务学院 2009-2010. All rights reserved.变量的初始化变量的初始化类成员变量是系统自动进展初始化。类成员变量是系统自动进展初始化。部分变量必需在运用前手工赋初值进展初始化。如部分部分变量必需在运用前手工赋初值进展初始化。如部分变量没有经过初始化,就将产生编译错误。变量没有经过初始化,就将产生编译错误。2-18Copyright 山西大学商务学院 2009-2010. All rights reserved.变量变量创建一个对象后,运用创建一个对象后,运用newnew运算符分配存储空间时运算符分配存储空
16、间时,系统按下表中的值自动初始化成员变量。,系统按下表中的值自动初始化成员变量。类型类型初始值初始值类型类型初始值初始值byte(byte)0double0.0short(short)0charu000(NULL)int0booleanfalselong0L所有引用类型所有引用类型nullfloat0.0f2-19Copyright 山西大学商务学院 2009-2010. All rights reserved.变量变量自动变量在运用之前必需初始化。自动变量在运用之前必需初始化。例:例: i n t x = ( i n t ) ( M a t h . r a n d o m ( ) i n t
17、 x = ( i n t ) ( M a t h . r a n d o m ( ) * * 1 0 0 ) ; 1 0 0 ) ;int y;int y;int z;int z;if (x 50) if (x 50) y = 9; y = 9; z = y +x; z = y +x; / / 能够在初始化之前运用导致编译错误能够在初始化之前运用导致编译错误2-20Copyright 山西大学商务学院 2009-2010. All rights reserved.JavaJava操作符类别操作符类别算术运算操作符:算术运算操作符:+,-,*,/, %, +, - -关系操作符:关系操作符:,
18、=, , , & , |, (逐位异或,逐位异或, (按按位取反位取反逻辑操作符:逻辑操作符:&, |, !, (异或异或),&, |赋值操作符:赋值操作符:=, +=, -=, *=, /=, %=,&=, |=, =, =, =其它操作符其它操作符: ?: , , . , ( ),(type), new, instanceof2-21Copyright 山西大学商务学院 2009-2010. All rights reserved.程序程序 3-1 3-1class Customer /* 阐明变量的作用域阐明变量的作用域*/public static vo
19、id main(String args) Customer customer = new Customer();String name = “John Smith; String name = “Tom David; = name; System.out.println( “The customers name: +);private String name;2-22Copyright 山西大学商务学院 2009-2010. All rights reserved.逻辑操作符与位操作符逻辑操作符与位操作符逻辑操作符与位操作符一样的,根据操作
20、数断定是何种逻辑操作符与位操作符一样的,根据操作数断定是何种运算符运算符 &, | - 称为不短路与、或;称为不短路与、或;&,| - 称为短路与、或。称为短路与、或。2-23Copyright 山西大学商务学院 2009-2010. All rights reserved.右移操作符右移操作符 和和 :带符号右移:带符号右移1010 2 111010. :无符号右移,以:无符号右移,以0 填充填充1010 2 001010 .2-24Copyright 山西大学商务学院 2009-2010. All rights reserved.Java Java 强迫类型转换强迫类型转换
21、JavaJava言语不支持变量类型间的恣意转换,有时必需显式言语不支持变量类型间的恣意转换,有时必需显式地进展变量类型的转换。地进展变量类型的转换。普通方式:普通方式:(type) expression(type) expression例:例:(float)x/2(float)x/2对强迫类型转换的限制:对强迫类型转换的限制:整型与浮点型可以相互转换,但根本类型和数组、对整型与浮点型可以相互转换,但根本类型和数组、对象等复合类型之间不能相互转换。象等复合类型之间不能相互转换。2-25Copyright 山西大学商务学院 2009-2010. All rights reserved.表达式的提升
22、和转换表达式的提升和转换例例:long bigval = 6; int smallval = 99L; float z = 12.414F; float z1 = 12.414; /6是整型量,所是整型量,所以该语句正确以该语句正确/99L是长整型量是长整型量, smallval是是int型型量量,赋值不相容,赋值不相容,该语句错误该语句错误/12.414F是浮点是浮点量量,该语句正确该语句正确/12.414是双精度量是双精度量,不能赋给单精度变不能赋给单精度变量量z1。该语句错误。该语句错误2-26Copyright 山西大学商务学院 2009-2010. All rights reserv
23、ed.表达式的提升和转换表达式的提升和转换显式转换如下:显式转换如下:long bigValue = 99L;int squashed = (int) (bigValue);转换时,目的类型用括号括起来,放到要修正的表达式的转换时,目的类型用括号括起来,放到要修正的表达式的前面。前面。 2-27Copyright 山西大学商务学院 2009-2010. All rights reserved.流控制流控制语句是语句是Java的最小执行单位,语句间以分号的最小执行单位,语句间以分号;作为分隔作为分隔符。符。2-28Copyright 山西大学商务学院 2009-2010. All rights
24、reserved.表达式语句表达式语句 下面是一些表达式语句:下面是一些表达式语句:customer1 = new Customer();customer1 = new Customer();point2 = new Point();point2 = new Point();x = 12;x = 12;x+;x+;2-29Copyright 山西大学商务学院 2009-2010. All rights reserved.表达式语句表达式语句方法调用通常前往一个值,普通用在表达式中。有的方方法调用通常前往一个值,普通用在表达式中。有的方法调用可直接当作语句。法调用可直接当作语句。如:如:Syst
25、em.out.println(“Hello World!);2-30Copyright 山西大学商务学院 2009-2010. All rights reserved.块块块是一对花括号块是一对花括号“和和“括起来的语句组。括起来的语句组。如,如, Point point1 = new Point();int x = point1.x; 第一个块是空块,其中不含任何语句。第二个块含两条语第一个块是空块,其中不含任何语句。第二个块含两条语句。句。方法体是一个块。块还用在流控制的语句中,如方法体是一个块。块还用在流控制的语句中,如if语句、语句、switch语句及循环语句。语句及循环语句。2-31
26、Copyright 山西大学商务学院 2009-2010. All rights reserved.分支语句分支语句 分支语句根据一定的条件,动态决议程序的流程方向,分支语句根据一定的条件,动态决议程序的流程方向,从程序的多个分支中选择一个或几个来执行。从程序的多个分支中选择一个或几个来执行。分支语句共有两种:分支语句共有两种:ifif语句和语句和switchswitch语句。语句。2-32Copyright 山西大学商务学院 2009-2010. All rights reserved.分支语句分支语句ifif语句的根本语法是:语句的根本语法是: if ( if (逻辑表达式逻辑表达式) )
27、 语句语句1;1; else else 语句语句2;2; ifif语句中的语句中的elseelse子句是可选的。子句是可选的。ifif关键字之后的逻辑表达式必需得到一个逻辑值,不能以关键字之后的逻辑表达式必需得到一个逻辑值,不能以数值来替代。数值来替代。 1. if 1. if语句语句2-33Copyright 山西大学商务学院 2009-2010. All rights reserved.if语句的含义语句的含义当逻辑表达式结果为当逻辑表达式结果为true时,执行语句时,执行语句1,然后继续执,然后继续执行行if后面的语句。当逻辑表达式为后面的语句。当逻辑表达式为false时,假设有时,假设
28、有else子句,那么执行语句子句,那么执行语句2,否那么跳过该,否那么跳过该if语句,继续执语句,继续执行后面的语句。行后面的语句。语句语句1和语句和语句2既可以是单语句,也可以是语句块。既可以是单语句,也可以是语句块。if语句可以嵌套,嵌套时,规定语句可以嵌套,嵌套时,规定else子句属于离它最近子句属于离它最近的的if语句。语句。2-34Copyright 山西大学商务学院 2009-2010. All rights reserved.例例int count;count = getCount(); / 程序中定义的一个方法程序中定义的一个方法if (count 0) System.out.
29、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)firstVal+;elsefirstVal-;2-36Copyright 山西大学商务学院 2009-2010. All rights reserved
30、.2. switch2. switch语句语句vswitch语句是多重分支语句,它的语法格式是:语句是多重分支语句,它的语法格式是:vswitch (表达式表达式) vcase c1:v语句组语句组1;break;vcase c2:v语句组语句组2;break;vvcase ck:v语句组语句组k;break;vdefault:v语句组语句组;break;v2-37Copyright 山西大学商务学院 2009-2010. All rights reserved.2. switch2. switch语句语句表达式的计算结果必需是表达式的计算结果必需是int型或字符型,即是型或字符型,即是int
31、型赋型赋值相容的。值相容的。当用当用byte,short或或char类型时,要进展提升。类型时,要进展提升。2-38Copyright 山西大学商务学院 2009-2010. All rights reserved.2. switch语句语句switch语句不允许运用浮点型或语句不允许运用浮点型或long型表达式。型表达式。c1,c2,ck是是int型或字符型常量。型或字符型常量。default子句是可子句是可选的,并且,最后一个选的,并且,最后一个break语句完全可以不写。语句完全可以不写。2-39Copyright 山西大学商务学院 2009-2010. All rights reser
32、ved.switchswitch语句的语义语句的语义计算表达式的值,用该值依次和计算表达式的值,用该值依次和c1c1,c2c2,ckck相比较相比较。假设该值等于其中之一,那么执行其后的语句组,直。假设该值等于其中之一,那么执行其后的语句组,直到遇到到遇到breakbreak语句跳到语句跳到switchswitch之后的语句。假设没有相之后的语句。假设没有相匹配的值,那么执行匹配的值,那么执行defaultdefault之后的语句。之后的语句。2-40Copyright 山西大学商务学院 2009-2010. All rights reserved.switchswitch语句的语义语句的语义
33、switchswitch语句中各语句中各cici之后的语句既可以是单语句,也可以之后的语句既可以是单语句,也可以是语句组。是语句组。不论执行哪个分支,程序流都会顺序执行下去,直到遇不论执行哪个分支,程序流都会顺序执行下去,直到遇到到breakbreak语句为止。语句为止。2-41Copyright 山西大学商务学院 2009-2010. All rights reserved.2. switch2. switch语句例如语句例如例例:/ colorNum是整型变量是整型变量switch (colorNum) case 0:setBackground(Color.red);break;case
34、1:setBackground(Color.green); break;default:setBackground(Color.black);break;2-42Copyright 山西大学商务学院 2009-2010. All rights reserved.2. switch语句例如语句例如switchswitch语句和语句和ifif语句可以相互替代。语句可以相互替代。例例:if (colorum = 0)if (colorum = 0)setBackground(Color.red);setBackground(Color.red);else if (colorNum = 1)else
35、if (colorNum = 1)setBackground(Color.green);setBackground(Color.green);elseelsesetBackground(Color.black);setBackground(Color.black);2-43Copyright 山西大学商务学院 2009-2010. All rights reserved.循环语句循环语句 循环语句控制程序流多次执行一段程序。循环语句控制程序流多次执行一段程序。JavaJava言语提供三种循环语句:言语提供三种循环语句:forfor语句、语句、whilewhile语句和语句和dodo语句。语句。
36、 2-44Copyright 山西大学商务学院 2009-2010. All rights reserved.1.for语句语句forfor语句的语法格式是:语句的语法格式是:for (for (初始语句初始语句; ;逻辑表达式逻辑表达式; ;迭代语句迭代语句) ) 语句语句; ;初始语句和迭代语句中可以含有多个语句,各语句间以逗初始语句和迭代语句中可以含有多个语句,各语句间以逗号分隔。号分隔。forfor语句括号内的三部分都是可选的,逻辑表达式为空时,语句括号内的三部分都是可选的,逻辑表达式为空时,默许规定为恒真默许规定为恒真2-45Copyright 山西大学商务学院 2009-2010.
37、 All rights reserved.forfor语句的语义语句的语义先执行初始语句,判别逻辑表达式的值,当逻辑表达式先执行初始语句,判别逻辑表达式的值,当逻辑表达式为真时,执行循环体语句,执行迭代语句,然后再去判为真时,执行循环体语句,执行迭代语句,然后再去判别逻辑表达式的值。这个过程不断进展下去,直到逻辑别逻辑表达式的值。这个过程不断进展下去,直到逻辑表达式的值为假时,循环终了,转到表达式的值为假时,循环终了,转到for之后的语句。之后的语句。for语句中定义的循环控制变量只在该块内有效。语句中定义的循环控制变量只在该块内有效。2-46Copyright 山西大学商务学院 2009-2
38、010. All rights reserved.循环语句例如循环语句例如 for (int i = 0; i 3; i+) System.out.println(“Are you finished yet?); System.out.println(“Finally!);2-47Copyright 山西大学商务学院 2009-2010. All rights reserved.结果结果Are you finished yet?Are you finished yet?Are you finished yet?Finally!2-48Copyright 山西大学商务学院 2009-2010.
39、All rights reserved.循环语句例如循环语句例如for ( ; ; )System.out.println(“Always print!);该语句等价于:该语句等价于:for ( ; true ; )System.out.println(“Always print!);这段循环不会停顿。这段循环不会停顿。2-49Copyright 山西大学商务学院 2009-2010. All rights reserved.循环语句例如循环语句例如int sumi = 0, sumj = 0;for ( int i = 0, j = 0; j 10; i+, j+) sumi += i;su
40、mj += j;2-50Copyright 山西大学商务学院 2009-2010. All rights reserved.2. while2. while循环循环while循环的语法是:循环的语法是:while (逻辑表达式逻辑表达式) 语句语句;while语句中的逻辑表达式不能用数值来替代。语句中的逻辑表达式不能用数值来替代。2-51Copyright 山西大学商务学院 2009-2010. All rights reserved.2. while2. while循环循环whilewhile语句的语义是:语句的语义是:计算逻辑表达式,当逻辑表达式为真时,反复执行循环体计算逻辑表达式,当逻辑
41、表达式为真时,反复执行循环体语句,直到逻辑表达式为假时终了。语句,直到逻辑表达式为假时终了。2-52Copyright 山西大学商务学院 2009-2010. All rights reserved.whilewhile语句的语义语句的语义假设第一次检查时逻辑表达式为假,那么循环体语句一假设第一次检查时逻辑表达式为假,那么循环体语句一次也不执行。次也不执行。假设逻辑表达式一直为真,那么循环不会终止。假设逻辑表达式一直为真,那么循环不会终止。2-53Copyright 山西大学商务学院 2009-2010. All rights reserved.while循环例如循环例如例例:int i =
42、0int i = 0;while (i 3) while (i 3) System.out.println(“Are you finished yet? System.out.println(“Are you finished yet?);); i+; i+; System.out.println(“Finally!System.out.println(“Finally!););2-54Copyright 山西大学商务学院 2009-2010. All rights reserved.3. do循环语句循环语句do语句的语法格式是:语句的语法格式是: do 语句语句; while (逻辑表达式
43、逻辑表达式);2-55Copyright 山西大学商务学院 2009-2010. All rights reserved.3. do循环语句循环语句dodo语句的语义是:语句的语义是:首先执行循环体语句,然后断定逻辑表达式的值,当表达首先执行循环体语句,然后断定逻辑表达式的值,当表达式为真时,反复执行循环体语句,直到表达式为假时终式为真时,反复执行循环体语句,直到表达式为假时终了。了。不论逻辑表达式的值是真是假,不论逻辑表达式的值是真是假,dodo循环中的循环体都至少循环中的循环体都至少执行一次。执行一次。2-56Copyright 山西大学商务学院 2009-2010. All rights
44、 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.循环语句循环语句for、while及及do语句可相互替代。语句可相互替代。例如:例如: do 语句语句1;while (逻辑表达式逻辑表达式);等价于:等价于: 语句语句1; while(逻辑表达式逻辑表达式) 语句语句1;2-58C
45、opyright 山西大学商务学院 2009-2010. All rights reserved.特殊的流控制语句特殊的流控制语句JavaJava言语运用两条特殊的流控制语句:言语运用两条特殊的流控制语句:BreakBreakcontinuecontinue用在分支语句或循环语句中。用在分支语句或循环语句中。2-59Copyright 山西大学商务学院 2009-2010. All rights reserved.特殊的流控制语句特殊的流控制语句1. 1. 标号标号标号可以放在标号可以放在forfor,whilewhile或或dodo语句之前。语句之前。语法格式为:语法格式为:标号标号: :语
46、句语句; ;2-60Copyright 山西大学商务学院 2009-2010. All rights reserved.特殊的流控制语句特殊的流控制语句2. break2. break语句语句breakbreak语句可用于语句可用于switchswitch,forfor,whilewhile及及dodo语句中。语句中。语义:跳过本块中余下的一切语句,转到块尾,执行其后语义:跳过本块中余下的一切语句,转到块尾,执行其后的语句。的语句。2-61Copyright 山西大学商务学院 2009-2010. All rights reserved.breakbreak语句例如语句例如for (int i
47、 = 0; i 100; i+) if ( i = 5 )break;System.out.println(“i= +i);2-62Copyright 山西大学商务学院 2009-2010. All rights reserved.特殊的流控制语句特殊的流控制语句break语句还可以和标号结合运用。语句还可以和标号结合运用。语法格式为:语法格式为:break 标号标号;语义:是跳出标号所标志的语句块,继续执行其后的语句语义:是跳出标号所标志的语句块,继续执行其后的语句。2-63Copyright 山西大学商务学院 2009-2010. All rights reserved.breakbrea
48、k语句例如语句例如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; break;default: h=0; break; if( i=50 )break label1; System.out.println(“i= +i);2-64Copyright 山西大学商务学院 2009-2010. All rights reserved.特殊的流控制语句特
49、殊的流控制语句3. continue3. continue语句语句在循环语句中,在循环语句中,continuecontinue可以立刻终了当次循环而执行下可以立刻终了当次循环而执行下一次循环,当然执行前先判别循环条件能否满足。一次循环,当然执行前先判别循环条件能否满足。continuecontinue语句也可以和标号一同运用。语句也可以和标号一同运用。语法格式为语法格式为: :continue continue 标号标号; ;2-65Copyright 山西大学商务学院 2009-2010. All rights reserved.continue语句例如语句例如outer:for (int
50、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.数组数组数组阐明数组阐明一个数组是一系列的匿名变量,数组中的元素可经过下一个数组是一系列的匿名变量,数组中的元素可经过下标来访问。标来访问。在在Java中,数组是对象。中,数组是对象。类类Object中定义的方法都可以用于数组。中定义的方法都可以用于数组。2-67Copyright 山西大学商务学院
51、 2009-2010. All rights reserved.数组阐明数组阐明程序员可以阐明任何类型的数组,数组元素可以是根本程序员可以阐明任何类型的数组,数组元素可以是根本类型,也可以是类类型,当然还可以是数组。类型,也可以是类类型,当然还可以是数组。例例char s ;Point points ;s的每个元素都是的每个元素都是char类型的,类型的,points的每个元素都是的每个元素都是类类Point类型的。类型的。2-68Copyright 山西大学商务学院 2009-2010. All rights reserved.等价的数组阐明等价的数组阐明char s;Point point
52、s; 这两行阐明与前面的阐明完全等价。这两行阐明与前面的阐明完全等价。2-69Copyright 山西大学商务学院 2009-2010. All rights reserved.创建数组创建数组和一切对象一样,程序中运用和一切对象一样,程序中运用new关键字创建关键字创建数组,方括号中的数字表示数组元素个数。数组,方括号中的数字表示数组元素个数。例:例:s = new char20;points = new Point100;points0 = new Point();points1 = new Point();Java中没有静态的数组定义,数组的内存都是中没有静态的数组定义,数组的内存都是经
53、过经过new动态分配的。动态分配的。2-70Copyright 山西大学商务学院 2009-2010. All rights reserved.points(a)PointsLength:100(b)pointsLength:100X:Y:(c)2-71Copyright 山西大学商务学院 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 山西大学商务学院 2
54、009-2010. All rights reserved.图阐明图阐明阐明语句阐明语句:Point points;执行终了,系统为变量执行终了,系统为变量points分配一个援用分配一个援用空间。空间。阐明语句阐明语句:points = new Point 100;执行终了,系统在内存中分配一个数组对象执行终了,系统在内存中分配一个数组对象并把数组援用赋给变量并把数组援用赋给变量points,阐明语句阐明语句: points1 = new Point ();2-73Copyright 山西大学商务学院 2009-2010. All rights reserved.数组阐明与数组创建可以合并:
55、数组阐明与数组创建可以合并: char s = new char 20; Point points = new Point 100;数组变量的类型可以不同于所指向的数组类数组变量的类型可以不同于所指向的数组类,但应该是它的父类。,但应该是它的父类。例如:例如: Object points; points = new Point 100; 例如:例如:Point points; points = new Object 100;正确错误2-74Copyright 山西大学商务学院 2009-2010. All rights reserved.数组边境数组边境在在Java中,数组下标从中,数组下标从
56、0开场。开场。数组中的元素个数数组中的元素个数length是数组类中独一的数据成员变是数组类中独一的数据成员变量。量。运用运用new创建数组时系统自动给创建数组时系统自动给length赋值。赋值。数组一旦创建终了,其大小就固定下来。数组一旦创建终了,其大小就固定下来。程序运转时运用程序运转时运用length进展数组边境检查。进展数组边境检查。假设发生越界访问,那么抛出一个异常。假设发生越界访问,那么抛出一个异常。2-75Copyright 山西大学商务学院 2009-2010. All rights reserved.例如例如int list = new int 10;for (int i =
57、 0; i list.length; i+) / 进展相应处置的代码进展相应处置的代码循环的终了条件中运用循环的终了条件中运用list.length,而不是常数,而不是常数10。益处:不会引起数组下标越界,使程序更强壮,修正更方益处:不会引起数组下标越界,使程序更强壮,修正更方便。便。2-76Copyright 山西大学商务学院 2009-2010. All rights reserved.数组初始化数组初始化数组名加上下标可以表示数组元素。数组名加上下标可以表示数组元素。数组的下标范围为数组的下标范围为0到到length-1。当创建一个数组时,每个元素都被初始化。当创建一个数组时,每个元素都
58、被初始化。Java允许用初值来创建数组。允许用初值来创建数组。2-77Copyright 山西大学商务学院 2009-2010. All rights reserved.例如例如String names = Georgianna;Jen;Simon;Tom;2-78Copyright 山西大学商务学院 2009-2010. All rights reserved.静态初始化静态初始化静态初始化可用于任何元素类型,初值块中每个位静态初始化可用于任何元素类型,初值块中每个位置的每个元素对应一个援用。置的每个元素对应一个援用。names = new String4;names0 = Georgian
59、na;names1 = Jen;names2 = Simon;names3 = Tom;2-79Copyright 山西大学商务学院 2009-2010. All rights reserved.多维数组多维数组Java可以建立数组的数组的数组可以建立数组的数组的数组,由此得,由此得到多维数组。到多维数组。普通来讲,普通来讲,n维数组是维数组是n-1维数组的数组。维数组的数组。阐明多维数组时运用类型及多对方括号。阐明多维数组时运用类型及多对方括号。多维数组可以从最高维起,分别为每一维分配内存多维数组可以从最高维起,分别为每一维分配内存。2-80Copyright 山西大学商务学院 2009-2
60、010. 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 = new type arrleng2;.arrayN arrleng1 - 1 = new type arrleng2;2-82Copyrig
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 4 《地球-我们的家园》(教学实录)部编版道德与法治六年级下册
- 化妆合同范例 简易范例
- 开发项目技术合同范例
- 2025年马鞍山货运上岗证考试题库
- 大学商铺合同范例
- 无锡农村平房买卖合同范例
- 再生钢材采购合同范例
- 农村合伙购房合同范例
- 技术成果合同范例
- 汕头律师合同范例
- GB/T 5816-1995催化剂和吸附剂表面积测定法
- GB/T 26470-2011架桥机通用技术条件
- GB/T 20984-2022信息安全技术信息安全风险评估方法
- 服务类验收单(模板)
- 横版介绍信(带存根打印版)
- 【课件】资源枯竭型城市的转型发展+课件2022-2023学年高二地理人教版(2019)选择性必修2
- 胃脘痛中医护理方案-课件
- 固定式压力容器安全技术监察规程课件
- (完整版)消防安全工作台账消防台账记录
- 博士研究生开题报告论文答辩模板课件
- 边坡复绿工程施工方案
评论
0/150
提交评论