1、1,Java面向对象程序设计,第3章 程序的流程控制,2,本章主要内容,使用Java中的数组 掌握选择结构流程 掌握循环结构流程 掌握其他流程控制语句,3,数组的概念,数组是一个变量,用于将相同数据类型的数据存储在存储单元中。 数组可以为多维。 一维数组由一列相同类型的数据组成,可以通过指定数组的名称和大小来声明数组。 多维数组是数组的数组,要声明一个多维数组,必须使用另一组方括号来指定附加索引。,演示数组的使用,4,一维数组,数组的定义:int numbers; 数组的空间分配:numbers = new int3; 数组元素的初始化: int numbers = 1, 2, 3; /定义时
2、初始化 int numbers = new int 1, 2, 3;/分配空间时初始化 numbers0 = 1; /对某一元素赋值初始化 int numbers; numbers = 1, 2, 3; /error int numbers = new int31, 2, 3; /error 数组元素的访问,演示一维数组的使用,5,二维数组,数组的定义:int numbers; 数组的空间分配:numbers = new int34; 数组元素的初始化: int numbers = new int1,2,3,4,5,6 /ok int numbers = 1,2,3,4,5,6 /ok int
3、 numbers = 1,2,3,4,5,6 /ok int numbers = new int1,2,3,4,5,6 /error int numbers = new int21,2,3,4,5,6 /error 数组元素的访问,演示二维数组的使用,6,二维数组,Java的二维数组,每一行是一个一维数组。在C语言中,要求每一个一维数组列数相同,但Java允许每一行的列数不同,如: int numbers; /定义 numbers = new int3; /分配空间 numbers0 = new int5; numbers1 = new int3; numbers2 = new int2; 类
4、似C语言中的指针数组,数组中每个元素都是引用。,7,控制流语句,三种基本结构形式:顺序结构、分支结构、循环结构。 流控制使程序员可以创建一个应用程序,该应用程序能够检查现有的条件并决定适当的操作过程。 循环或迭代是重要的编程结构,可用于重复执行一组操作。 跳转语句允许以非线性的方式执行程序。,8,控制流语句的类型,判断语句 if-else 语句 switch-case 语句 循环语句 while 循环 do-while 循环 for 循环 增强的for循环,9,if-else 语句,if-else 语句测试条件的结果,然后根据此结果来执行相应的操作,它可用于以两个不同的路径来执行程序。 if-
5、else 语句分为: 单分支(if) 双分支(if-else) 多分支结构(if-else-if),10,if-else 语句,if (condition) action1; ,if (condition) action1; else action2; ,if (condition1) action1; else if (condition2) action2; else if (condition3) action3; else action4; ,11,switch-case 语句,switch-case 语句可用于替换 if-else-if 语句 在表达式得出多个值的情况下使用此语句,s
6、witch只能测试等式。switch (表达式) case 1:操作 1 的语句;break;case 2:操作 2 的语句;break;.case n :操作 n 的语句;break;default:默认语句; ,int month = 1; String name; switch (month) case 1:name = “一月”;break;case 2:name = “二月”;break;.default:name = “月份无效”;,12,循环结构,while,只要指定的条件评估为true,while 循环则执行一个语句或一组语句。,语法,int count = 0; while
7、(count 10) System.out.println(count);count+; ,示例,while (测试) / 语句 ,被执行,条件 = true,13,循环结构,do-while,do-while循环执行某些语句,直到指定的条件为真。此循环确保循环体至少执行一次。,语法,do System.out.println(count);count+; while (count 10) ;,示例,do / 语句while (测试),被执行,条件 = true,14,循环结构,for,for循环用于按预定的次数执行语句或语句块。,语法,for(int count = 0; count 10;
8、 count+) System.out.println(count); ,示例,for(计数器初始化;条件判断; 增量) 操作语句; ,条件 = true,被执行,计数器初始化,增量,15,跳转语句,两种跳转语句为: break continuebreak 语句:用于终止块。continue 语句:有时程序员可能希望继续循环,而停止处理其主体内的其余代码,以进行特定的迭代。continue 语句可用于这种操作。,16,示例,课后题:打印输出下面的图形。* * * * * * * * * * * * * * * * * * * * *,public void print() for(int i
9、= 1; i = this.getLines(); i+) for(int j = 1; j = this.getLines() - i; j+) System.out.print(“ “);for(int j = 1; j = i * 2 - 1; j+) System.out.print(“*“);System.out.println(); ,17,示例,输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。,18,命令行参数,main函数内为什么会有String args? 在程序执行过程中,可以通过传递命令行参数将信息传递至 main( ) 方法,通过 String 参数访
10、问这些参数。 Java应用程序可以从命令行接受任意数量的参数。main方法的参数String args数组就是用来保存从命令行输入的参数的。,19,命令行参数,public class ComndLineArgs public static void main(String args ) for(int i=0;iargs.length;i+) System.out.println(argsi); 执行:java ComndLineArgs “Welcom to Java” to Java 执行:java ComndLineArgs “Welcom to Java” 100 56双引号中的字符串被视为一个参数,数字则被视为字符串。,20,本节小结,使用Java中的数组 掌握选择结构流程 掌握循环结构流程 掌握其他流程控制语句,