Java基础-Day03
Java基础-Day03
Scanner
-
Scanner是需要进行导包操作
//对于cha型的获取,Scanner没有提供相关的方法。只能获取一个字符串,可通过以下方法解决 import java.util.Scanner; class ScannerTest{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); System.out.println("请输入性别:(男/女)"); String gender = scan.next(); char genderChar = gender.charAt(0);//获取索引为0位置上的字符 System.out.println(genderChar); } }
import java.util.Scanner; class ScannerTest{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); float age = scan.nextFloat(); if(age > 2){ age -= 2; age = age * 4 + 21; System.out.println("The age of a dog is:" + age); }else if( age >=0 && age <= 2){ age *= 10.5; System.out.println("The age of a dog is:" + age); }else{ System.out.println("Input Error"); } } }
if-else
-
import java.util.Scanner; class ScannerTest{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); float age = scan.nextFloat(); if(age > 2){ age -= 2; age = age * 4 + 21; System.out.println("The age of a dog is:" + age); }else if( age >=0 && age <= 2){//括号中只进行false/true的判断,因此在比较区间范围时需要添加逻辑运算符进行判断 age *= 10.5; System.out.println("The age of a dog is:" + age); }else{ System.out.println("Input Error"); } } }
switch-case
-
switch结构中的表达式,只能是如下6种数据类型之一:byte,short,char,int,枚举类型(JDK5.0新增)、String类型(JDK7.0新增)
-
case 之后只能声明常量,不能声明范围
-
break,可以使用在switch-case结构中,表示一点执行到此关键字,就跳出switch-case结构
break关键字是可选可不选的。
-
default:相当于if-else结构中的else 可选可不选
-
如果switch-case结构中的多个case的执行语句相同,则可以考虑进行合并。
-
凡是可以使用switch-case的结构,都可以转换为if-else。反之,不成立
-
我们写分支结构时,当发现既可以使用switch-case,也可以使用if-else时,如果switch-case中表达式的取值情况不太多时,优先考虑使用switch-case。原因:switch-case执行效率稍高
-
格式:
switch(表达式){ case 常量1: 执行语句1; //break; case 常量2: 执行语句2; //break; case 常量3: 执行语句3; //break; ... default: 执行语句n; //break; }
-
class SwitchCaseTest{ public static void main(String[] args){ int number = 1; switch(number){ case 0: System.out.println("zero"); break; case 1: System.out.println("one"); break; case 2: System.out.println("two"); break; case 3: System.out.println("three"); break; default: System.out.println("other"); } } }```java //对学生大于60分的,输出为“及格”,低于60分的,输出为“不及格” class SwitchCaseTest2{ public static void main(String[] args){ int score = 70; switch(score / 60){ case 0: System.out.println("不及格"); break; case 1: System.out.println("及格"); break; } } } -
//从键盘分别输入年/月/日,潘丹这一天是当年的第几天 import java.util.Scanner; class SwitchCaseTest{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); System.out.println("Please enter the year:"); int year = scan.nextInt(); System.out.println("Please enter the month:"); int month = scan.nextInt(); System.out.println("Please enter the day:"); int day = scan.nextInt(); int sumDays = 0; switch(month){ case 12: sumDays += 31; case 11: sumDays += 30; case 10: sumDays += 31; case 9: sumDays += 30; case 8: sumDays += 31; case 7: sumDays += 31; case 6: sumDays += 30; case 5: sumDays += 31; case 4: sumDays += 30; case 3: sumDays += 31; case 2: if((year % 10 == 0 && year % 100 != 0) || year % 100 == 0){ sumDays += 29; }else{ sumDays += 28; } case 1: sumDays += day; } System.out.println(year + "/" + month + "/" + day + " is Day " + sumDays); } }

浙公网安备 33010602011771号