1.switch后面使用的表达式可以是哪些数据类型的。 byte 、 short 、char 、int 、枚举类型变量、String类型。 2. 使用switch语句改写下列if语句: int a = 3; int x = 100; if(a==1) x+=5; else if(a==2) x+=10; else if(a==3) x+=16; else x+=34; int a = 3; int x = 100; switch(a){ case 1: x+=5; break; case 2: x+=10; break; case 3: x+=16; break; default: x+=34; //break; } 3. 谈谈你对三元运算符、if-else和switch-case结构使用场景的理解 int c; if(a != b){ c = a; }else{ c = b; } int c = (a != b)? a : b; int c = a; 4. 如何从控制台获取String和int型的变量,并输出?使用代码实现 1.import java.util.Scanner; 2. Scanner scan = new Scanner(System.in); 3. String info = scan.next(); int id = scan.nextInt(); 5. 使用for循环遍历100以内的奇数,并计算所有的奇数的和并输出。 int sum = 0; for(int i = 1;i <= 100;i++){ if(i % 2 != 0){ Sysout(i); sum += i; } } syout(sum);
class ReviewTest{ public static void main(String[] args){ int sum ; //for(int i = 1;i <= 100;i++){ if(4 % 2 != 0){ //System.out.println(i); sum = 1; }else{ sum = 2; } //} System.out.println(sum); } }
# 分支结构
1.if-else条件判断结构 1.1. 结构一: if(条件表达式){ 执行表达式 } 结构二:二选一 if(条件表达式){ 执行表达式1 }else{ 执行表达式2 } 结构三:n选一 if(条件表达式){ 执行表达式1 }else if(条件表达式){ 执行表达式2 }else if(条件表达式){ 执行表达式3 } ... else{ 执行表达式n } 1.2.说明: 1. else 结构是可选的。 2. 针对于条件表达式: > 如果多个条件表达式之间是“互斥”关系(或没有交集的关系),哪个判断和执行语句声明在上面还是下面,无所谓。 > 如果多个条件表达式之间有交集的关系,需要根据实际情况,考虑清楚应该将哪个结构声明在上面。 > 如果多个条件表达式之间有包含的关系,通常情况下,需要将范围小的声明在范围大的上面。否则,范围小的就没机会执行了。 3. if-else结构是可以相互嵌套的。 4. 如果if-else结构中的执行语句只有一行时,对应的一对{}可以省略的。但是,不建议大家省略。 2.switch-case选择结构 switch(表达式){ case 常量1: 执行语句1; //break; case 常量2: 执行语句2; //break; ... default: 执行语句n; //break; } 2.说明: ① 根据switch表达式中的值,依次匹配各个case中的常量。一旦匹配成功,则进入相应case结构中,调用其执行语句。 当调用完执行语句以后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或此switch-case结构 末尾结束为止。 ② break,可以使用在switch-case结构中,表示一旦执行到此关键字,就跳出switch-case结构 ③ switch结构中的表达式,只能是如下的6种数据类型之一: byte 、short、char、int、枚举类型(JDK5.0新增)、String类型(JDK7.0新增) ④ case 之后只能声明常量。不能声明范围。 ⑤ break关键字是可选的。 ⑥ default:相当于if-else结构中的else. default结构是可选的,而且位置是灵活的。 3.如果switch-case结构中的多个case的执行语句相同,则可以考虑进行合并。 4.break在switch-case中是可选的
/* 如何从键盘获取不同类型的变量:需要使用Scanner类 具体实现步骤: 1.导包:import java.util.Scanner; 2.Scanner的实例化:Scanner scan = new Scanner(System.in); 3.调用Scanner类的相关方法(next() / nextXxx()),来获取指定类型的变量 注意: 需要根据相应的方法,来输入指定类型的值。如果输入的数据类型与要求的类型不匹配时,会报异常:InputMisMatchException 导致程序终止。 */ //1.导包:import java.util.Scanner; import java.util.Scanner; class ScannerTest{ public static void main(String[] args){ //2.Scanner的实例化 Scanner scan = new Scanner(System.in); //3.调用Scanner类的相关方法 System.out.println("请输入你的姓名:"); String name = scan.next(); System.out.println(name); System.out.println("请输入你的芳龄:"); int age = scan.nextInt(); System.out.println(age); System.out.println("请输入你的体重:"); double weight = scan.nextDouble(); System.out.println(weight); System.out.println("你是否相中我了呢?(true/false)"); boolean isLove = scan.nextBoolean(); System.out.println(isLove); //对于char型的获取,Scanner没有提供相关的方法。只能获取一个字符串 System.out.println("请输入你的性别:(男/女)"); String gender = scan.next();//"男" char genderChar = gender.charAt(0);//获取索引为0位置上的字符 System.out.println(genderChar); } }
1.循环结构的四要素 ① 初始化条件 ② 循环条件 --->是boolean类型 ③ 循环体 ④ 迭代条件 说明:通常情况下,循环结束都是因为②中循环条件返回false了。 2.三种循环结构: 2.1 for循环结构 for(①;②;④){ ③ } 执行过程:① - ② - ③ - ④ - ② - ③ - ④ - ... - ②