在今天,我突然被一个很尴尬的问题问到了,问题是这样的:说一下java循环的应用场景。

我想很多人一下子听到这样的问题不知道怎么回答,大部分人会去想有什么循环格式,特点是什么。这些都是错误的,在往后的面试过程中,面试官可能会问类似这样的陷阱问题。

正确答案:java循环中包括while循环,do-while循环,for循环。其中while循环直接进行判断再进行数据操作的,进行重复的操作(简单的),而do-while循环是必须要有一次特定的操作之后再进入循环操作,for循环与while循环类似。

好了,话不多说,这一节,开始进行例子代码的实现:

例子1:99乘法表

提到循环,无论是学习什么语言,一定会遇到99乘法表这种题。

两次for循环控制输出,第一个for控制1-9,第二for控制每一行的个数。

 package day03;

 public class while02 {

     public static void main(String[] args) {
//99乘法表
int result;
for(int y=;y<;y++) {
for(int j=;j<=y;j++) {
result = y*j;
System.out.print(j+"*"+y+"="+result+"\t");
}
System.out.println();
} } }

运行结果:

 例子2:do-while 实现摄氏温度与华氏温度之间的转换(这个例子里注意类型的强制转换)

 package day03;

 public class exer10 {

     public static void main(String[] args) {
// do-while 华氏温度 = 摄氏温度 * 9 / 5.0 + 32
float s = 0;
float h = 0;
int i = 1;
do {
h = (float) (s * 9 / 5.0 + 32);
System.out.println("摄氏温度" + s + "对应的华氏温度:" + h);
s = s + 20;
i++;
} while (i <= 10 && s <= 250); } }

运行结果:

 例子3:计算顾客比例(考虑到怎么实现统计录入的年龄,来计算最后的比例)

 package day03;

 import java.util.Scanner;

 public class exer13 {

     public static void main(String[] args) {
// 学员操作,计算顾客比例
float up = 0;
float down = 0;
Scanner sc = new Scanner(System.in);
for(int i = 1;i<=10;i++) {
System.out.print("请输入第" + i + "位顾客的年龄:");
int age=sc.nextInt();
if(age>30) {
up += 1;
}else if(age<30) {
down += 1;
}
}
System.out.println("30岁以下的比例是:" + down%10*10 + "%");
System.out.println("30岁以上的比例是:" + up%10*10 + "%"); } }

运行结果:

例子4:验证用户登陆信息(利用for循环以及嵌套if来实现,主要考虑如何实现输入正确后的做法以及,输入都不正确的做法)

 package day03;

 import java.util.Scanner;

 public class exer15 {

     public static void main(String[] args) {
// 学员操作--验证用户登陆信息
Scanner sc = new Scanner(System.in); boolean flag = true;
String man_name = "xiaowang";
String man_password = "123456";
for(int i =1;i <= 3;i++) {
System.out.print("请输入用户名:");
String name = sc.next();
System.out.print("请输入密码:");
String password = sc.next();
if(name.equals(man_name) && password.equals(man_password)) {
flag = true;
System.out.println("欢迎登陆MyShopping系统!");
break;
}else {
System.out.println("输入错误!,您还有" + (3-i) + "次机会!");
System.out.println();
flag = false;
}
}
if(flag == false) {
System.out.println("对不起,您3次机会均输入错误!");
} } }

运行结果:

1、输入都是错误的结果

2、输入1次正确的结果:

3、输入第二次的时候正确:

 当然,我的练习肯定不止这4个,我只是挑选出比较综合有代表性的来说,IT行业,一定要自己去敲,有一句话说的好:代码只是逻辑的实现过程,必须要常练习。加油!

