在今天,我突然被一个很尴尬的问题问到了,问题是这样的:说一下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. kubernetes垃圾回收器GarbageCollector源码分析(一)

    kubernetes版本:1.13.2 背景 由于operator创建的redis集群,在kubernetes apiserver重启后,redis集群被异常删除(包括redis exporter s ...

  2. 区间 GCD

    区间 GCD题目描述最近 JC 同学刚学会 gcd,于是迷上了与 gcd 有关的问题.今天他又出了一道这样的题目,想要考考你,你能顺利完成吗?给定一个长度为 n 的字符串 s[1..n],串仅包含小写 ...

  3. 解决vue组件内前置路由守卫beforeRouteEnter无法获取上下文this

    问题描述 vue框架,只有在报名页面报名成功,然后自动跳转到订单详情,才弹出一个引流弹窗,其他情况均不弹出,我就想到使用vue 的组件内前置守卫beforeRouteEnter来实现.beforeRo ...

  4. CEILING保留n位小数向上取整

    number=3.1415926 CEILING(number*POWER(10,n))/POWER(10,n) 思路为:乘以10的n次方得到要保留的小数部分并转换为整数,再用CEILING向上取整, ...

  5. AWD脚本之批量mysql写shell

    摘之工具包中脚本 需要安装mysqldb.windwos环境直接在https://www.codegood.com/archives/129下载MySQL-python-1.2.3.win-amd64 ...

  6. SpringMVC4拦截器配置遇到的坑

    目的:对get请求添加token验证(若为post请求可通过RequestBodyAdvice实现). 情景:因为有api版本管理的需求,重写了WebMvcConfigurationSupport类的 ...

  7. Ubuntu 16.04 集成安装Apache+PHP+Kerberos+LDAP+phpLDAPadmin

    一.安装Apache 1.1.安装Apache apt-get update apt-get install apache2 过程如下: root@duke01:~# apt-get update命中 ...

  8. AppBoxFuture: 服务模型的在线调试与性能监测

      框架内的服务模型(ServiceModel)用于处理各类业务逻辑(如最简单的CRUD操作),在设计时以类似于伪代码的形式存在,发布时后端会通过Roslyn转换并编译为运行时代码.为了方便开发者作者 ...

  9. IaaS基础平台

    第一部分:IaaS云计算基础架构平台 服务器:先电 任务一.IaaS云平台搭建 基础环境: 1.使用命令行方式设置主机名,防火墙以及 SELinux 设置如下: (1)设置控制节点主机名 contro ...

  10. Twitter-Snowflake:自增ID算法

    简介 Twitter 早期用 MySQL 存储数据,随着用户的增长,单一的 MySQL 实例没法承受海量的数据,后来团队就研究如何产生完美的自增ID,以满足两个基本的要求: 每秒能生成几十万条 ID ...