Day12_01

一 switch case 的用法举例

  • switch 的条件只能是数字、字符、字符串、枚举
  • Demo:输入一到十二月输出对应的英文单词
public class Text2 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入月份");
        int month = input.nextInt();
        String wordOfMonth;

        switch (month) {
        case 1:
            wordOfMonth = "January";
            break;
        case 2:
            wordOfMonth = "February";
            break;

        case 3:
            wordOfMonth = "Marh";
            break;
        case 4:
            wordOfMonth = "April";
            break;
        case 5:
            wordOfMonth = "May";
            break;
        case 6:
            wordOfMonth = "june";
            break;
        case 7:
            wordOfMonth = "july";
            break;
        case 8:
            wordOfMonth = "August";
            break;
        case 9:
            wordOfMonth = "September";
            break;
        case 10:
            wordOfMonth = "October";
            break;
        case 11:
            wordOfMonth = "November";
            break;
        case 12:
            wordOfMonth = "Decenmber";
            break;

        default:
            wordOfMonth = "输入错误";
            break;
        }
        System.out.println(wordOfMonth);
        input.close();
    }
}

二 循环结构案例

1:while循环举例

  • 对于 while 语句而言,如果不满足条件,则不能进入循环。
public class Text5 {
          public static void main(String[] args) {
          int i=0; 
                  while (i<10) {
                                           System.out.println("Hello,word!"); i+=1; 
                                      }
         System.out.println("结束");

2.do while 循环

  • do…while 循环至少会执行一次。
  • 布尔表达式在循环体的后面,所以语句块在检测布尔表达式之前已经执行了。 如果布尔表达式的值为 true,则语句块一直执行,直到布尔表达式的值为 false。
          int sum = 0;
          int i = 0;
          while(i<=100){ if(i%3==0||i%5==0||i%7==0) { sum+=i; }
          i+=1; } System.out.println(sum);
          do {
            sum += i;
            i += 1;
              } while (i <= 100);
             System.out.println(sum);

3.for循环

  • for循环中两个分号一定不能少;for中定义的i只能在该条for循环语句中使用
  • 最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
        for(i=1;i<=100;i++){
            sum+=i;
             }
        System.out.println(sum);

三.两个关键字

1.break

  • break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。
  • break 跳出最里层的循环,并且继续执行该循环下面的语句。
  • 示例
                   int [] numbers = {10, 20, 30, 40, 50};
                   for(int x : numbers ) { 
                   if( x == 30 ) {
                             break; 
                                   } 
                  System.out.print( x ); System.out.print("\n");
                                } 
               }
          }
    
          以上实例编译运行结果如下:
              10            20
    

2.continue

  • continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。
  • 在 for 循环中,continue 语句使程序立即跳转到更新语句。
  • 在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。
  • 示例
    public class Test { public static void main(String args[]) {
    int [] numbers = {10, 20, 30, 40, 50};
    for(int x : numbers ) {
    if( x == 30 ) {
    continue; }
    System.out.print( x );
    System.out.print("\n"); }
    }
    }
    运行结果:10 20 40 50

四.分支、循环结构综合案例

1.计算机出一个随机数(1-100),猜数,若猜大了或者猜小了给出提示,若猜对了,输出随机数

import java.util.Scanner;
public class Text6 {
    public static void main(String[] args) {
        int sj = (int) (Math.random() * 100 + 1);
                System.out.println("随机整数已经产生,请开始猜数(1--100)");
        Scanner input = new Scanner(System.in);
        int cs = input.nextInt();
        int num = 0;
                while (cs > sj) {
            System.out.println("太大了,请继续猜");
            int i = input.nextInt();
            cs = i;
            num++;
        }
        while (cs < sj) {
            System.out.println("太小了,请继续猜");
            int j = input.nextInt();
            cs = j;
            num++;
            while (cs > sj) {
                System.out.println("太大了,请继续猜");
                int i = input.nextInt();
                cs = i;
                num++;
            }
        }
        if (cs == sj) {
            if (num <= 1) {
                System.out.println("我靠,一次就猜出来了!天选之人!!!随机数是"+sj);
            } else if ((num+1)<= 3) {
                System.out.println("厉害了我的哥!猜了" + (num+1) + "次,随机数是"+sj);
            } else if ((num+1)<= 7) {
                System.out.println("还行!猜了" + (num+1) + "次!随机数是"+sj);
            } else {
                System.err.println("妈的智障!猜了" + (num+1) + "次!随机数是"+sj);
            }
        }
        input.close();
    }
}

推荐阅读更多精彩内容

  • 百战程序员_ Java1573题 QQ群:561832648489034603 掌握80%年薪20万掌握50%年薪...
    Albert陈凯阅读 11,101评论 2 31
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    江湖宇阅读 695评论 0 0
  • 1 顺序语句 语句:使用分号分隔的代码称作为一个语句。 注意:没有写任何代码只是一个分号的时候,也是一条语句,...
    哈哈哎呦喂阅读 61评论 0 0
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 3,315评论 0 41
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    会飞的鱼69阅读 22,190评论 18 389