大数据之路day02_2--if switch while for
在这一节,学习程序流程控制,具体包括判断结构、选择结构、循环结构。
1、判断结构(if、if-else)


三元运算符和if-else的区别
三元运算符,是一个运算符,所以运行必须有结果 而if-else语句,只控制流程,所以不一定有结果 某些情况下,可以把if-else改写为三元运算符的形式 前提是要保证if-else执行完有具体的结果出现
例子1:输入对应的数字,选择输出对应的结果
package day01;
import java.util.Scanner;
public class translate {
public static void main(String[] args) {
int num = 0;
// TODO Auto-generated method stub
System.out.println("请输入1-5当中的数字:");
Scanner sc = new Scanner(System.in);
int i=sc.nextInt();
if(i == 1) {
System.out.println("该用户输入"+i+"对应的单词是Apple");
}else if(i == 2) {
System.out.println("该用户输入"+i+"对应的单词是banana");
}else if(i == 3) {
System.out.println("该用户输入"+i+"对应的单词是pear");
}else if(i == 4) {
System.out.println("该用户输入"+i+"对应的单词是peach");
}else if(i == 5) {
System.out.println("该用户输入"+i+"对应的单词是orange");
}
}
}
例子2:进行if的嵌套
package homework;
import java.util.Scanner;
public class exer8 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入是否是会员: 是(y)/否(n)");
String i = sc.next();
System.out.println("测试");
if(i.equals("y")) {
System.out.println("请输入购物金额:");
float money = sc.nextFloat();
if(money>200) {
System.out.println("实际支付:" + (float)(money*(0.75)));
}else {
System.out.println("实际支付:" + (float)(money*(0.8)));
}
}else if(i.equals("n")){
System.out.println("请输入购物金额:");
float money = sc.nextFloat();
System.out.println("实际支付:" + (float)(money*(0.9)));
}
}
}
2、选择结构(switch)

switch语句特点: a,switch语句选择的类型在jdk1.6只支持四种:byte,short,int , char。jdk1.7以后支持String类型的。 b,case之间与default没有顺序。先执行第一个case,没有匹配的case最后再执行default。 c,结束switch语句的两种情况:遇到break,执行到switch语句结束。 d,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。
例子1:实现计算器
package day02;
import java.util.Scanner;
public class switch01 {
public static void main(String[] args) {
// 计算器
int result = 0;
System.out.println("输入第一个数:");
Scanner sc = new Scanner(System.in);
int num1=sc.nextInt();
System.out.println("选择加减乘除:(1加 2减 3乘 4除)");
int choice=sc.nextInt();
switch(choice) {
case 1:
System.out.println("输入第二个数:");
int num2=sc.nextInt();
result = num1+num2;
System.out.println("得到的结果为:"+result);
break;
case 2:
System.out.println("输入第二个数:");
int num3=sc.nextInt();
result = num1-num3;
System.out.println("得到的结果为:"+result);
break;
case 3:
System.out.println("输入第二个数:");
int num4=sc.nextInt();
result = num1*num4;
System.out.println("得到的结果为:"+result);
break;
case 4:
System.out.println("输入第二个数:");
int num5=sc.nextInt();
result = num1/num5;
System.out.println("得到的结果为:%s"+result);
break;
default:break;
}
}
}
例子2:实现星期的翻译
package day02;
import java.util.Scanner;
public class week {
public static void main(String[] args) {
int num = 0;
// TODO Auto-generated method stub
System.out.println("请输入1-7当中的数字:");
Scanner sc = new Scanner(System.in);
int i=sc.nextInt();
switch(i) {
case 1:
System.out.println("今天是星期一");
break;
case 2:
System.out.println("今天是星期二");
break;
case 3:
System.out.println("今天是星期三");
break;
case 4:
System.out.println("今天是星期四");
break;
case 5:
System.out.println("今天是星期五");
break;
case 6:
System.out.println("今天是星期六");
break;
case 7:
System.out.println("今天是星期七");
break;
default:break;
}
}
}
3、循环结构(while,do-while,for)


