大数据之路day03--java循环的延申与练习(while 、do-while、for)
在今天,我突然被一个很尴尬的问题问到了,问题是这样的:说一下java循环的应用场景。
我想很多人一下子听到这样的问题不知道怎么回答,大部分人会去想有什么循环格式,特点是什么。这些都是错误的,在往后的面试过程中,面试官可能会问类似这样的陷阱问题。
正确答案:java循环中包括while循环,do-while循环,for循环。其中while循环直接进行判断再进行数据操作的,进行重复的操作(简单的),而do-while循环是必须要有一次特定的操作之后再进入循环操作,for循环与while循环类似。
好了,话不多说,这一节,开始进行例子代码的实现:
例子1:99乘法表
提到循环,无论是学习什么语言,一定会遇到99乘法表这种题。
两次for循环控制输出,第一个for控制1-9,第二for控制每一行的个数。
1 package day03; 2 3 public class while02 { 4 5 public static void main(String[] args) { 6 //99乘法表 7 int result; 8 for(int y=1;y<10;y++) { 9 for(int j=1;j<=y;j++) { 10 result = y*j; 11 System.out.print(j+"*"+y+"="+result+"\t"); 12 } 13 System.out.println(); 14 } 15 16 17 } 18 19 }
运行结果:
例子2:do-while 实现摄氏温度与华氏温度之间的转换(这个例子里注意类型的强制转换)
1 package day03; 2 3 public class exer10 { 4 5 public static void main(String[] args) { 6 // do-while 华氏温度 = 摄氏温度 * 9 / 5.0 + 32 7 float s = 0; 8 float h = 0; 9 int i = 1; 10 do { 11 h = (float) (s * 9 / 5.0 + 32); 12 System.out.println("摄氏温度" + s + "对应的华氏温度:" + h); 13 s = s + 20; 14 i++; 15 } while (i <= 10 && s <= 250); 16 17 } 18 19 }
运行结果:
例子3:计算顾客比例(考虑到怎么实现统计录入的年龄,来计算最后的比例)
1 package day03; 2 3 import java.util.Scanner; 4 5 public class exer13 { 6 7 public static void main(String[] args) { 8 // 学员操作,计算顾客比例 9 float up = 0; 10 float down = 0; 11 Scanner sc = new Scanner(System.in); 12 for(int i = 1;i<=10;i++) { 13 System.out.print("请输入第" + i + "位顾客的年龄:"); 14 int age=sc.nextInt(); 15 if(age>30) { 16 up += 1; 17 }else if(age<30) { 18 down += 1; 19 } 20 } 21 System.out.println("30岁以下的比例是:" + down%10*10 + "%"); 22 System.out.println("30岁以上的比例是:" + up%10*10 + "%"); 23 24 25 26 } 27 28 }
运行结果:
例子4:验证用户登陆信息(利用for循环以及嵌套if来实现,主要考虑如何实现输入正确后的做法以及,输入都不正确的做法)
1 package day03; 2 3 import java.util.Scanner; 4 5 public class exer15 { 6 7 public static void main(String[] args) { 8 // 学员操作--验证用户登陆信息 9 Scanner sc = new Scanner(System.in); 10 11 boolean flag = true; 12 String man_name = "xiaowang"; 13 String man_password = "123456"; 14 for(int i =1;i <= 3;i++) { 15 System.out.print("请输入用户名:"); 16 String name = sc.next(); 17 System.out.print("请输入密码:"); 18 String password = sc.next(); 19 if(name.equals(man_name) && password.equals(man_password)) { 20 flag = true; 21 System.out.println("欢迎登陆MyShopping系统!"); 22 break; 23 }else { 24 System.out.println("输入错误!,您还有" + (3-i) + "次机会!"); 25 System.out.println(); 26 flag = false; 27 } 28 } 29 if(flag == false) { 30 System.out.println("对不起,您3次机会均输入错误!"); 31 } 32 33 34 } 35 36 }
运行结果:
1、输入都是错误的结果
2、输入1次正确的结果:
3、输入第二次的时候正确:
当然,我的练习肯定不止这4个,我只是挑选出比较综合有代表性的来说,IT行业,一定要自己去敲,有一句话说的好:代码只是逻辑的实现过程,必须要常练习。加油!