JAVA学习(八)
二重循环
一、回顾3种循环结构
1、while
语法
条件表达式的初始值;
while(条件表达式){
循环操作;
更改条件表达式的语句;
}
特点:先判断,再执行,有可能一次循环都没有
适用的场合:循环次数未知
表现形式
第一种:循环的次数确定
条件表达式,判断整型的变量在某个范围
while(i<=5){ //不需要接收用户输入}
第二种:循环次数不限,用户输入某个值结束循环
条件表达式,根据用户输入的值进行判断
while(用户输入的值和某个值做比较){
如输入0或(yes/no)结束循环
}
2、do…while
语法
条件表达式的初始值;
do{
循环操作;
更改条件表达式的语句;
}while(条件表达式);
特点:先执行,再判断,至少循环1次
适用场合,同while循环
表现形式,同while循环
3、for
语法
for(初始值;条件表达式;迭代部分){
//循环操作
}
特点:同while循环,都先判断,再执行,有可能1次循环都不执行
适用场合:循环次数固定
二、循环中常见的2个语句
break——终止循环(循环未完毕时,提前结束循环)
continue——结束本次循环,进入下一次循环
三、回顾数组
1、声明数组
数据类型【】数组名;
【】也可以放到数组名后面
2、为数组分配空间(长度)
方式1:【长度】来分配空间,元素只有默认值
数据类型[]数组名=new 数据类型[长度];
int类型的数组,元素的默认值为0
String类型的数组,默认值为null
方式2:根据值的个数,确定已分配的空间
数据类型[] 数组名={值列表};
int[]nums={1,2,3};
方式3:根据值的个数,确定已分配的空间
数据类型[] 数组名=new 数据类型[]{值列表};
int [] nums= new int[]{1,2,3};
3、遍历数组,一般情况都采用for循环取值或动态赋值
for(int 变量=初始值; 条件表达式; 变量变更){
根据下标取值,下标>=0且下标<数组名.length }
四、二重循环
1、循环中,嵌套另外一个循环,将内层的循环,看成外层循环的一个循环操作
2、常见的二重循环
形式1: 外层while或do…while
内层为for循环
形式2:外层、内层都是for循环
形式3:外层为for循环,内层为while或do…while
3、二重循环的执行顺序
1、首先执行1次外层循环;
2、进入外层循环后,必须要将内层循环全部循环完毕,
才继续进行外层的第2….N次循环。
五、二重循环中的continue和break【最近原则】
1、continue:结束离它【最近的循环结构】的本次循环,进入该循环结构的下一次循环
2、break:终止离它【最近的循环结构】的循环
六、二重循环常见方式
1、for循环相互嵌套
for( ){
for(){
}
……………………..
0}
public static void main(String [] args){
Scanner input=new Scanner(System.in);
int scores[]=new int[4];
for (int d=0;d<3;d++){
System.out.println("请输入第"+(d+1)+"个班的成绩");
int num=0;
for (int i=0;i<scores.length;i++){
System.out.print("请输入第"+(i+1)+"位学员的成绩:");
scores[i]=input.nextInt();
num=num+scores[i];
}
System.out.println("\n参赛的学员平均分是:"+(num/4.0));
}
}
利用二次循环打印直角三角形
public static void main(String [] args){
Scanner input=new Scanner(System.in);
System.out.println("请输入直角三角形的行数:");
int hang =input.nextInt();//三角形的行数
for (int i=1;i<=hang;i++){
for (int j=1;j<=2*i-1;j++){
System.out.print("*");
}
System.out.print("\n");
}
}
public static void main(String [] args){
Scanner input=new Scanner(System.in);
System.out.print("请输入等腰三角形的行数:");
int hang=input.nextInt();
for (int i =1;i<hang;i++){
for(int j=hang-i;j>=1;j--){
System.out.print(" ");
}
for(int k=1;k<=2*i-1;k++){
System.out.print("*");
}
System.out.print("\n");
}
}
2、for循环中,嵌套while或do…while
for(){
while(){
}
或
do{
}while();
}
浙公网安备 33010602011771号