while循环结构
- while(循环条件)
{
循环操作
}
练习题
-
老师每天检查张三的学习任务是否合格,如果不合格,则继续进行。老师给张三安排的每天的学习任务为:上午阅读教材,学习理论部分,下午上机编程,掌握代码部分。
String input = "n";
while(input.equals("n"))
{
System.out.println("合格了吗?(y/n):");
Scanner scanner = new Scanner(System.in);
//接收用户输入
input = scanner.next();
if(input.equals("n"))//说明不合格
{
System.out.println("商务阅读教材!下午上级编程!");
}
}
System.out.println("完成学习任务!");
do-while循环结构
- do
{
循环操作
}while(循环条件);
for循环结构
- for(1参数初始化;2条件判断;4更新循环变量)
{
3循环操作;
}
练习题
-
循环输入某同学高考考试的5门课成绩,并计算平均分
public class linshi {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("输入学生姓名");
String name = scanner.next();
int grade = 0;
int total = 0;
for(int i = 1; i <= 5; i++)
{
System.out.println("请输入5门功课中第"+i+"门课的成绩");
score = scanner.nextInt();
total = total + grade;
}
System.out.println(name+"的平均分是"+total/5);
}
}
-
输出如图所示加法表
public class lingshi {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个值");
int num = scanner.nextInt();//6
int j = num;
for(int i = 0; i <= num; i++)
{
System.out.println(i+"+"+j+"="+num);
j--;
}
}
}
break
- 用于do-while、while、for中时,可跳出循环而执行循环后面的语句
练习题
-
循环录入某学生5门课的成绩并计算平均分,如果某分数录入为负,停止录入并提示录入错误
--分析
循环录入成绩,判断录入正确性:录入错误,使用break语句立刻跳出循环;否则,累加求和
1.自己的方法
public class linshi {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入学生姓名:");
String name = scanner.next();
int sum = 0;
int grade = 0;
for (int i = 1; i <= 5;i++)
{
System.out.print("请输入第" + i + "门课的成绩:");
grade = scanner.nextInt();
if (grade < 0 || grade > 100) {
System.out.println("抱歉,分数录入错误,请重新输入!");
break;
}
sum += grade;
}
if (grade >= 0 && grade <= 100){
System.out.print(name + "平均成绩是" + sum/5);
}
else {
}
}
}
2.老师的方法(运用boolean)
public class linshi {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入学生姓名:");
String name = scanner.next();
int sum = 0;
int grade = 0;
boolean error = false;//假设用户输入没有错误
for (int i = 1; i <= 5;i++)
{
System.out.print("请输入第" + i + "门课的成绩:");
grade = scanner.nextInt();
if (grade < 0 || grade > 100) {
error = true;
break;
}
sum += grade;
}
if (error == false){
System.out.print(name + "平均成绩是" + sum/5);
}
else {
System.out.println("录入有错误,请重新输入");
}
}
}
- 1~10之间的整数相加,得到累加值大于20的当前数
public class linshi {
public static void main(String[] args) {
int sum = 0;
int i = 1;
for ( i = 1; i<=10;i++ )
{
sum += i;
if (sum > 20)
{
break;
}
}
System.out.println(i);
}
}
continue
- 跳过循环体中剩余的语句而执行下一次循环
练习题
-
循环录入Java课的学生成绩,统计分数大于等于80分的学生比例
--分析:
1.通过循环,获得分数大于等于80分的学生人数num
2.判断:如果成绩<80,不执行num++,直接进入下一次循环
public class linshi {
public static void main(String[] args) {
Scanner scanner = new Scanner(System .in);
System.out.print("请输入班级总人数:");
int number = scanner.nextInt();
int count = 0;
for (int i = 1;i <= number;i++)
{
System.out.print("请输入第" + i + "位学生的成绩:");
int grade = scanner.nextInt();
if (grade < 80)
{
continue;
}
else
{
count++;
}
}
System.out.println("80分以上的学生人数是:" + count);
System.out.println("80分以上的学生所占的比例是:" + (double)count/number);
}
}
- 求1~10之间的所有偶数和
--分析:
1.使用循环进行累加,循环的范围是从1至10
2.判断当前数是否为偶数
3.如果为奇数跳过,执行下一个循环,如果为偶数,进行累加
public class linshi {
public static void main(String[] args) {
int sum = 0;
for (int i = 1;i <= 10;i++)
{
if(i%2 == 1)
{
continue;
}
else
{
sum += i;
}
}
System.out.println("偶数和:" + sum);
}
}
break和continue小结
- break语句终止某个循环,程序跳转到循环块外的下一条语句
- continue跳出本次循环,进入下一次循环
网友评论