ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

韩顺平java04(程序流程)

2021-12-05 02:32:59  阅读:173  来源: 互联网

标签:case java04 int System 程序流程 break println 顺平 out


  • if等分支较简单就不举例了

Scanner sc = new Scanner(System.in);
int month;
int age;
int hot_price = 60;
int cold_price = 40;
System.out.println("please enter month");
month = sc.nextInt();
System.out.println("please enter age");
age = sc.nextInt();
if (age >= 0){
    if (month >=1 && month <= 12){
        if (month >= 4 && month <=10){
            if (age >= 18 && age <= 60){
                System.out.println("您的票价为:" + hot_price);
            }else if (age >= 0 && age < 18){
                System.out.println("您的票价为:" + hot_price/2);
            }else if (age > 60 ){
                System.out.println("您的票价为:" + hot_price/3);
            }

        }
        else{
            if (age >= 18 && age <= 60){
                System.out.println("您的票价为:" + cold_price);
            }else{
                System.out.println("您的票价为:" + cold_price/2);
            }
        }

    }
    else{
        System.out.println("月份有误");
    }
}else{
    System.out.println("请输入正确的年龄");
}

 

switch语句

 

 

 

  •  如果没有加break则会不判断直接执行第二个语句块,这种现象称之为“穿透”
Scanner sc = new Scanner(System.in);
        char c = sc.next().charAt(0);
        switch (c){
            case '1' :
                System.out.println(1);
                break;
            case '2' :
                System.out.println(2);
                break;
            case '3' :
                System.out.println(3);
                break;
       default:
          System.out.println(666);
}
  • switch语句注意细节
  1. 传入的表达式的类型应该与case后边的常量类型保持一致,或是能够转换为可以相互比较的类型的(例如c是char类型 常量是20int类型),如果不一致编译会报错。
  2. switch(表达式)中表达式的返回值必须是:byte、int、char、enum(枚举)或者String类型的。
  3. case子句中的值必须是常量(或者是常量表达式),不能是变量。
  4. default是可选的(可以没有),当所有case都不匹配的时候执行default里的语句。如果没有default又没有匹配的case则不输出任何值。
  5. break语句用来在执行完case后跳出switch分支(程序继续运行),如果没有break语句程序会按顺序执行到switch结尾。
  • switch练习
//判断学生成绩是否及格
        System.out.println("请输入成绩:");
        Scanner sc = new Scanner(System.in);
        double score = sc.nextDouble();
        int c = (int)score/60;


        switch (c){
            case 0 :
                System.out.println(score + "不及格");
                break;
            case 1 :
                System.out.println(score + "及格");
                break;
            default:
                System.out.println("请输入正确的成绩");
        }

踩坑:一开始把0和1加上了‘’,导致一直走default,注意case后面常量的值的类型一定要与表达式保持一致!

 

//根据季节输出对应的月份
        System.out.println("请输入月份:");
        Scanner sc = new Scanner(System.in);
        byte month = sc.nextByte();
        
        switch (month){
            case 1 :

            case 2 :
                System.out.println("winter");
                break;
            case 3 :
            case 4 :
            case 5 :
                System.out.println("spring");
                break;
            case 6 :
            case 7 :
            case 8 :
                System.out.println("summer");
                break;
            case 9 :
            case 10 :
            case 11 :
                System.out.println("fall");
                break;
            case 12 :
                System.out.println("winter");
                break;

            default:
                System.out.println("请输入正确的月份");
        }

使用了穿透

 

  • if语句和switch的选择

  

 

 for循环

  • 基本语法

 

 

 

 

 

  •  for循环的注意细节
  1. 循环条件是返回一个布尔值的表达式
  2. for(;循环条件;)中的初始值和变量迭代可以写到其他位置,但是两边的分号不能省略。   
int i = 0;
        for (; i < 10; ) {
            i++;
            System.out.println("666");
        }

for(; ;){ xxxx}表示一个死循环

        3.循环的初始条件可以有多条语句,但要求类型一致且用逗号分隔开。变量迭代语句也可以有多条,也是用逗号隔开。

int max = 3;
for(int i = 0, j = 0; i < max ; i ++ , j +=2){
System.out.println("i =" + i + "j = " + j);
}

 

  • 练习

找出范围内x的倍数

Scanner sc = new Scanner(System.in);
        System.out.println("从:");
        int start = sc.nextInt();
        System.out.println("到:");
        int end = sc.nextInt();
        System.out.println("多少的倍数:");
        int mod = sc.nextInt();

        int sum = 0;
        int count = 0;

        for (;start<=end;start++){
            if (start % mod ==0){
                System.out.println("范围内是"+mod+"的倍数的数有:"+ start);
                count++;
                sum+=start;
            }
        }
        System.out.println("共有" + count +"个");
        System.out.println("和为" + sum);

 

标签:case,java04,int,System,程序流程,break,println,顺平,out
来源: https://www.cnblogs.com/recorderM/p/15643943.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有