当前位置: 代码迷 >> 综合 >> 【Java】经典案例练习理论知识学习-DAY11
  详细解决方案

【Java】经典案例练习理论知识学习-DAY11

热度:20   发布时间:2024-01-15 21:28:54.0

1.双重循环打印一个数字金字塔

import java.util.Scanner;public class Test {public static void main(String[] args){Scanner input = new Scanner(System.in);//用户输入的行数System.out.println("您想要几行数字?");int num = input.nextInt();for(int i =1;i<=num;i++){//倒三角for(int j =1;j<=num-i;j++){System.out.print("  ");}//直角三角形for(int k=1;k<=i*2-1;k++){System.out.print(i+" ");}System.out.println();}}
}

代码部分

 打印结果

2.双重循环打印九九乘法表

public class Test {public static void main(String[] args){for(int i =1;i<=9;i++){for(int j=1;j<=i;j++){System.out.print(i+"*"+j+"="+i*j+"\t");}System.out.println();}}
}

代码部分 

 打印结果

跳转语句

3.break语句与continue语句

·break的使用

(1)配合switch一起使用

(2)例子:输入一个学生的5门成绩,计算平均分,如果输入的分数为负数,则报错并且结束程序

import java.util.Scanner;public class Test {public static void main(String[] args){Scanner input = new Scanner(System.in);//总分int sum = 0;//输入一个学生的5门成绩,计算平均分,如果输入的分数为负数,则报错并且结束程序int i =1;for(;i<=5;i++){System.out.println("请输入第"+i+"门成绩:");int score = input.nextInt();if(score<0){System.out.println("输入的成绩有误,程序结束");break;}sum+=score;}if(i==6) {System.out.println("这个学生的5门成绩的平均分为:" + (sum / 5) + "分");}}
}

(3)可以手动控制跳出哪一层循环或者选择

·continue的使用

(1)continue:只能在循环里使用

(2)continue作用:跳过循环体中剩余的语句而执行下一次循环

(3)例子:循环录入学生的成绩,统计分数大于80分的人数。

import java.util.Scanner;public class Test {public static void main(String[] args){Scanner input = new Scanner(System.in);//输入学生人数System.out.println("请输入班级学生人数:");int student = input.nextInt();//统计分数大于80分的学生人数int studentCount = 0;for(int i=1;i<=student;i++){System.out.println("请输入第"+i+"位学生的成绩:");int score = input.nextInt();if(score<80){continue;}studentCount++;}System.out.println("成绩大于80分的学生人数为:"+studentCount+"人");}
}

 

(4)例子:输入一个整数,0的话程序结束,1~7的话,输出对应的“星期一~星期天”,超过7的话,提示重新输入

import java.util.Scanner;public class Test {public static void main(String[] args){Scanner input = new Scanner(System.in);while(true) {//提示用户输入一个1~7的整数System.out.println("请输入一个1~7的整数:");int num = input.nextInt();if (num == 0) {System.out.println("程序结束");break;}else{switch(num){case 1:System.out.println("星期一");break;case 2:System.out.println("星期二");break;case 3:System.out.println("星期三");break;case 4:System.out.println("星期四");break;case 5:System.out.println("星期五");break;case 6:System.out.println("星期六");break;case 7:System.out.println("星期日");break;default:continue;}break;}}}
}

·break与continue

(1)使用场合:break常用于switch与循环结构中,continue一般用于循环结构中    

(2)作用(循环结构中)  

break语句终止某个循环,程序跳转到循环块外的下一条语句  

continue跳出本次循环,进入下一次循环  

双重循环亦是如此

·return

结束当前方法的执行并推出,返回到调用该方法的语句处;通俗一点讲,就是终止程序,退出方法

数组

1.含义:数组是一个变量,储存相同数据类型的一组数据

· 声明一个变量就是在内存空间划出一块合适的空间

· 声明一个数组就是在内存空间划出一串连续的空间

2.基本要素:

(1) 标识符(数组名称)

(2) 数组元素

(3) 元素下标:从0开始

(4) 元素类型

3.使用步骤:

(1)声明数组 int[] a;  int a[];  数据类型 数组名[]; 或者 数据类型[] 数组名;

(2)分配空间 a = new int[5];  new 数据类型[大小];

上面两步可以合在一起写: 数据类型[] 数组名 = new 数据类型[大小];

(3)赋值 a [0] =8;

(4)处理数据 a [0] = a[0] *10;

4.注意点:

(1)数组声明后长度固定不变,避免数组越界

(2)分配空间后,即便不赋值,数组元素也有初始值(int数组:0;    str数组:null)

  相关解决方案