java循环

while循环

循环结构的特点:
1、循环变量初始化
2、循环条件(先判断再执行)
3、循环操作

while基本语法

while (循环条件) {
	循环操作
}

public class cycle1{
	public static void main(String[] args){
		int i = 1; //循环变量初始化
		while (i<=10000){ //循环的判断条件
			System.out.println("爱你一万年------"+i);
			i++;  //循环体中改变循环变量的值
		}
	}
}

如何使用循环:
1、找循环结束的地方
2、找循环变量的初始值
3、找循环变量的改变规律

// 1~100的累加求和
public class Cum1_100{
	public static void main(String[] args){
		int i=1;
		int sum=0;
		while (i<=100) {
			sum=sum+i;
			System.out.println("第"+i+"次和:"+sum);
			i++;
		}
		System.out.println("总和:"+sum);
	}
}

例:

//录入成绩,求和
import java.util.Scanner;
public class score{
	public static void main(String[] args){
		Scanner in = new Scanner(System.in);
		System.out.println("请输入学生人数");
		int students_all = in.nextInt();
		int i=1;
		int score_all=0;
		while (i<=students_all) {
			System.out.println("请输入第"+i+"个学生的成绩");
			int score1 = in.nextInt();
			score_all = score_all+score1;
			i++;
		}
		int avg = score_all/students_all;
		System.out.println("平均成绩:"+avg);
	}
}


2006年某市学员8万人毕业,每年增长25%,请问按此增长速度,到哪一年学员人数达到20万人?

public class people1{
	public static void main(String[] args){
		int people = 80000;
		int year = 2006;
		while (people <= 200000){
			people = people+(people/100*25);
			year++;
			System.out.println("到"+year+"年"+"人数:"+people);
		}
		System.out.println("---------------------------");
		System.out.println("到"+year+"年"+"人数达到20万");
	}
}

import java.util.*;
public class guess_number1 {
	public static void main(String[] args){
		Scanner in = new Scanner(System.in);
		System.out.println("请输入一串数字");
		int num1 = in.nextInt();
		while(num1!=0){
			int num_end = num1%10;
			System.out.print(num_end);
			num1 = num1/10;
		}
		System.out.print("\n数值被颠倒");
	}
}

do-while循环

特点:先执行,再判断

do {
	循环操作  // 先执行一遍循环操作
} while (循环条件);  //符合条件,循环继续执行;否则,退出循环

import java.util.Scanner;
public class do_while1{
	public static void main(String[] args){
		Scanner in = new Scanner(System.in);
		String answer;
		do{
			System.out.println("唱歌");
			System.out.println("演唱TFBOYS的大梦想家");
			System.out.println("这首可以不?(y/n):");
			answer = in.next();
		} while (!answer.equals("y"));
		System.out.println("一个一个梦飞出了天窗");
	}
}

// 成语接龙 简单版
import java.util.Scanner;
public class do_while2{
	public static void main(String[] args){
		Scanner in = new Scanner(System.in);
		String answer;
		String list_answer = "";
		int i = 0;
		System.out.println("成语接龙");
		do{
			System.out.println("              ");
			System.out.println("----分隔符----");
			
			answer = in.next();
			list_answer = list_answer + answer+"\n";
			i = i+1;
		} while (!answer.equals("q")); //q退出
		System.out.println("---start---"); //此行以下输出结果
		System.out.println(list_answer);
		System.out.println("---end---");
		if (i>=8) { //成语个数大于8
			System.out.println("共"+(i-1)+"个---"+"胜利在望,你好棒");
		} else {
			System.out.println("共"+(i-1)+"个---"+"再接再厉,即使是游戏");
		}
		
	}
}

while循环和do-while循环的区别
语法不同:

//while 先判断,再执行
while (循环条件) {
	循环操作
}
//do-while 先执行,再判断
do{
	循环操作
} while(循环条件);
for循环

特点:循环次数固定

基本语法

