java基础07 循环结构
public class While02 {
public static void main(String[] args) {
/**
* while(循环条件){
* 循环体(循环操作)
* }
* 循环条件 必须是一个boolean类型的值!
* 当满足了循环条件,会执行循环体,直到不满足循环条件是退出!
*/
System.out.println("大家辛苦了1");
System.out.println("大家辛苦了2");
System.out.println("大家辛苦了3");
System.out.println("大家辛苦了4");
System.out.println("大家辛苦了5");
System.out.println("**************************************");
// 定义一个变量 用来保存 循环的次数
int num = 0;
while (num <= 10000) {
System.out.println("大家辛苦了" + num);
// 自身+1
num++;
}
System.out.println(num);
}
}
1.循环打印大家辛苦
public class WhileDemo03 {
public static void main(String[] args) {
/**
* 循环打印50份试卷
* 分析:
* 循环条件:count<=50 小于等于50次
* 循环体: 打印试卷
*/
int count = 1;
while (count <= 50) {
System.out.println("正在打印第" + count + "份试卷");
// 迭代变量
count++;
}
}
}
2.打印试卷
public class WhileDemo04 {
/**
* 老师每天检查张浩的学习任务是否合格。
* 如果不合格,则继续进行。
老师给张浩安排的每天的学习任务为:
上午阅读教材,学习理论部分,
下午上机编程,掌握代码部分
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入是否合格?(y/n)");
String answer = scanner.next();
// 循环条件 -==》是否合格? 如果不合格 一直学习!
while (answer.equalsIgnoreCase("n")) {
System.out.println("阅读教材,学习理论部分");
System.out.println("上机编程,掌握代码部分");
System.out.println("再次输入是否合格?(y/n)");
answer = scanner.next();
}
System.out.println("完成了 学习任务!");
}
}
3.成绩是否合格
public class WhileDemo05 {
/**
* 2012年培养学员25万人,每年增长25%。
* 请问按此增长速度
* 到哪一年培训学员人数将达到100万人?
*/
public static void main(String[] args) { int year = 2012;
double person = 25;
while (person <= 100) {
person *= (1 + 0.25); // person*=(1+0.25);
year++;
}
System.out.println(year + "培训学员人数将达到100万人");
}
}
4.学员人数过100?
public class WhileDemo06 {
/**
* 编程实现:计算100以内(包括100)的偶数之和
设置断点并调试程序,观察每一次循环中变量值的变化
*/
public static void main(String[] args) { int num = 0;
int sum = 0;// 记录所有的偶数和
while (num <= 100) {
if (num % 2 == 0) { // 偶数
sum += num; // sum=sum+num
}
num++;
}
System.out.println("所有的偶数和:" + sum);
}
}
5.100以内偶数和
public class WhileDemo07 {
public static void main(String[] args) {
System.out.println("欢迎进入MyShopping管理系统");
System.out.println("***************************");
System.out.println("1.帽子 \t 2.网球鞋 \t 3.球拍");
Scanner scanner = new Scanner(System.in);
System.out.println("请您输入购买物品的编号");
int choose = scanner.nextInt(); // 获取用户的选择
System.out.println("请您输入购买的数量");
int count = scanner.nextInt();// 获取用户购买的数量
// 定义一个总消费
double money = 0;
switch (choose) {
case 1:
System.out.println("您购买的是 1.帽子 \t ¥50\t总金额:" + (count * 50));
money += (count * 50);
break;
case 2:
System.out.println("您购买的是 2.网球鞋 \t ¥30\t总金额:" + (count * 30));
money += (count * 30);
break;
case 3:
System.out.println("您购买的是 3.球拍 \t ¥5\t总金额:" + (count * 5));
money += (count * 5);
break;
}
System.out.println("是否继续购物?(y/n)");
String answer = scanner.next(); while (answer.equalsIgnoreCase("y")) { // 循环购物操作
System.out.println("***************************");
System.out.println("1.帽子 \t 2.网球鞋 \t 3.球拍");
System.out.println("请您输入购买物品的编号");
choose = scanner.nextInt(); // 获取用户的选择
System.out.println("请您输入购买的数量");
count = scanner.nextInt();// 获取用户购买的数量
switch (choose) {
case 1:
System.out.println("您购买的是 1.帽子 \t ¥50\t总金额:" + (count * 50));
money += (count * 50);
break;
case 2:
System.out.println("您购买的是 2.网球鞋 \t ¥30\t总金额:" + (count * 30));
money += (count * 30);
break;
case 3:
System.out.println("您购买的是 3.球拍 \t ¥5\t总金额:" + (count * 5));
money += (count * 5);
break;
}
System.out.println("是否继续购物?(y/n)");
answer = scanner.next();
}
System.out.println("您本次消费是:" + money);
System.out.println("请您输入支付金额:");
double pay = scanner.nextDouble();
while (pay < money) { // 说明金额不正确
System.out.println("金额不正确!请重新支付!");
pay = scanner.nextDouble();
}
System.out.println("找零:" + (pay - money));
}
}
6.Myshopping管理系统
public class DoWhileDemo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double money = 0;
String answer = "";
do { // 先执行 再判断
System.out.println("欢迎进入MyShopping管理系统");
System.out.println("***************************");
System.out.println("1.帽子 \t 2.网球鞋 \t 3.球拍");
System.out.println("请您输入购买物品的编号");
int choose = scanner.nextInt(); // 获取用户的选择
System.out.println("请您输入购买的数量");
int count = scanner.nextInt();// 获取用户购买的数量
switch (choose) {
case 1:
System.out.println("您购买的是 1.帽子 \t ¥50\t总金额:" + (count * 50));
money += (count * 50);
break;
case 2:
System.out.println("您购买的是 2.网球鞋 \t ¥30\t总金额:" + (count * 30));
money += (count * 30);
break;
case 3:
System.out.println("您购买的是 3.球拍 \t ¥5\t总金额:" + (count * 5));
money += (count * 5);
break;
}
System.out.println("是否继续购物?(y/n)");
answer = scanner.next();
} while (answer.equalsIgnoreCase("y")); System.out.println("您本次消费是:" + money);
System.out.println("请您输入支付金额:");
double pay = scanner.nextDouble();
while (pay < money) { // 说明金额不正确
System.out.println("金额不正确!请重新支付!");
pay = scanner.nextDouble();
}
System.out.println("找零:" + (pay - money));
}
}
7.Myshopping管理系统2
public class WhileDemo08 {
/**
* 使用do-while实现:输出摄氏温度与华氏温度的对照表,
* 要求它从摄氏温度0度到250度,每隔20度为一项,对照表中的条目不超过10条。
转换关系:华氏温度 = 摄氏温度 * 9 / 5.0 + 32 循环操作:计算摄氏温度,并输出对照条目
循环条件:
条目<=10 && 摄氏温度 <= 250
*/
public static void main(String[] args) {
int count = 1; // 对照条目
double c = 0; // 摄氏度
double f = 0; // 华氏度
System.out.println("条目\t摄氏度\t华氏度");
do {
// 转换
f = c * 9 / 5.0 + 32;
System.out.println(count + "\t" + c + "\t" + f);
count++;
c += 20;
} while (count <= 10 && c <= 250);
}
}
8.温度对比表
public class WhileDemo09 {
/**
* 实现一个数字的反转
*/
public static void main(String[] args) {
int num = 123456789;
int temp = 1;
System.out.print("反转之后的数字:");
while (num != 0) {
// 依次与10取余
temp = num % 10; //
System.out.print(temp);
num = num / 10;
}
}
}
9.数字反转
public class ForDemo01 {
public static void main(String[] args) {
/**
*
* for(表达式1;表达式2;表达式3) {
* 循环体
* }
* 表达式1:初始化变量 int a=0;
* 表达式2:循环条件!满足条件执行循环体操作!
* 表达式3:迭代变量!
*
* 三个表达式都可以省略!但是;不能省略!
*
* 执行顺序:
* 表达式1---》表达式2---》循环体---》表达式3--->表达式2---》循环体---》表达式3
*/
for (int i = 1; i <= 100; i++) {
System.out.println("好好学习!" + i);
}
}
}
10.for循环执行顺序
public class ForDemo02 {
/**
* 循环输入某同学S1结业考试的5门课成绩,并计算平均分
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请您输入姓名:");
// 定义一个变量 来保存总成绩
double sum = 0;
String name = scanner.next();
for (int i = 1; i <= 5; i++) {
System.out.println("请您输入第" + i + "门课程的成绩:");
double score = scanner.nextDouble();
sum += score; // 总成绩
}
System.out.println("平均分是:" + (sum / 5));
}
}
11.计算平均分
public class ForDemo03 {
public static void main(String[] args) {
// 根据用户的输入 产生对应的加法表
Scanner scanner = new Scanner(System.in);
System.out.println("请您输入一个数字:");
int num = scanner.nextInt();
for (int i = 0; i <= num; i++) {
System.out.println(i + "+" + (num - i) + "=" + (num));
}
}
}
12.加法表
public class ErrorDemo04 {
public static void main(String[] args) {
/**
* int i = 0; // 把初始化变量 局部化!
for (; i <= 5; i++) {
System.out.println(i); }
*/
/**for (;;) { // 死循环
System.out.println(1);
}*/ /**for (int i = 0;; i++) { // 省略了 条件判断
System.out.println(i);
}
*/ for (int i = 0; i < 10;) { // 省略了 条件判断迭代变量
System.out.println(i);
}
}
}
13.for循环条件省略
public class ForDemo06 {
// 计算年龄大于30的 占比
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 定义年龄的变量
int age = 0;
// 年龄大于30以上的人数
int count = 0;
for (int i = 1; i <= 5; i++) {
System.out.println("请您输入年龄:");
age = scanner.nextInt();
if (age >= 30) {
count++;
}
}
System.out.println("30岁以上的比例是:" + (count / 5.0 * 100) + "%");
System.out.println("30岁以下的比例是:" + ((1 - count / 5.0) * 100) + "%");
}
}
14.年龄大于30岁比例
public class ForDemo07 {
public static void main(String[] args) { System.out.println("请您输入一个数字:");
Scanner scanner = new Scanner(System.in);
double num = scanner.nextDouble(); DecimalFormat df = new DecimalFormat("0.00"); // 保留两位有效数字
String number = df.format(num); // 把double类型的数据 保留两位有效数字 返回String
System.out.println("保留两位有效数字:" + number); System.out.println("*********************************"); NumberFormat nf = NumberFormat.getInstance();
nf.setMaximumFractionDigits(2); // 保留两位有效数字
number = nf.format(num);
System.out.println("保留两位有效数字:" + number); }
}
15.保留两位有效数字
public class ForDemo08 {
/**
* 日期的转换
* @throws ParseException
*/
public static void main(String[] args) throws ParseException {
Date date = new Date(); // 日期 格式 Mon Mar 06 11:02:55 CST 2017
System.out.println("日期 格式:" + date);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年-MM月-dd日 hh:mm:ss");
String time = sdf.format(date); // 把日期格式 转换成 String
System.out.println(time);
time = "2018年-05月-05日 11:11:11";
// 把 String 转换成 日期格式
System.out.println(sdf.parse(time));
}
}
16.日期转换
public class ForDemo09 {
//break 跳出当前循环结构
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
System.out.println("第" + i + "圈");
if (i == 8) {
System.out.println("坚持不住!!!");
break;
}
}
System.out.println("比赛结束!");
}
}
17.break跳出循环
public class ForDemo10 {
/**
* 循环录入某学生5门课的成绩并计算平均分。
* 如果某分数录入为负,停止录入并提示录入错误
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 用来保存总成绩
double sum = 0;
// 标记 是否计算平均分
boolean flag = true;
for (int i = 1; i <= 5; i++) {
System.out.println("请您输入第" + i + "门课程的成绩:");
double score = scanner.nextDouble();
if (score < 0) { // 分数为负数
System.out.println("您的输入有误!退出系统!");
flag = false;
break;
}
sum += score;
}
if (flag) { // flag==true
System.out.println("平均分是:" + (sum / 5));
}
}
}
18.循环输入成绩
public class ForDemo12 { /**
*循环录入Java课的学生成绩,
*统计分数大于等于80分的学生比例
*
*continue:代表的是:结束本次循环!继续下次的循环! 之后的代码不会执行!
*跳出循环体了吗??没有跳出!代表 循环继续!
*
*break: 跳出当前整个循环体!
*
*return: 跳出当前方法,可以带有返回值!
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 定义变量 保存分数大于80的人数
int sum = 0;
System.out.println("请输入班级的人数:");
int count = scanner.nextInt();
for (int i = 1; i <= count; i++) {
System.out.println("请输入第" + i + "名同学的成绩:");
double score = scanner.nextDouble();
if (score < 80) {
continue;
}
sum++;
return;
}
System.out.println("80分以上的人数:" + sum);
System.out.println("80分以上的人数占比:" + (sum * 1.0 / count) * 100 + "%");
}
}
19.return和break等
public class ForDemo13 {
/**
*验证用户登录 失败次数
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String name; // 用户名
String password; // 密码
int i;// 记录用户失败的次数
// 进行三次循环操作
for (i = 0; i < 3; i++) {
System.out.println("请输入用户名:");
name = scanner.next();
System.out.println("请输入密码:");
password = scanner.next();
// 判断用户名和密码是否正确
if ("admin".equals(name) && "admin".equals(password)) {
System.out.println("登录成功!");
break;
} else {
System.out.println("输入错误!您还有" + (2 - i) + "次机会!");
}
}
if (i == 3) { // 3次输入都不对
System.out.println("对不起!您三次都输入错误!");
}
}
}
20.验证用户登录
// 三种循环 来实现 100以内的偶数和
public static void main(String[] args) {
// 01.使用while循环
int num = 0;
int sum = 0; // 求和
while (num <= 100) {
// 找到偶数并相加
if (num % 2 == 0) {
sum += num; // sum=sum+num??
}
num++;
}
System.out.println("while偶数和是:" + sum); // 02.使用do while
sum = 0;
num = 0;
do {
if (num % 2 == 0) { // 找到偶数
sum += num;
}
num++;
} while (num <= 100);
System.out.println("dowhile偶数和是:" + sum); // 03.使用for
sum = 0;
for (int i = 0; i <= 100; i++) {
if (i % 2 == 0) {
sum += i;
}
}
System.out.println("for偶数和是:" + sum);
}
21.3种循环计算100以内偶数和
// a+=b a=a+b 是一致的吗?
int a = 5;
double b = 5;
// a =a + b;
a += b; // 做了强制类型转换 (int) (a + b) 不会编译报错
System.out.println(a);
22.a+=b 和 a=a+b
java基础07 循环结构的更多相关文章
- java 基础 04 循环结构 一维数组
内容: (1)循环结构 (2)一维数组 1.循环结构 1.1for循环 (1)语法格式 for(初始化表达式1;条件表达式2;修改初始化表达式3){ 循环体; } (2)执行流程 执行初始化表达式 = ...
- java基础知识—循环结构
1.while 循环 语法: while(循环操作){ 循环操作: } 特点:先判断,再执行:2. == : 用于数字比较 比较的是地址 equals: 用于字符串比较 比较的是字符 3.do-whi ...
- 第五篇:python基础之循环结构以及列表
python基础之循环结构以及列表 python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.pyth ...
- 基础语法-循环结构for
基础语法-循环结构for 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.for循环格式 for(初始化表达式;循环条件表达式;循环后的操作表达式){ 执行语句(循环体); } ...
- 基础语法-循环结构do...while
基础语法-循环结构do...while 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.do...while语句格式 do{ 执行语句; }while(条件表达式); 温馨提示: ...
- 基础语法-循环结构while
基础语法-循环结构while 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.while语句格式 while(条件表达式){ 执行语句; } 二.while语句案例 /** * ...
- Java入门 - 语言基础 - 09.循环结构
原文地址:http://www.work100.net/training/java-loop.html 更多教程:光束云 - 免费课程 循环结构 序号 文内章节 视频 1 概述 2 while循环 3 ...
- python基础之循环结构以及列表
python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.python IDE的选择 IDE的全称叫做集成 ...
- java基础3_循环语句,数组
java中的循环: Java中提供了3中循环结构: while do-while for ① 循环结构的作用? 可以不断重复执行循环结构中的代码: ② 上面的3个循环结构功能都是一样的,只是结构 ...
随机推荐
- C# TextBox常用方法总结
我们在使用C# TextBox进行开发操作的时候经常会碰到C# TextBox的使用,那么C# TextBox的使用有没有一些常用的技巧呢?如C# TextBox换行的处理,其实就是一些常用的操作,那 ...
- [fork]Linux中的fork函数详解
---------------------------------------------------------------------------------------------------- ...
- 关系运算符:instanceof
关系运算符:instanceof a instanceof Animal;(这个式子的结果是一个布尔表达式) a为对象变量,Animal是类名. 上面语句是判定a是否可以贴Animal标签.如果可以贴 ...
- This表示当前对象
This表示当前对象. Public void printNum(){ Int number=40: System.out.println(this.number); } 此时打印的是实例变量,而非局 ...
- 【BZOJ】1646: [Usaco2007 Open]Catch That Cow 抓住那只牛(bfs)
http://www.lydsy.com/JudgeOnline/problem.php?id=1646 这一题开始想到的是dfs啊,,但是本机测样例都已经re了... 那么考虑bfs...很巧妙? ...
- MFC显示bmp图像
有了bmp文件读写的基础,我们就能够開始用MFC显示BMP图片了. 在这里,事实上微软为我们提供了一个实现bmp文件显示的框架,名叫diblook,我们能够先下载下来看看. 以下上链接:DIBLOOK ...
- php如何优化压缩的图片
php程序开发中经常涉及到生成缩略图,利用php生成缩略图这个过程本身没难度,但是你知道php能够优化调节生成的缩略图的质量吗?也就是说php能够控制生成缩略图的清晰度以及生成后的缩略图的体积.下面我 ...
- 当springMVC 容器初始化完成后执行某个方法
分类: spring java2013-06-19 16:40 8289人阅读 评论(4) 收藏 举报 在某些应用中,我们希望,当spring 容器将所有的bean都初始化完成后,做一个操作(例如:将 ...
- cocos2d-x 3.0 使用.plist图片集方法
这个贴.仅仅是为了和我一样的新手,更快的索引. 我使用的是SpritePacker 软件来制作 .plist SpriteFrameCache *frameCache = SpriteFrameCac ...
- ubuntu-查看本机的ip地址
打开终端中执行:ifconfig -a命令即可,如下图所示白色背景信息即是. 说明: enp0s3 表示第一块网卡, 其中 HWaddr 表示网卡的物理地址,可以看到目前这个网卡的物理地址(MAC地址 ...