10while
循环:重复执行的事情
特征:循环操作/循环体、循环条件
程序中的循环=循环条件+循环操作
while:先判断,后执行
while(循环条件)
{
循环操作;
}
int i = 0;
while(i<10000)
{
System.out.println(i+"hello world");
i++;//更新变量
1.while结构与if很像,不过符合循环条件后前者执行后返回到执行条件,后者则直接结束
2.循环要注意更行变量,防止死循环(无限循环)
例题
//2010上网人数8000万,假设每年按30%增加,问哪一年人数增长到3亿?
double persons = 0.8;
int year = 2010;
while (persons<3){
year++;
persons=persons*1.3;
}
System.out.println(year+"年人数增长到3亿");
//计算100以内的偶数之和
// int s = 0;
// int sum = 0;
// while (s<100){
// s =s+2;
// sum = sum + s;
// }
// System.out.println(sum);
// int sum = 0 ;
// int s = 1 ;
// while (s <=100){
// if (s % 2==0){
// sum = sum +s;
// }
// s++;
// }
// System.out.println(sum);
//不能被3整除的数之和
int sum = 0 ;
int s = 1 ;
while (s <=100){
if (s % 3!=0){
sum = sum +s;
}
s++;
}
System.out.println(sum);
do...while:先执行后判断
do...while语法上至少执行一次
do
{
循环操作;
}while(循环条件);
例题
//模拟商店
int money = 0;
Scanner input = new Scanner(System.in);
String incontinue = "" ;
do {
System.out.println("请选择:\n1.T恤(100) 2.夹克(200) 3.衬衫(300)");
int choice = input.nextInt();
if (choice == 1){
System.out.println("T恤\t"+100);
money = money+100;
}else if (choice ==2){
System.out.println("夹克\t"+200);
money = money+200;
}else if (choice ==3){
System.out.println("衬衫\t"+300);
money = money+300;
}else {
System.out.println("输入有误");
}
System.out.println("是否继续?y/n");
incontinue = input.next();
}while (incontinue.equals("y"));//变量的作用域 最近一对{}
System.out.println("一共"+money);
一些难的例子
//用循环实现 登录操作:若用户名(zs),密码错误(abc),则给出提示,并重新登录
Scanner input = new Scanner(System.in);
String username = "";
String password = "";
do {
if (!(username.equals("") && password.equals(""))){
System.out.println("请重新输入");
}
System.out.println("请输入用户名");
username = input.next();//next不要收回车符,所以为空username.equals("") && password.equals(""),第一次必须打东西
System.out.println("请输入密码");
password = input.next();
}while(!(username.equals("zs") && password.equals("abc")));
System.out.println("登录成功");
//整数的翻转输出,12345 ->54321
int num = 12345;
int rear = -1 ;//每次打印的数值
num = num *10;//分析
// //5
// num = num/10;//12345
// rear = num%10;
// System.out.println(rear);
// //4
// num = num/10;//1234
// rear = num%10;
// System.out.println(rear);
// //3
// num = num/10;//123
// rear = num%10;
// System.out.println(rear);
// //2
// num = num/10;//12
// rear = num%10;
// System.out.println(rear);
// //1
// num = num/10;//1
// rear = num%10;
// System.out.println(rear);
while (num/10>0){
num = num/10;//1
rear = num%10;
System.out.println(rear);

浙公网安备 33010602011771号