韩顺平java04(程序流程)
作者:互联网
- 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语句注意细节
- 传入的表达式的类型应该与case后边的常量类型保持一致,或是能够转换为可以相互比较的类型的(例如c是char类型 常量是20int类型),如果不一致编译会报错。
- switch(表达式)中表达式的返回值必须是:byte、int、char、enum(枚举)或者String类型的。
- case子句中的值必须是常量(或者是常量表达式),不能是变量。
- default是可选的(可以没有),当所有case都不匹配的时候执行default里的语句。如果没有default又没有匹配的case则不输出任何值。
- 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循环的注意细节
- 循环条件是返回一个布尔值的表达式
- 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