java基础07 循环结构

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);
}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值