Java语言程序控制语句.ppt_第1页
Java语言程序控制语句.ppt_第2页
Java语言程序控制语句.ppt_第3页
Java语言程序控制语句.ppt_第4页
Java语言程序控制语句.ppt_第5页
已阅读5页,还剩64页未读 继续免费阅读

VIP免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章 Java语言程序控制语句,简单语句和复合语句 标准输入输出语句 3.1 选择语句 3.2 循环语句 3.3 跳转语句 数 组 3.4 断言 3.5 Java程序示例,简单语句和复合语句,语句是程序的基本组成单位。 1. 简单语句 变量说明语句、赋值语句、方法调用语句、空语句等被称为简单语句。 在Java语言中,一个简单语句总是以分号结尾的。 例:int a=1,b; /变量说明语句 b=2; /赋值语句 ; /空语句 System.out.print(b); /方法调用语句,2. 复合语句 复合语句:由大括号“ ”括起来的语句。 复合语句的 内可放0n个语句,每条语句都应该符合Java语句的语法。 例. if (a0) z=a; a=b; b=z; ,Java的输入和输出使用方法调用语句。 计算机支持多种输入和输出设备。例如,鼠标、键盘、扫描仪等是输入设备,显示器、打印机等是输出设备。 标准I/O操作是指通过标准输入、输出设备进行的输入和输出操作。一般用键盘作为标准的输入设备,显示器则是标准的输出设备。 在Java中,通过 System.in 和 System.out 对象分别与键盘和显示器发生联系而完成程序信息的输入和输出。,标准输入输出语句(I/O),System.out 对象包含着多个向显示器输出数据的方法。System.out对象中包含的最常用的方法是: print() - 输出一项数据但不换行 println() - 输出一项数据后换行 例如: System.out.print(“Example !“); System.out.print(“Input Name: “); 执行后将输出: Example ! Input Name: 代码: System.out.println(“Example !“); System.out.println(“Input Name: “); 执行上述代码将输出如下结果: Example ! Input Name:,1. 标准输出System.out对象,如果要用一个语句输出多个数据项,则数据项之间要用 “+” 连接。如: String str1=“abc“; int n=11, m=22; System.out.print(str1+“ABC“); /输出:abcABC System.out.print(1+“ABC“); /输出:1ABC 要将数值型变量的值分别输出,则必须在中间加入空格字符串(或空串)。如: System.out.print(n+m); /输出:33 System.out.print(n+“ “+m); /输出:11 22 System.out.print(n+“+m); /输出:1122,System.in对象用于在程序运行时从键盘接收输入。 在Java中输入数据时,为了处理输入数据的过程中可能出现的错误,需要使用异常处理,以使程序具有“坚固性” (异常处理的详细介绍在第5章)。 有两种异常处理格式实现输入: 使用try-catch 语句与read方法 使用throws IOException与read方法 下面是从键盘读一个字符,一个字符串或一个整数的程序示例。当程序中需要实现键盘输入功能时可以参考这些例子。,2. 标准输入System.in对象,import java.io.*; /引入java.io中的类(输入输出类),因程序中要 /用到输入输出类的read()方法, *表示引入该包中下面所有用到的类 public class ReadChar public static void main(String args) throws IOException /主方法抛出异常 char ch=(char)System.in.read(); /调用read方法,读一个 /字节数据(一个字符的ASCII码值)存于ch中 System.out.print(ch); ,例. 从键盘读一个字符 使用throws IOException与read方法,例. 从键盘读一数字串并转化为整数,import java.io.*; class ReadStringOrInt public static void main(String args) throws IOException byte buf=new byte20; /20个字节的数组用于存字符串 String str; int anInt; System.in.read(buf); /从键盘读一个数字串保存于buf中 str=new String(buf); /buf 转换成String对象str /(ASCII字符串转换成Unicode码串) anInt=Integer.parseInt(str.trim(); /数字串转换成整数 System.out.print(anInt); ,要将数字串转换成实数,则: float f=Float.parseFloat(str.trim(); /转成单精度数 double d=Double.parseDouble(str.trim(); /转成双精度数,一般而言,Java程序中的语句是顺序执行的,也就是说,按照程序中语句出现的次序从第一条开始依次执行到最后一条。如果需要根据某个条件来决定下面该进行什么操作,或是某些事情应根据需要不断重复地去做。这时就需要用到流程控制语句来控制程序中语句的执行顺序。,3.1 选择语句,3.1.1 if 语句 3.1.2 switch 语句,简单if语句的执行流程如下图所示。,if-else语句根据判定条件的真假来执行两种操作中的一种。 1. 简单形式,语法形式: if (布尔表达式) 语句 注意:if 语句中的条件必须是布尔表达式,这点与C+是不同的(C+中可以是一般的算术表达式)。语句可以是复合语句。 例. if (minb) min=b;,3.1.1 if 语句,条 件,布尔表达式,语句,if的后继语句,false,true,简单if语句的执行流程图,语法形式: if (布尔表达式) 语句1 else 语句2 注意:条件必须是布尔表达式。语句1、语句2可以是复合语句。 例. if (ab) min=a; else min=b; 带else部分的if语句的执行流程如下图所示。,条 件,2. 完全形式,布尔表达式,if的后继,false,true,有else部分的if语句的执行流程,语句1,语句2,if语句中内嵌的语句又是if语句的情况称为if语句的嵌套。如: if(布尔表达式1) 语句1 else if(布尔表达式2) 语句2 else if (布尔表达式m) 语句m else 语句n,3. if 语句的嵌套,程序从上往下依次判断布尔表达式的条件,一旦某个条件满足(即布尔表达式的值为true),就执行相关的语句,然后就不再判断其余的条件,直接转到if语句的后续语句去执行。Java规定,else总是与离它前面最近的 if 配对。如果需要,可以通过使用花括号“”来改变配对关系。如: (1) if (x=1) (2) if (x=1) if (y=1) if (y=1) aa=1; aa=1; else aa=2; else aa=2; (1)此处的else与if(y=1)相配; (2)此处的else与if(x=1)相配,例. 求一元二次方程(ax2+bx+c=0)的根,public class roots public static void main(String args) int a,b,c,check; float x1,x2; a=1;b=-2;c=1; check=b*b-4*a*c; if (check=0) x1=(-b)/(2*a); x2=x1; System.out.println(“x1=“+x1); System.out.println(“x2=“+x2); ,else if (check0) x1=(-b+(float)Math.sqrt(check)/(2*a); x2=(-b-(float)Math.sqrt(check)/(2*a); System.out.println(“x1=“+x1); System.out.println(“x2=“+x2); else /*请自己填写*/ ,练习: 编写一程序,运行后从键盘输入二个整数,输出 其中的最小数。,课堂练习:求最小数,import java.io.*; public class Min public static void main(String args) throws IOException ,byte buf=new byte20; String str ; int a, b, min; System.out.println(“请输入二个整数:“); System.in.read(buf); /从键盘读一数字串存于buf中 str=new String(buf); /buf 转换成字符串 a=Integer.parseInt(str.trim(); /数字串转换成整数 System.in.read(buf); str=new String(buf); b=Integer.parseInt(str.trim(); min=a; if (minb) min=b; System.out.println(“最小数是“+min);,3.1.2 switch 语句,switch语句根据测试表达式的结果来执行多个可能操作中的一个,它的语法形式如下: switch语句的流程如下所示。,switch(测试表达式) case 常量1:语句块1 break; case 常量2:语句块2 break; case 常量n:语句块n break; default: 语句块n+1 ,测试表达式,语句块1,break,语句块2,break,break,语句块n,语句块n+1,后继语句,常量2,default,switch语句的流程图,常量1,常量n,switch语句中的每个“case常量:” 称为一个case子句,代表一个case分支的入口。 switch语句的注意点如下: (1)测试表达式必须是byte、char、short、int类型的表达式,而不能使用浮点类型或long类型,也不能为一个字符串。 (2)switch语句将测试表达式的值依次与每个case子句中的常量值相比较。如果匹配成功,则执行该case子句中常量值后的语句,直到遇到break语句为止。 (3)case子句中常量的类型必须与测试表达式的类型相容,而且每个case子句中常量的值必须是不同的。常量也可以是常量表达式(不含变量、方法的表达式)。,(4)default子句是可选的,当测试表达式的值与任一case子句中的值都不匹配时,就执行default后的语句。如果表达式的值与任一case子句中的值都不匹配且没有default子句,则程序不执行任何操作,而是直接跳出switch语句,进入后续程序段的执行。 (5)break语句用来在执行完一个case分支后,使程序跳出switch语句,执行switch语句的后续语句。因为case子句只是起到一个标号的作用,用来查找匹配的入口,然后从此处开始执行,对后面的case子句的值不再进行比较,而是直接执行其后的语句。因此一般情况下,每个case分支后,要用break来终止后面的case分支语句的执行。,(6)case分支中包括多个执行语句时,可以不用花括号括起。 (7)通过if-else语句可以实现switch语句所有的功能。但通常使用switch语句更简练,且可读性强,程序的执行效率也高。 (8)if-else语句可以基于一个范围内的值或一个条件来进行不同的操作,但switch语句中的每个case子句都必须对应一个单值。,class SwitchDemo public static void main(String args) int month=7; String season; switch (month) case 12: case 1: case 2: season=“冬季“; break; case 3: case 4: case 5: season=“春季“; break;,case 6: case 7: case 8: season=“夏季“; break; case 9: case 10: case 11: season=“秋季“; break; default: season=“错!“; System.out.println(month+“月是“+season); ,ss,例. 用switch语句判断一个月份属于一年中哪个季节(春、夏、秋、冬) (方法一),循环语句的作用是反复执行同一段代码直到满足结束条件。许多问题中需要用到循环控制。例如累加、累乘等。 Java循环语句有while、do-while和for三种。,3.2 循环语句,3.2.1 while语句 3.2.2 do-while语句 3.2.3 for 语句 循环嵌套,while语句形式如下: while (布尔表达式) 语句 while语句执行的过程为:执行while语句时,首先判断布尔表达式的值,当布尔表达式的值为true,则执行循环体,然后再判断条件,直到布尔表达式的值为false,停止执行语句。 使用while语句应注意以下两点: (1)该语句是先判断后执行,若一开始条件就不成立,就不执行循环体。 (2)在循环体内一定要有改变条件的语句,否则是死循环。 while语句的流程图如下所示。,3.2.1 while 语句,布尔表达式,循环体,false,true,while语句流程图,class sum public static void main(String args) int n=100; /循环总数n=100 int i=1; /循环次数,初值为 float s=0; /和s为实型 while (i=n) /循环条件,循环总数100 s=s+1.0f/i; /s增加1/i, 1.0f表示是float型 i+; /循环次数加 System.out.println(“s = “+s); ,例. 用while循环语句计算s=1+1/2+1/3+1/100。,Java还提供了另一个与while语句类似的语句do-while语句。do-while语句的语法形式如下: do 语句 while (布尔表达式); do-while语句执行的过程为:先执行一次循环体中的语句,然后测试布尔表达式的值,如果布表达式的值为真,那就继续执行循环体,do-while语句将不断地测试布尔表达式的值并执行循环体中的内容,直到布尔表达式的值为假为止。 do-while语句的流程图如下所示。,3.2.2 do-while 语句,布尔表达式,循环体,true,false,Do- while语句流程图,do-while语句和while语句的不同之处是: do-while语句总是先进入循环,执行一次循环体后才检测循环条件,以决定是否继续循环,而while语句是先测试条件,再决定是否进入循环。所以,用do-while语句时,循环体至少执行一次。 例. 用do-while循环语句计算s=1+1/2+1/3+1/4+1/100。,class sum public static void main(String args) int i=1; /循环次数,初值为 float s=0; /和s为实型 do /循环条件 s=s+1.0f/i; /s增加1/i,1.0f表示是float型 i+; /循环次数加 while (i=100); /要循环100次 System.out.println(“s= “+s); ,for语句是循环的另一种表示形式。for语句的语法形式为: for(表达式1;表达式2;表达式3) 语句 for是for语句的关键字,语句为for语句的循环体,若有多个语句,需构成复合语句。 for语句中循环控制变量必须是有序类型,常用的有整型、字符型、布尔型。循环控制变量初值和终值通常是与控制变量类型相一致的一个常量,也可以是表达式。循环次数由初值和终值决定。执行过程: (1)按表达式1将初值赋给循环控制变量。 (2)按表达式2判断循环是否成立,即判断控制变量的值,3.2.3 for 语句,是否越过终值(未越过终值为条件成立,越过终值为条件不 成立),若条件不成立、转步骤(6)。 (3)若条件成立,则执行循环体。 (4)按表达式3修改控制变量。对于递增型为原控制变量值的后续;对于递减型为原控制变量值的前导。 (5)返回步骤(2)。(6)结束循环。,求解表达式1,表达式2,循环体,求解表达式3,for语句的下一语句,false,true,for语句的流程图,例. 求Fibonacci数列的前40个数项。 Fibonacci数列:1,1,2,3,5,8,13,21,34, 从数列看到: F1=1 (n=1) F2=1 (n=2) Fn=Fn-1+Fn-2 (n3),for语句使用的一些技巧: 有时,for语句在表达式1和表达式3的位置上需要包含多个表达式,这时可使用Java提供的逗号运算符来实现。,逗号运算符是用逗号“,” 分隔多个表达式, 被看作一个表达式。这样就可以在只能放一个表达式的地方放任意多个表达式,只须用逗号将它们分隔开。如: for ( i=1, j=10;ij;i+, j- ) 表达式1、表达式2及表达式3都可以为空语句(但分号不能省略),三者均为空的时候,相当于一个无限循环。如: for( ; ; ) , 注意点: 由于Java语句是用分号结束的,一个容易犯的错误是在for语句的圆括号后面加了一个不应有的分号。 例如:下面的程序是想要计算:1+2+99,在上例中,分号被放在循环体的前边,相当于for语句的循环体为空语句,其结果是for循环体什么都不处理。此程序的编译不会出任何错误,但当它运行时并不产生预期的结果。 运行上面这个程序会得到如下输出结果: value=100 一般来说,在循环次数预知的情况下,用for语句比较方便,而while语句和do-while语句比较适合于循环次数不能预先确定的情况。,循环嵌套,一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。内嵌的循环中还可以嵌套循环,这就是多重循环。上述三种循环(while循环,do-while循环和for循环)语句之间可以相互嵌套使用。 例. 打印下面的数字图案(每行打5个数字,每行各列数的值等于第一列数乘自己所在列号): 1 2 3 4 5 2 4 6 8 10 3 6 9 12 15 4 8 12 16 20 5 10 15 20 25,循环嵌套,public class Loop_Loop public static void main(String args) int I,J,K; /I表示行号,J表示列号,K存临时计算的值 for (I=1;I=5;I+ ) for ( J=1;J=5;J+) K=I*J; System.out.print(K+“ “); System.out.println(); /每打5列换行 ,例. 百鸡问题。 已知公鸡5元1只,母鸡3元一只,小鸡1元3只,要求用100元刚好买100只鸡,问有多少种采购方案。 分析: 设变量I、J、K分别代表公鸡数、母鸡数及小鸡数,则应满足下列一些条件: I+J+K=100(只),I,J,K0; 5I+3J+K/3=100(元); 若用100元全部买公鸡,最多只能买20只, 所以I20;同样地母鸡最多只能买33只,所以J33; 而小鸡数目就是100-I-J; 根据以上分析,可编程如下:,例.百鸡问题,public class Loop_Loop public static void main(String args) int I,J,K; System.out.println(“公鸡 母鸡 小鸡“); for (I=0; I=20; I+ ) for ( J=0; J=33; J+) K=100-I-J; if (5*I+3*J+K/3.0=100) /注意“K/3.0” System.out.println(I+“ “+J+“ “+K); ,循环语句正常结束是在循环条件表达式的值变为false的 时候,但有时即使测试的条件为true,也希望循环立即终止,这时可以用跳转语句break或continue语句实现。continue语句只能用于循环语句中。break可用于switch语句中,亦可用于循环语句中 注意:Java中不支持goto语句。,3.3 跳转语句,3.3.1 break语句 3.3.2 continue语句,break语句的一般语法格式为: break 标号; 其中,用“ ”括起的标号部分是可选的。 1.不带标号的情况 此时,break语句的功能是终止break所在的循环语句,转去执行其后的第一条语句。 对于不带标号的break语句,在执行时有两个特点: 1) 在有多重循环时,它只能使循环从本层的循环跳出来; 2) 跳出循环后转移到本层循环的下一个语句。,3.3.1 break 语句,public class breakout public static void main(String args) throws IOException int I,J,K; char ch= ; for (I=1;I=1;I+ ) /最外层循环 for ( J=1;J=2;J+) /第二层循环 for ( K=1;K=2;K+) /内层循环 ch=(char)System.in.read(); if (ch=c) break ; /结束内层循环语句 System.out.println(“333“); if (ch=b) break ; /结束第二层循环语句 System.out.println(“222“); if (ch=a) break ; /结束最外层循环语句 System.out.println(“111“); ,例.不带标号的break语句,2.带标号的情况 标号就是加在语句前面的一个合法的标识符,其后跟一个冒号。如下所示: 标号:语句 标号只是起到对语句标识的作用。 带标号的break语句的功能是使程序结束标号指明的外层循环语句,执行该外层循环语句的后继语句。标号应该定义在(要结束的)外层循环语句的开始处。 带标号的break语句的一种典型用法就是实现break语句所在的循环的外层循环语句(从内部直接跳出来)。 例如:,import java.io.*; class breakto_A public static void main(String args) throws IOException int i,j; char ch= ; A: /标号A, 外层循环 for (i=1;i=2;i+ ) for ( j=1;j=1;j+) /内层循环 ch = (char) System.in.read(); if (ch = a) break A; /结束A对应的循环语句(外层循环) System.out.println(“222“); System.out.println(“111“); ,continue语句只能在循环语句中使用。它和break语句的区别是continue语句只结束所在循环语句的本次循环,而不是终止整个循环语句的执行;而break语句则是结束整个循环语句的执行。continue语句的一般语法格式为: continue 标号; 其中,用“ ”括起的标号部分是可选的。 1.不带标号的使用情况 此时,continue语句用来结束所在循环语句的本次循环,即跳过循环体中continue语句后面的语句,回到循环体的条件测试部分继续执行。 不带标号continue语句和不带标号的break语句类似,只能对所在一层的循环起作用。,3.3.2 continue 语句,public class continueto public static void main(String args) throws IOException int I,J; char ch= ; for (I=1;I=1;I+ ) /外层循环 for (J=1;J=2;J+) /内层循环 ch=(char)System.in.read(); if (ch=b) continue; /结束内层循环的本次循环 System.out.println(“没有结束内循环!“); if (ch=a) continue; /结束外层循环的本次循环 System.out.println(“没有结束外循环!“); ,例:不带标号的continue语句,2.带标号的使用情况 此时,continue语句跳过标号所指的循环语句所有余下部分语句,回到标号所指循环语句块的条件测试部分继续执行。注意标号应该定义在外层循环语句的开始处。 下面是一个使用带标号的continue语句的例子。,import java.io.*; class continue_A public static void main(String args) throws IOException int i,j; char ch= ; A: /标号A, 外层循环 for (i=1;i=2;i+ ) for ( j=1;j=1;j+) /内层循环 ch = (char) System.in.read(); if (ch = a) continue A; /结束A对应的循环语句的本次循环 System.out.println(“本次内循环正常结束!“); System.out.println(“本次外循环正常结束! “); ,1 一维数组 2 多维数组,数组是相同类型的数据元素按顺序组成的一种复合数据类型,元素在数组中的相对位置由下标来指明。数组中的每个元素通过数组名加下标进行引用。数组作为一种特殊的数据类型具有以下特点: (1) 一个数组中所有的元素应该是同一类型; (2) 数组中的元素是有顺序的; (3) 数组中的一个元素通过数组名和数组下标来确定。,数 组,1) 一维数组的说明与构造 与C+中不同的是,Java中数组要用new操作符实例化才可使用。所以建立一个数组需要两步: 声明数组 实例化 格式: 类型 数组名; (或: 类型 数组名;) 数组名 = new 类型数组长度; 说明: 第一行声明一个数组名,并指明数组类型(可任何类型)和维数; 第二行使用new操作符构造数组并初始化(缺省值),即为数组元素分配存储空间,并为每个数组元素都赋予一个初值。,1.一维数组,上面的第二步实例化可以暂时不做,到需要时再完成。也可将上面的二步合并为一步: 类型 数组名 = new 类型数组长度; 例: int list ; /声明一个整型数组 list = new int3; /为上面声明的数组分配3个整数元素 /的内存空间,并使每个元素初值为0 合并为一步: int list = new int3;,2) 数组的初始化 数组初始化就是为数组元素指定初始值。通常在构造数组时,Jave会使每个数组元素初始化为一个默认值。但在许多情况下,并不希望数组的初值为默认值,此时,就需要用赋值语句来对数组进行初始化。 数组的初始化方式有两种: 一、像初始化简单类型一样自动初始化数组(不用new),即在说明数组的同时进行初始化(称为静态初始化); 二、仅用new创建数组,让它取缺省值,到以后再为元素赋值(称为动态初始化)。,例:int a =1,2,3,4,5; /静态初始化 int list = new int3; /动态初始化 上面的第一个语句声明并创建了数组a,并且为数组每个元素赋初值,结果为: a0=1,a1=2,a2,=3,a3=4,a4=5 上面的第二个语句仅声明并创建了数组a,并未给数组赋初值, 由Jave为数组元素默认初始化,于是得到三个元素并且都有初值: list0=0, list1=0, list2=0 注意:“”中所有数据的类型必须与数组的类型相同,3) 数组元素的使用 数组被实例化后,就可以在程序中像使用任何变量一样来使用数组元素,即可以在任何允许使用变量的地方使用数组元素。数组元素的标识方式为: 数组名下标 例: a3、bi、ci*5 下标的取值范围是从0开始,一直到数组的长度减1。对于上面例子中的list数组来说,它有3个元素,分别为: list0、list1、list2(注意:不存在list3) 注意: 1.下标只能为byte、short、int或char类型,不能为long; 2.Java在程序编译时并不对数组下标进行越界检查,但在运行时会对数组下标进行越界检查,以保证安全性。,Java中的数组实际是Array类的一个对象,定义一个数组实际就是创建Array类的一个对象。该类中还有一些属性和方法供数组使用。如对于每个数组都有一个属性:length,它指明数组的长度(即元素个数),由程序自动计算。例如,list.length指明了数组list的长度。 Java中的数组还可利用数组名来互相赋值,但要注意,这种赋值实际是定义一个别名,即是同一数组的不同名字的引用。例如: int a=2,4,6, b; b=a; System.out.println(b1); /输出4 b1=7; System.out.println(a1); /输出7,4) 一维数组应用示例 例. 编写一个程序,在其中建立一个有10个整数的数组,运行后从键盘输入10个整数放入数组,然后输出其中的最大数。,import java.io.*; public class Array1 public static void main(String args) throws IOException int i, max, a=new int10; byte buf=new byte20; String str;,程序如下:,System.out.println(“请输入10个数:“); for(i=0; i=9; i+) /输入10个数, 以回车分隔 System.in.read(buf); str=new String(buf); ai=Integer.parseInt(str.trim(); max=a0; for(i=1; i=9; i+) /找最大数 if(maxai) max=ai; System.out.println(“最大数是“+max); ,与C+中类似,在Java中,当一维数组中的类型又是一个一维数组时,就构成了二维数组,以此类推,可构成更高维的数组。所以,多维数组是通过对一维数组的嵌套声明来实现的。 多维数组与一维数组一样,需要声明并实例化后才可使用。下面主要以二维数组为例来说明用法。 1) 二维数组的说明与创建 二维数组说明的格式为: 类型 数组名 ;(或 类型 数组名;) 例如: int intArray ; 与一维数组一样,此时还没有为数组元素分配内存空间,还需要用new关键字来创建数组,然后才可以使用该数组的每个元素。,2. 多维数组,对二维数组来说,分配内存空间有下面几种方法。 直接为每一维分配空间,如: int a = new int23; 该语句创建了一个二维数组a,其较高一维含两个元素,每个元素为由3个整型数构成的一维整型数组。如下所示:,从最高维开始,分别为每一维分配空间,如:,int b = new int2 ;/最高维含2个元素,每 /个元素为一个整型数组 b0 = new int3; /最高维第一个元素是一个长度 /为3的整型数组 b1 = new int5; /最高维第二个元素是一个长度 /为5的整型数组 下图为该数组的示意图。,注意: 在使用运算符new来分配内存时,对于多维数组至少要给出最高维的大小。 如果在程序中出现 int a2 =new int ; 编译器将要提示如下错误: Array dimension missing 2) 二维数组元素的初始化 二维数组元素的初始化同一维数组一样有两种方式: (1) 在说明数组的同时进行初始化。 (2) 仅用new创建数组,让它取缺省值,到以后再为元素赋值(称为动态初始化)。,例: int a = 1, 2,3, 4,5,6 ; 该语句声明了一个有6个元素的二维数组并初始化为: a00=1 a10=2 , a11=3 a20=4 , a21=5 , a22=6 3)二维数组元素的引用 对二维数组中每个元素,其引用方式为: 数组名 下标1下标2 其中下标1、下标2为非负的整型常数或表达式,如:a23、cci+2j*3(i,j为整型)等。同样,每一维的下标取值都从0开始。,4) 二维数组应用示例 例. 编写一个程序,计算4行4列整数矩阵的对角线元素之和。 程序如下:,public class Array2 public static void main

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论