1.循环打印大家辛苦:
package cn.kgc.circulate;
/**
*
* @author Vip宅男
*
*/
public class While {
/**
* while(循环条件){
* 循环体(循环操作)
* }
* 循环条件 必须是一个boolean类型的值!
* 当满足了循环条件,会执行循环体,直到不满足循环条件是退出!
*/
public static void main(String[] args) {
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<=10){
System.out.println(num+":大家辛苦了!");
num++;//自身加1
}
System.out.println(num);
}
}
2.打印试卷:
package cn.kgc.circulate;
/**
*
* @author Vip宅男
*
*/
public class While02 {
/**
* 循环打印50份试卷
* 分析:
* 循环条件:count<=50 小于等于50次
* 循环体:打印试卷
*/
public static void main(String[] args) {
int count=1;//定义一个变量 用来保存 循环次数
while(count<=50){
System.out.println("正在打印第"+count+"份试卷");
count++;//自身加1(迭代变量)
}
}
}
3.成绩是否合格:
package cn.kgc.circulate;
import java.util.Scanner;
/**
*
* @author Vip宅男
*
*/
public class While03 {
/**
* 老师每天检查张浩的学习任务是否合格。
* 如果不合格,则继续进行。
老师给张浩安排的每天的学习任务为:
上午阅读教材,学习理论部分,
下午上机编程,掌握代码部分
*/
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.print("学习成绩是否合格(y/n):");
String answer=scanner.next();
while(answer.equals("n")){
System.out.println("上午阅读教材,学习理论部分");
System.out.println("下午上机编程,掌握代码部分");
System.out.print("学习成绩是否合格(y/n):");
answer=scanner.next();
}
System.out.println("完成了学习任务!");
}
}
4.学员人数过100?:
package cn.kgc.circulate;
/**
*
* @author Vip宅男
*
*/
public class While04 {
/**
* 2012年培养学员25万人,每年增长25%。
* 请问按此增长速度
* 到哪一年培训学员人数将达到100万人?
*/
public static void main(String[] args) {
int year=2012;
double person=25;
while(person<=100){
person=person*(1+0.25);
year++;
}
System.out.println(year+"培训学员达到100");
}
}
5.100以内偶数和:
package cn.kgc.circulate;
/**
*
* @author Vip宅男
*
*/
public class While05 {
/**
* 编程实现:计算100以内(包括100)的偶数之和
设置断点并调试程序,观察每一次循环中变量值的变化
*/
public static void main(String[] args) {
int num=0;//保存循环次数
int sum=0;//保存总和
while(num<=100){
if (num%2==0) {//偶数
sum+=num;
}
num++;//循环迭代变量
}
System.out.println(sum);
}
}
6.Myshopping管理系统:
package cn.kgc.circulate;
import java.util.Scanner;
/**
*
* @author Vip宅男
*
*/
public class While06 {
public static void main(String[] args) {
System.out.println("*****************欢迎进入MyShopping管理系统*****************");
System.out.println("*******************************************************");
System.out.println("1.帽子\t2.网球鞋\t3.球拍");
Scanner scanner=new Scanner(System.in);
System.out.print("请您选择购买购物的编号:");
int choose=scanner.nextInt();//获取用户的选择
System.out.print("请输入您购买的数量:");
int count=scanner.nextInt();//获取用户购买的数量
double money=0;//定义一个总消费
switch (choose) {
case 1:
System.out.println("1.您购买的是帽子\t50¥\t总消费:"+(count*50));
money+=count*50;
break;
case 2:
System.out.println("2.您购买的是网球鞋\t100¥\t总消费:"+(count*100));
money+=count*100;
break;
case 3:
System.out.println("3.您购买的是球拍\t30¥\t总消费:"+(count*30));
money+=count*30;
break;
}
System.out.print("您是否继续购买(y/n):");
String answer=scanner.next();
while(answer.equals("y")){
switch (choose) {
case 1:
System.out.println("1.您购买的是帽子\t50¥\t总消费:"+(count*50));
money+=count*50;
break;
case 2:
System.out.println("2.您购买的是网球鞋\t100¥\t总消费:"+(count*100));
money+=count*100;
break;
case 3:
System.out.println("3.您购买的是球拍\t30¥\t总消费:"+(count*30));
money+=count*30;
break;
}
System.out.print("您是否继续购买(y/n):");
answer=scanner.next();
}
System.out.println("您本次的消费是:"+money);
System.out.print("请您输入支付金额:");
double pay=scanner.nextDouble();
while(pay<money){//输出的金额不正确
System.out.println("您输入的金额不正确!请你重新支付:");
pay=scanner.nextDouble();
}
System.out.println("找零:"+(pay-money));
}
}
7.Myshopping管理系统2:
package cn.kgc.circulate;
import java.util.Scanner;
/**
*
* @author Vip宅男
*
*/
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.帽子\t2.网球鞋\t3.球拍");
System.out.print("请您选择购买商品的编号:");
int choose=scanner.nextInt();//获取用户的选择
System.out.print("请您选择购买商品的数量:");
int count=scanner.nextInt();
switch (choose) {
case 1:
System.out.println("1.您购买的是帽子\t50¥\t总消费:" + (count * 50));
money += count * 50;
break;
case 2:
System.out.println("2.您购买的是网球鞋\t30¥\t总消费:" + (count * 30));
money += count * 30;
break;
case 3:
System.out.println("您购买的是球拍\t20¥\t总消费:" + (count * 20));
money += count * 20;
break;
}
System.out.println("您是否继续购买(y/n):");
answer=scanner.next();
} while (answer.equalsIgnoreCase("y"));
/**
* 结账
*/
System.out.println("您本次的消费:"+money);
System.out.print("请您输入支付金额:");
double pay=scanner.nextDouble();
while(pay<money){//说明金额不正确
System.out.print("您支付的金额不正确,请您重新输入:");
pay=scanner.nextDouble();
}
System.out.println("找零:"+(pay-money));
}
}
8.温度对比表:
package cn.kgc.circulate;
/**
*
* @author Vip宅男
*
*/
public class While07 {
/**
* 使用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;//华氏温度
do {
System.out.println("条目\t摄氏度\t华氏度");
f = c * 9 / 5.0 + 32;
System.out.println(count + "\t" + f + "\t" + c);
count++;
c += 20;
} while (count<=10&&c<=250);
}
}
9.数字反转:
package cn.kgc.circulate;
/**
*
* @author Vip宅男
*
*/
public class While08 {
/**
* 实现一个数字的反转
*/
public static void main(String[] args) {
int num=123456789;
int temp=1;
System.out.println("输出翻转之后的数字:");
while(num!=0){
/**
* 依次与10取余
*/
temp=num%10;
System.out.print(temp);
num=num/10;
}
}
}
10.for循环执行顺序:
package cn.kgc.circulate;
/**
*
* @author Vip宅男
*
*/
public class ForDemo01 {
/**
*
* for(表达式1;表达式2;表达式3) {
* 循环体
* }
* 表达式1:初始化变量 int a=0;
* 表达式2:循环条件!满足条件执行循环体操作!
* 表达式3:迭代变量!
*
* 三个表达式都可以省略!但是;不能省略!
*
* 执行顺序:
* 表达式1---》表达式2---》循环体---》表达式3--->表达式2---》循环体---》表达式3
*/
public static void main(String[] args) {
for (int i =1; i <=100; i++) {
System.out.println("好好学习"+i);
}
}
}
11.计算平均分:
package cn.kgc.circulate;
import java.util.Scanner;
/**
*
* @author Vip宅男
*
*/
public class ForDemo02 {
/**
* 循环输入某同学S1结业考试的5门课成绩,并计算平均分
*/
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.print("请输入您的姓名:");
String name=scanner.next();
double sum=0;//定义一个变量 来保存总成绩
for (int i =1; i <=5; i++) {
System.out.print("请您输入第"+i+"门课程的成绩:");
double score=scanner.nextDouble();
sum+=score;//总成绩
}
System.out.println(name+"平均分是:"+(sum/5.0));
}
}
12.加法表:
package cn.kgc.circulate;
import java.util.Scanner;
/**
*
* @author Vip宅男
*
*/
public class ForDemo03 {
public static void main(String[] args) {
/**
* 根据用户的输入 产生对应的加法表
*/
Scanner scanner=new Scanner(System.in);
System.out.print("请您输入一个数字:");
int num=scanner.nextInt();
for (int i = 0; i <=num; i++) {
System.out.println(i+"+"+(num-i)+"="+(num));
}
}
}
13.for循环条件省略:
package cn.kgc.circulate;
/**
*
* @author Vip宅男
*
*/
public class ErrorDemo04 {
/**
* 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);
}
*/
public static void main(String[] args) {//省略了 条件判断迭代变量
for (int i = 0; i <10;) {
System.out.println(i);
}
}
}
14.年龄大于30岁比例:
package cn.kgc.circulate;
import java.util.Scanner;
/**
*
* @author Vip宅男
*
*/
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.print("请输入您的年龄:");
age=scanner.nextInt();
if (age>=30) {
count++;
}
}
System.out.println("30岁以上的比例是:"+(count/5.0*100)+"%");
System.out.println("30岁以下的比例是:"+((1-count/5.0)*100)+"%");
}
}
15.保留两位有效数字:
package cn.kgc.circulate;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.Scanner;
/**
*
* @author Vip宅男
*
*/
public class ForDemo06 {
/**
* 保留两位有效数字
* @param args
*/
public static void main(String[] args) {
System.out.print("请您输入一个数字:");
Scanner scanner=new Scanner(System.in);
double num=scanner.nextDouble();
DecimalFormat format=new DecimalFormat("0.00");//保留两位有效数字
String number=format.format(num);//把double类型的数据 保留两位有效数字 返回string
System.out.println("保留两位有效数字:"+number);
System.out.println("************************");
NumberFormat numberForma=NumberFormat.getInstance();
numberForma.setMaximumFractionDigits(2);//保留两位有效数字
number=numberForma.format(num);
System.out.println("保留两位有效数字:"+number);
}
}
16.日期转换:
package cn.kgc.circulate;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
*
* @author Vip宅男
*
*/
public class ForDemo07 {
/**
* 日期转换
* @param args
* @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));
}
}
17.break跳出循环:
package cn.kgc.circulate;
/**
*
* @author Vip宅男
*
*/
public class ForDemo08 {
/**
* break 跳出当前循环结构
*/
public static void main(String[] args) {
for (int i =1; i <=10; i++) {
System.out.println("第"+i+"圈");
if (i==5) {
System.out.println("坚持不住!!!");
break;
}
}
System.out.println("比赛结束");
}
}
18.循环输入成绩:
package cn.kgc.circulate;
import java.util.Scanner;
/**
*
* @author Vip宅男
*
*/
public class ForDemo9 {
/**
* 循环录入某学生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.print("请您输入第"+i+"门课程的成绩:");
double score=scanner.nextDouble();
if(score<0){//分数为负数
System.out.print("您输入的成绩有误!退出系统");
flag=false;
break;
}
sum+=score;
}
if (flag) {//flag=true
System.out.println("平均分是:"+(sum/5.0));
}
}
}
19.return和break等:
package cn.kgc.circulate;
import java.util.Scanner;
/**
*
* @author Vip宅男
*
*/
public class ForDemo10 {
/**
*循环录入Java课的学生成绩,
*统计分数大于等于80分的学生比例
*
*continue:代表的是:结束本次循环!继续下次的循环! 之后的代码不会执行!
*跳出循环体了吗??没有跳出!代表 循环继续!
*
*break: 跳出当前整个循环体!
*
*return: 跳出当前方法,可以带有返回值!
*/
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int sum=0;//定义一个变量 保存分数大于80分的人数
System.out.print("请您输入班级人数:");
int count=scanner.nextInt();
for (int i =1; i <=count; i++) {
System.out.println("请您输入第"+i+"名同学的成绩:");
double score=scanner.nextDouble();
if (score<80) {
continue;
}
sum++;
break;
}
System.out.println("80分以上的人数:"+sum);
System.out.println("80分以上的人数比例:"+(sum*1.0/count)*100+"%");
}
}
20.验证用户登录:
package cn.kgc.circulate;
import java.util.Scanner;
/**
*
* @author Vip宅男
*
*/
public class ForDemo11 {
/**
*验证用户登录 失败次数
*/
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("对不起,您三次都输入错误");
}
}
}
21.3种循环计算100以内偶数和:
package cn.kgc.circulate;
/**
*
* @author Vip宅男
*
*/
public class ForDemo12 {
/**
* 三种循环 来实现 100以内的偶数和
*/
public static void main(String[] args) {
/**
* 01.使用while循环
*/
int num=0;
int sum=0;//求和
while(num<=100){
/**
* 找到偶数并相加
*/
if (num%2==0) {
sum+=num;
}
num++;
}
System.out.println("while偶数之和:"+sum);
System.out.println("***************************");
/**
* 02.使用do--while
*/
do {
if (num%2==0) {
/**
* 找到偶数并相加
*/
sum=sum+num;
}
num++;
} while (num<=100);
System.out.println("do--while偶数之和:"+sum);
System.out.println("***************************");
/**
* 03.使用for
*/
sum=0;
for (int i =1; i <=100; i++) {
if (i%2==0) {
sum+=i;
}
}
System.out.println("for的偶数之和:"+sum);
}
}
22.a+=b 和 a=a+b:
package cn.kgc.circulate;
/**
*
* @author Vip宅男
*
*/
public class ForDemo13 {
/**
* a+=b a=a+b 是一致的吗?
*/
public static void main(String[] args) {
int a=5;
int b=5;
//a=a+b;
a+=b;// 做了强制类型转换 (int) (a + b) 不会编译报错
System.out.println(a);
}
}