大数据之路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控制每一行的个数。
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)的更多相关文章
- 学大数据一定要会Java开发吗?
Java是目前使用广泛的编程语言之一,具有的众多特性,特别适合作为大数据应用的开发语言.Java语言功能强大和简单易用,不仅吸收了C++语言的各种优点还摒弃了C++里难以理解的多继承.指针等概念. J ...
- 大数据之路week07--day03(Hadoop深入理解,JAVA代码编写WordCount程序,以及扩展升级)
什么是MapReduce 你想数出一摞牌中有多少张黑桃.直观方式是一张一张检查并且数出有多少张是黑桃. MapReduce方法则是: 1.给在座的所有玩家中分配这摞牌 2.让每个玩家数自己手中的牌有几 ...
- 大数据之路week04--day06(I/O流阶段一 之异常)
从这节开始,进入对I/O流的系统学习,I/O流在往后大数据的学习道路上尤为重要!!!极为重要,必须要提起重视,它与集合,多线程,网络编程,可以说在往后学习或者是工作上,起到一个基石的作用,没了地基,房 ...
- C#码农的大数据之路 - 使用C#编写MR作业
系列目录 写在前面 从Hadoop出现至今,大数据几乎就是Java平台专属一般.虽然Hadoop或Spark也提供了接口可以与其他语言一起使用,但作为基于JVM运行的框架,Java系语言有着天生优势. ...
- 学大数据是先学java还是先学python?
大数据的发展趋势日渐明显,但是进入这个领域的门槛不小,除了要有心理准备,其次就是要付诸实际行动中去学习. 学习方法有很多,在没有基础的前提下,自学是因人而异是有难度.其次是大数据目前的工作方向主要是三 ...
- 大数据之路week01--自学之集合_1(Collection)
经过我个人的调查,发现,在今后的大数据道路上,集合.线程.网络编程变得尤为重要,为什么? 因为大数据大数据,我们必然要对数据进行处理,而这些数据往往是以集合形式存放,掌握对集合的操作非常重要. 在学习 ...
- 大数据之路day01_1--Java下载、安装等配置
从今天开始,我就正式的走上大数据的道路了,如果说我为啥要去学习大数据,可能我的初衷是以后可以接触到人工智能方面的技术,后来在自学的过程中发现,学习人工智能,需要扎实的算法,以及对大量数据的处理,再者, ...
- 大数据之路week07--day06 (Sqoop 将关系数据库(oracle、mysql、postgresql等)数据与hadoop数据进行转换的工具)
为了方便后面的学习,在学习Hive的过程中先学习一个工具,那就是Sqoop,你会往后机会发现sqoop是我们在学习大数据框架的最简单的框架了. Sqoop是一个用来将Hadoop和关系型数据库中的数据 ...
- 大数据之路week06--day01(VMware的下载与安装、安装CentOS)
好了,从今天开始就开始正式的进入大数据道路的轨道上了,当然了,Java 也是需要不断地在日后进行反复地学习,熟练掌握.(这里我要说一下,Java种还有一些I/O流.Lambda表达式和一些常用工具类有 ...
随机推荐
- BZOJ 1345: [Baltic2007]序列问题Sequence
1345: [Baltic2007]序列问题Sequence Time Limit: 5 Sec Memory Limit: 162 MBSubmit: 1180 Solved: 633[Subm ...
- Ajax:后台jquery实现ajax无刷新删除数据及demo
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA8gAAAFSCAIAAAChUmFZAAAgAElEQVR4nO29z4scWZbn2/+Hb30zi8
- 上手Typescript,让JavaScript适用于大型应用开发
Typescript Typescript是一个基于静态类型的,能编译为JavaScript的JavaScript的超集.也就是说任何JavaScript都可以看成是Typescript,IDE能够更 ...
- Flyway 助力数据库脚本自动化管理攻略
原文地址:梁桂钊的博客 博客地址:http://blog.720ui.com 欢迎关注公众号:「服务端思维」.一群同频者,一起成长,一起精进,打破认知的局限性. 今天,探讨一个有趣的话题:我们可以通过 ...
- table表格中文字超出显示省略号
第一步: table {table-layout:fixed:}列宽由表格宽度和列宽度设定,不随文字多少变化 第二步: td { white-space:nowrap;/*文本不会换行,文本会在在同一 ...
- java学习-IDEA相关使用
1.配置git与github(用于将代码提交到GitHub) 添加自己的github账号 2.提交代码到github 登录https://github.com,即可看到刚刚提交到github的代码仓库 ...
- 微信小程序——获取formid
小程序对模板消息推送做了相应的限制:如果用户主动触发小程序表单提交1次,小程序可在7天内向用户主动推送1条模版消息,如果用户通过小程序完成支付,小程序可在7天内向用户主动推送3条模版消息.(formi ...
- 百万年薪python之路 -- 推导式
2.1列表推导式 首先我们先看一下这样的代码,给出一个列表,通过循环,想列表中添加1~10: li = [] for i in range(1,11): li.append(i) print(li) ...
- Ubuntu18.04 安装PGSQL
关系数据库管理系统是许多网站和应用程序的关键组成部分.它们提供了一种结构化的方式来存储,组织和访问信息. PostgreSQL或Postgres是一个关系数据库管理系统,提供SQL查询语言的实现.它是 ...
- C++两个队列实现一个栈
C++两个队列实现一个栈 /* * source.cpp * * Created on: 2015年6月21日 * Author: codekiller */ #include "iostr ...