for(参数初始化; 条件判断; 更新循环变量){
	循环操作
}

for (int i=0; i<100; i++){
	System.out.println("I CAN DO IT ");
}

例:计算n个月的月薪

import java.util.Scanner;
public class for_1 {
	public static void main(String[] args){
		Scanner in = new Scanner(System.in);
		int sum = 0;
		System.out.println("请输入你需要计算的月薪次数:");
		int times = in.nextInt();
		for (int i=1; i<=times; i++){
			System.out.println("请输入第个"+i+"月的月薪:");
			int salary = in.nextInt();
			sum = sum+salary;
		}
		System.out.println("你的平均月薪是:"+sum/times);
	}
}

例:求1+…+n的和

import java.util.Scanner;
public class sum_1 {
	public static void main(String[] args){
		Scanner input = new Scanner(System.in);
		System.out.println("请输入一个整数:");
		int n = input.nextInt();
		int sum = 0;
		if (n>0){
			for (int i=1; i<=n; i++){
				sum = sum+i;
			}
			System.out.println("1+...+"+n+"="+sum);
		} else {
			System.out.println("输入的数据有误");
		}
		
	}
}

例:加法表

import java.util.Scanner;
public class sum_加法表 {
	public static void main(String[] args){
		Scanner input = new Scanner(System.in);
		System.out.println("请输入一个整数:");
		int n = input.nextInt();
		for (int i=1,j=n; i<=n; i++,j--){ //注意分号与逗号的区别,同一表达式之间用逗号,不同表达式用分号
			System.out.println(i+"+"+j+"="+(i+j));
		}
	}
}

例:电脑随机产生100次0-100的随机数,求平均

import java.util.*;
public class sum_random {
	public static void main(String[] args){
		Random num = new Random();
		int sum=0;
		for (int i=0; i<100; i++) {
			int number = num.nextInt(101);
			System.out.println("第次"+(i+1)+"的随机数:"+number);
			sum = sum+number;
		}
		System.out.println("平均:"+sum/100);
		
	}
}

例:跑5000米,思路

for (int i = 0; i<10; i++){
	System.out.println("跑400米");
	if (不能坚持){
		break; //退出比赛
	}
}
import java.util.*;
public class for_break {
	public static void main(String[] args){
		Scanner in = new Scanner(System.in);
		for (;;){
			System.out.println("是否继续跑完");
			String answer = in.next();
			if (answer.equals("是")) {
				System.out.println("加油噢");
			} else {
				System.out.println("不跑了");
				break;
			}
		}
	}
}

例:

import java.util.*;
public class while_break {
	public static void main(String[] args){
		Scanner in = new Scanner(System.in);
		while (true){
			System.out.println("你爱我吗?");
			String answer = in.next();
			if (answer.equals("爱")) {
				System.out.println("终于等到你");
				break;
			} else{
				System.out.println("故事还不够感动天地,那咱们继续");
				System.out.println();
			}
		}
	}
}

continue

特点:只能用在循环里
作用:跳过循环体中剩余的语句而执行下次循环

while (...){
	...
	continue;
	...
	...
}

例:

import java.util.Scanner;
public class continue_psw {
	public static void main(String[] args){
		Scanner in = new Scanner(System.in);
		while (true){
			System.out.println("请输入密码");
			int password = in.nextInt();
			if (password==921) {
				System.out.println("密码正确");
				break;
			} else {
				continue;
			}
		}
	}
}
break和continue的区别

break可以用于switch结构和循环结构
continue只能用于循环结构

break终止某个循环,程序跳转到循环外的下一条语句
continue跳出本次循环,进入下一次循环

循环嵌套

public class while_循环嵌套 {
	public static void main(String[] args){
		int i = 1;
		while (i<=7){
			System.out.println("又是神奇的一天");
			int j = 1;
			while (j<=3){
				System.out.println("本周的第"+i+"天的第次"+j+"充电");
				j++;
			}
			i++;
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值