zoukankan      html  css  js  c++  java
  • 【幻化万千戏红尘】qianfengDay03-java基础学习:for循环,switch,if

    课程回顾:

    变量
    格式:数据类型 变量名[=值];
    变量必须先声明再赋值,才能使用


    运算符:
    1、算术运算符
    2、逻辑运算符
    3、关系运算符
    4、赋值运算符
    5、位运算符
    6、字符串连接运算符
    7、三目运算符


    今日内容:
    程序的结构:
    1、顺序结构:从上到下,逐行进行
    2、分支结构:有选择性的执行代码
     if-else
     switch
    3、循环结构:满足某个条件,就一直执行代码

    从键盘输入数据的步骤:
    1、import java.util.Scanner;//导包,在文件的最上端
    2、在main方法内部
    Scanner scn=new Scanner(System.in);//创建对象
    int score=scn.nextInt();//获取输入的数字


    分支结构:实现程序流程控制,根据一定的条件有选择的执行某些代码
    1、if-else
    格式一:if(boolean类型表达式){代码块},如果……
    当boolean类型表达式为true就会执行指定的代码块
    格式二:if(boolean类型表达式){代码块}else{代码块},如果……否则……
    如果条件满足就执行if语句的代码,否则就执行else的代码
    格式三:if(boolean型表达式){代码块}else if(boolean型表达式){代码块}……else{代码块}
    多条件满足其一

    完整格式:if(boolean型表达式){代码块}[else if(boolean型表达式){代码块}……][else{代码块}]
    if可以单独使用
    else if和else都不可以单独使用,必须跟在if的后面

    //练习:从键盘输入年龄
    如果<18,输出,未成年
    18-22:青年
    23-40:中年
    40-100:老年
    否则:未知


    if语句的嵌套使用:
    格式:
    if(boolean类型表达式)
    {
     ……
     if(boolean类型表达式){……}
    }


    练习:int no,学号,如果学号为8位数,那么输出恭喜你成为千锋的一员,否就输出,很遗憾,学号不正确
    请使用2种手段完成编程

    练习:int age年龄,char sex性别
    如果男
    验证年龄
    如果年龄在18,28之间,输出:帅小伙
    如果女
    验证年龄,为18,输出:女大十八变
    年龄为20,30输出:魅力女生
    否则:女孩子


    2、switch
    格式:
    switch(exp)
    {
     case 值1:代码块;break;
     case 值2:代码块;break;
     ……
     case 值n:代码块;break;
     [default : 代码块;break;]
    }
    exp:byte、short、char、int 1.6之后支持枚举(enum) 1.7之后支持String
    值:常量值
    default:可有可无,表示所有case的值都没有匹配上,就会执行default

    简单计算器
    int num1=10,num2=6;
    char fh;//符号
    从键盘输入符号
    使用switch输出结果

    next().charAt(0);

    //闰年口诀:四年一润,百年不润,四百年再润,二月润年29天,平年28天
    润年条件:
    1、四年一润,百年不润
    2、四百年再润
    /*
      变量,sex,age
      使用if-else验证性别
      如果:女
      使用switch验证age
      年龄按照30划分:
      0(青春),1(成熟),2(暮年),3(长寿)
      如果:男
      年龄按照50划分
      0(成年),1(老年),2(长寿)
      */

    循环结构:
    条件成立的话就重复去执行一段代码
     1、for语句
      格式:for(表达式1;表达式2;表达式3)
        {
         循环体;
        }
      表达式1:循环变量初始化
      表达式2:循环条件验证(boolean型表达式)
      表达式3:循环变量改变
      循环体:重复执行的代码块

     2、while语句
     3、do/while语句


    //输出10以内的偶数

    素数(质数)

    明日内容
    while
    do/while
    循环嵌套
    特殊的for语句
    特殊循环语句控制


    1、
    从键盘输入成绩,现在的成绩都是百分制
    根据成绩输出等级
    A:>=90
    B:>=80
    C:>=70
    D:>=60
    E:>=0

    import java.util.Scanner;
    class zuoye01
    {
     public static void main(String[] args)
     {
      //声明一个导包变量
      Scanner scan = new Scanner(System.in);
      int score = scan.nextInt();
      if(score < 60)
      {
          System.out.println("你的成绩等级为:E");
      }
      else if(score < 70)
      {
          System.out.println("你的成绩等级为:D");
      }
      else if(score < 80)
      {
          System.out.println("你的成绩等级为:C");
      }
      else if(score <90)
      {
          System.out.println("你的成绩等级为:B");
      }
      else if(score <100)
      {
       System.out.println("你的成绩等级为:A");
      }
      else
      {
          System.out.println("输入的成绩有问题,请重新输入");
      }
      
      
     }
    }


    2、请完成对工资的分级
    工资范围:
    工资
    >20000:哇,高薪哟
    >10000:呀,不错哟
    >5000:哦,能生存啦
    >2000:嗨,要吃泡面哟
    其他:只能喝水了
    1)、使用三目运算符的嵌套
    2)、请使用if-else
    3)、请使用switch
    import java.util.Scanner;
    class zuoye02
    {
     public static void main(String[] args)
     {
      //声明一个导包变量
      Scanner scan = new Scanner(System.in);
      int gj = scan.nextInt();//接收键盘输入的数据

    /**       if(gj > 20000)
        {
         System.out.println("哇,高薪哟");
        }
        else if(gj > 10000)
        {
            System.out.println("呀,不错哟");
        }
        else if(gj > 5000)
        {
         System.out.println("哦,能生存啦");

        }
        else if(gj > 2000)
        {
            System.out.println("嗨,要吃泡面哟");
        }
        else
        {
         System.out.println("只能喝白开水了");
        }
    */     
     /** 
           String a;
           if(gj < 5000)
        {
               a = gj > 2000? "嗨,要吃泡面哟" : "只能喝水了";
         System.out.println(a);
        }
        else if(gj < 20000)
        {
         a = gj > 10000 ? "呀,不错哟":"哦,能生存了";
         System.out.println(a);
        }
        else
        {
         System.out.println("哇,高薪哟");
        }
    */

            if(gj >10000)
      {
         int a = gj/10000;
         switch(a)
         {
            case 1 :System.out.println("呀,不错哟");break;
         case 2 :
         case 3 :
         case 4 :
                  case 5 :
         case 6 :
         case 7 :
         case 8 :
                  case 9 :
         default:System.out.println("哇,高薪哟");
         }
      }
         else if(gj > 2000)
       {
            int b = gj/1000;
         switch(b)
         {
           case 2:
        case 3:
        case 4:System.out.println("嗨,要吃泡面啦");break;
        case 5:
        case 6:
        case 7:
        case 8:
        case 9:System.out.println("哦,能生存啦");break;
                    
         }
         }
         else
         {
          System.out.println("只能喝水了");
         }
      }
     }


    3、请从键盘输入要查询的年份和月份
    输出对应月份的天数,并且计算从当前1月份到该月份的总天数


    4、请输出20以内的奇数
    for(int i =1; i <= 20; i++)
      {
          if(i%2!=0)
       {
        System.out.println("20以内的奇数有:"+i);
       }
      }

    5、请输出100到888之间的能被13整除,
    但是不能被3整除的数字
    if(100<m<888)
    {}
    else{输入数据出错,请重新输入}

    要求:符合条件的数字,每行4个
    注:System.out.println():输出会换行
    System.out.print():输出不会换行
    :制表符,会产生多个空格的效果 
    class zuoye04
    {
     public static void main(String[] args)
     {   
       int b=0;
       for(int i=100; i<=888; i++)
       {
          if(i%13==0)
          {
          if(i%3!=0)
          {
           System.out.print(i+" ");
           b+=1;
           if(b%4==0)
           {
              System.out.println("");
           }
        }
       }
       
       }
     }
    }


    附加题***:
    打印乘法口诀
    1*1=1
    2*1=2 2*2=4
    3*1=3 3*2=6 3*3=9
    ……

    class zuoye06
    {
     public static void main(String[] args)
     {
          int num = 0;
       for(int i=1; i<=9; i++)
       {
           for(int j=1; j<=i; j++)
        {
            num = i*j;
         System.out.print(i+"*"+j+"="+num+" ");

        }
        System.out.println();
       }
     }
    }

  • 相关阅读:
    Android 权限表
    自己动手写shell命令之write
    libgdx 1.4.1公布
    【JUnit4.10源码分析】5.2 Rule
    TCP协议具体解释(上)
    关于 二维码 与 NFC 之间的出身贫贱说
    Effective C++ Item 42 了解 typename 的双重意义
    C++第12周(春)项目2
    HDU 2256 Problem of Precision(矩阵高速幂)
    【OC语法快览】二、存取方法
  • 原文地址:https://www.cnblogs.com/weigongcheng/p/5669120.html
Copyright © 2011-2022 走看看