大数据之路day03--java循环的延申与练习(while 、do-while、for)的更多相关文章

  1. 学大数据一定要会Java开发吗?

    Java是目前使用广泛的编程语言之一,具有的众多特性,特别适合作为大数据应用的开发语言.Java语言功能强大和简单易用,不仅吸收了C++语言的各种优点还摒弃了C++里难以理解的多继承.指针等概念. J ...

  2. 大数据之路week07--day03(Hadoop深入理解,JAVA代码编写WordCount程序,以及扩展升级)

    什么是MapReduce 你想数出一摞牌中有多少张黑桃.直观方式是一张一张检查并且数出有多少张是黑桃. MapReduce方法则是: 1.给在座的所有玩家中分配这摞牌 2.让每个玩家数自己手中的牌有几 ...

  3. 大数据之路week04--day06(I/O流阶段一 之异常)

    从这节开始,进入对I/O流的系统学习,I/O流在往后大数据的学习道路上尤为重要!!!极为重要,必须要提起重视,它与集合,多线程,网络编程,可以说在往后学习或者是工作上,起到一个基石的作用,没了地基,房 ...

  4. C#码农的大数据之路 - 使用C#编写MR作业

    系列目录 写在前面 从Hadoop出现至今,大数据几乎就是Java平台专属一般.虽然Hadoop或Spark也提供了接口可以与其他语言一起使用,但作为基于JVM运行的框架,Java系语言有着天生优势. ...

  5. 学大数据是先学java还是先学python?

    大数据的发展趋势日渐明显,但是进入这个领域的门槛不小,除了要有心理准备,其次就是要付诸实际行动中去学习. 学习方法有很多,在没有基础的前提下,自学是因人而异是有难度.其次是大数据目前的工作方向主要是三 ...

  6. 大数据之路week01--自学之集合_1(Collection)

    经过我个人的调查,发现,在今后的大数据道路上,集合.线程.网络编程变得尤为重要,为什么? 因为大数据大数据,我们必然要对数据进行处理,而这些数据往往是以集合形式存放,掌握对集合的操作非常重要. 在学习 ...

  7. 大数据之路day01_1--Java下载、安装等配置

    从今天开始,我就正式的走上大数据的道路了,如果说我为啥要去学习大数据,可能我的初衷是以后可以接触到人工智能方面的技术,后来在自学的过程中发现,学习人工智能,需要扎实的算法,以及对大量数据的处理,再者, ...

  8. 大数据之路week07--day06 (Sqoop 将关系数据库(oracle、mysql、postgresql等)数据与hadoop数据进行转换的工具)

    为了方便后面的学习,在学习Hive的过程中先学习一个工具,那就是Sqoop,你会往后机会发现sqoop是我们在学习大数据框架的最简单的框架了. Sqoop是一个用来将Hadoop和关系型数据库中的数据 ...

  9. 大数据之路week06--day01(VMware的下载与安装、安装CentOS)

    好了,从今天开始就开始正式的进入大数据道路的轨道上了,当然了,Java 也是需要不断地在日后进行反复地学习,熟练掌握.(这里我要说一下,Java种还有一些I/O流.Lambda表达式和一些常用工具类有 ...

随机推荐

  1. 给老师安排课表JAVA项目及登录窗口的实现

    实现一个安排课表的Java实验. 有以下几点要求: ①用所给的教师姓名进行课表安排 ②用所给的地点进行课表安排 ③不得有重复的课程名称出现 ④将信息写入到文件里 ⑤用窗口来进行实现 package c ...

  2. 什么是Cookie?——每日一题20190623

    什么是Cookie? Cookie实际上是一小段的文本信息,客户端请求服务器,如果服务器需要记录该用户状态,就使用 response 向客户端浏览器颁发一个Cookie.客户端会把Cookie存起来, ...

  3. 从零开始的vue学习笔记(七)

    前言 今天花一天时间阅读完vuex的官方文档,简单的做一下总结和记录 Vuex是什么 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式,以前的符合"单向数据流"理念的 ...

  4. ORM查询2

    目录 十三式 2式(针对外键查询优化) select_related和prefetch_related prefetch_related 查询返回值类型 不等式查询 关键字查询 时间查询 跨表查询 组 ...

  5. python编程基础之五

    转义字符:就是不方便从键盘之间输出,或者是原字符有特殊含义的一些字符, 下面列举几个常用的转义字符 \',\",\''',\""",\\,都是表示原字符的意思, ...

  6. 宝塔面板6.x版本前台存储XSS+后台CSRF组合拳Getshell

    对于宝塔漏洞复现和练习 0×00  什么是宝塔面板 宝塔面板是一款使用方便,功能强大且终身免费的服务器管理软件,支持Linux 与Windows 系统.一键配置:LAMP / LNMP ,网站,数据库 ...

  7. shark恒破解笔记5-VB之rtcMsgBox

    本次是来破解一个名为”系统提速精灵“的软件,方法是对rtcMsgBox下断点. 运行程序输入假码,会提示“注册码错“ 在oep上面可以看到大量vb引擎函数  明显的VB程序 载入OD对rtcMsgBo ...

  8. Hadoop实战1:MapR在ubuntu集群中的安装

    由于机器学习算法在处理大数据处理的时候在所难免的会效率降低,公司需要搭建hadoop集群,最后采用了商业版的Hadoop2(MapR). 官网: http://doc.mapr.com/display ...

  9. Jdk14 都要出了,Jdk8 的时间处理姿势还不了解一下?

    当前时间:2019年10月24日.距离 JDK 14 发布时间(2020年3月17日)还有多少天? // 距离JDK 14 发布还有多少天? LocalDate jdk14 = LocalDate.o ...

  10. cinatra::http框架编译使用

    cinatra 一个高效易用的c++ http框架 1.下载源码 https://github.com/qicosmos/cinatra 2. vs2017 编译boost库 [msvc-14.1] ...