do while特点是条件无论是否满足, 循环体至少被执行一次。
定义循环要注意 1:定义循环的条件 2:控制循环执行的次数 while里面的表达式可以用true,这样的话这个循环就是一个死循环了,会一直执行。
格式: for(初始化表达式;循环条件表达式;循环后的操作表达式) {
执行语句;
(循环体)
}
注:
a:for里面的几个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复这个过程,直到条件不满足为止。
b:while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。
c:最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。
例子1:for循环 实现99乘法表
package day02;
public class jiujiu {
public static void main(String[] args) {
// TODO Auto-generated method stub
int result;
for(int i=1;i<10;i++) {
for(int j=1;j<=i;j++) {
result = i*j;
System.out.print(j+"*"+i+"="+result+"\t");
}
System.out.println();
}
}
}
例子2: while循环 实现判断多少年后,学员达到1000000
package homework;
public class exer2 {
public static void main(String[] args) {
int year = 2012;
double student = 250000;
while(student <= 1000000) {
student = student * (1 + 0.25);
year++;
}
System.out.println("到"+ year +"年培训学员人数将达到1000000");
}
}
4、其他控制流程语句
break(跳出), continue(继续)
break语句:应用范围:选择结构和循环结构。 跳出当前循环
continue语句:应用于循环结构。 结束本次循环,继续下次循环
注:
a:这两个语句离开应用范围,存在是没有意义的。
b:这两个语句单独存在下面都不可以有语句,因为执行不到。
c:continue语句是结束本次循环继续下次循环。
d:花括号的出现,可以让这两个语句作用于指定的范围。
大数据之路day02_2--if switch while for的更多相关文章
- 大数据之路week04--day06(I/O流阶段一 之异常)
从这节开始,进入对I/O流的系统学习,I/O流在往后大数据的学习道路上尤为重要!!!极为重要,必须要提起重视,它与集合,多线程,网络编程,可以说在往后学习或者是工作上,起到一个基石的作用,没了地基,房 ...
- C#码农的大数据之路 - 使用C#编写MR作业
系列目录 写在前面 从Hadoop出现至今,大数据几乎就是Java平台专属一般.虽然Hadoop或Spark也提供了接口可以与其他语言一起使用,但作为基于JVM运行的框架,Java系语言有着天生优势. ...
- 胖子哥的大数据之路(11)-我看Intel&&Cloudera的合作
一.引言 5月8日,作为受邀嘉宾,参加了Intel与Cloudera在北京中国大饭店新闻发布会,两家公司宣布战略合作,该消息成为继Intel宣布放弃大数据平台之后的另外一个热点新闻.对于Intel的放 ...
- 胖子哥的大数据之路(10)- 基于Hive构建数据仓库实例
一.引言 基于Hive+Hadoop模式构建数据仓库,是大数据时代的一个不错的选择,本文以郑商所每日交易行情数据为案例,探讨数据Hive数据导入的操作实例. 二.源数据-每日行情数据 三.建表脚本 C ...
- 胖子哥的大数据之路(9)-数据仓库金融行业数据逻辑模型FS-LDM
引言: 大数据不是海市蜃楼,万丈高楼平地起只是意淫,大数据发展还要从点滴做起,基于大数据构建国家级.行业级数据中心的项目会越来越多,大数据只是技术,而非解决方案,同样面临数据组织模式,数据逻辑模式的问 ...
- 胖子哥的大数据之路(7)- 传统企业切入核心or外围
一.引言 昨天和一个做互联网大数据(零售行业)的朋友交流,关于大数据传统企业实施的切入点产生了争执,主要围绕两个问题进行了深入的探讨: 问题1:对于一个传统企业而言什么是核心业务,什么是外围业务? 问 ...
- 胖子哥的大数据之路(6)- NoSQL生态圈全景介绍
引言: NoSQL高级培训课程的基础理论篇的部分课件,是从一本英文原著中做的摘选,中文部分参考自互联网.给大家分享. 正文: The NoSQL Ecosystem 目录 The NoSQL Eco ...
- 胖子哥的大数据之路(四)- VisualHBase功能需求框架
一.引言 大数据在结构化数据存储方面的应用需求越来越明确,但是大数据环境下辅助开发工具的不完善,给数据库管理人员和开发人员带来的不变难以言表,基于此创建了开源项目VisualHBase,同时创建了Vi ...
- 大数据之路week01--自学之集合_1(Collection)
经过我个人的调查,发现,在今后的大数据道路上,集合.线程.网络编程变得尤为重要,为什么? 因为大数据大数据,我们必然要对数据进行处理,而这些数据往往是以集合形式存放,掌握对集合的操作非常重要. 在学习 ...
- 大数据之路day01_1--Java下载、安装等配置
从今天开始,我就正式的走上大数据的道路了,如果说我为啥要去学习大数据,可能我的初衷是以后可以接触到人工智能方面的技术,后来在自学的过程中发现,学习人工智能,需要扎实的算法,以及对大量数据的处理,再者, ...
随机推荐
- 项目三:ssm仓库管理系统
声明:项目来源于网络,尊重原创,学习使用,仅在此记录 项目介绍 ssm仓库管理系统,功能模块:客户信息管理,供应商管理,货物管理,仓库管理,仓库管理员管理,仓库出入口管理,仓库库存记录管理,系统日志管 ...
- react 首屏性能优化
首屏优化点:1.加载包(bundle.js)文件的大小,越小,首屏渲染速度越快 (按需加载) 2.优先渲染用户直观看到的页面部分(懒加载) 技术点:react-loadable . react-laz ...
- ConcurrentHashMap实现原理以及源码分析
ConcurrentHashMap是HashMap的高并发版本,是线程安全的,而HashMap是非线程安全的 一.底层实现 底层结构跟hashmap一样,都是通过数组+链表+红黑树实现的,不过它要保证 ...
- LeetCode_844-Backspace String Compare
输入两个字符串S和T,字符串只包含小写字母和”#“,#表示为退格键,判断操作完退格键剩下字符串是否相等例子:S = “ab#c", T = "ad # c” 返回true,剩下的字 ...
- Pandas处理日常EXCEL表格的便捷操作
第一次写博客,写的可能有点乱,有问题可以一起探讨.格式可能控制也不是太好. 1.日常的数据集大多带有中文格式,例如“公务员招聘岗位汇总.xls”.我们使用pandas的read_csv()函数读取可能 ...
- 快速入门Maven(一)
一.Maven简介 1.什么是maven Apache组织中的一个颇为成功的开源项目,Maven主要服务于基于Java平台的项目构建.依赖管理和项目信息管理. 2.Maven的好处 构建是程序员每天要 ...
- CS231n:Python Numpy教程
Python 基本数据类型 容器 列表 字典 集合 元组 函数 类 Numpy 数组 访问数组 数据类型 数组计算 广播 SciPy 图像操作 MATLAB文件 点之间的距离 Matplotlib 绘 ...
- drf框架中认证与权限工作原理及设置
0909自我总结 drf框架中认证与权限工作原理及设置 一.概述 1.认证 工作原理 返回None => 游客 返回user,auth => 登录用户 抛出异常 => 非法用户 前台 ...
- 友价商城SQL注入
友价商城SQL注入 源码出自:https://www.0766city.com/yuanma/9990.html 下载安装好后打开是这样的: 8不说了 ,seay审计一把梭哈 从开始审计 直 ...
- Ubuntu php安装xdebug
1.安装xdebug扩展: sudo apt-get install php-xdebug 2.找到扩展的路径: 3.编辑php.ini文件,末尾加入,保存退出: [xdebug] zend_exte ...