该文章只作为本人笔记使用,可供读者参考,不做商用,如有侵权,请联系作者
笔记参考来源已在文章末尾标出
感谢阅读
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 0:
x += 5;
break;
case 1:
x += 10;
break;
case 2:
x += 16;
break;
case 3:
x += 16;
break;
default:
x += 34;
3.谈谈你对三元运算符、if-else和switch-case结构使用场景的理解
能够考虑使用三元运算符和switch-case时,尽量先考虑使用它俩,因为它俩运算效率高。实在无法使用三元运算符和switch-case时,再考虑使用if-else
4.如何从控制台获取String和int型的变量,并输出?使用代码实现
import java.util.Scanner;
Scanner scan = new Scanner(System.in);
String info = scan.next();
int id = scan.nextInt();
5.使用for循环遍历100以内的奇数,并计算所有的奇数的和并输出
public class ForTest1 {
public static void main(String[] args) {
int sum = 0;
for(int i = 1; i <= 100; i++) {
if(i % 2 != 0) {
System.out.println(i);
sum += i;
}
}
System.out.println("奇数和为:" + sum);
}
}
6.求两正整数的最大公约数和最小公倍数,从键盘输入正整数的值
public class ForTest1 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入第一个正整数:");
int m = scan.nextInt();
System.out.println("请输入第二个正整数:");
int n = scan.nextInt();
//最大公约数
int min = (m <= n)? m : n; //从大到小枚举从而得出最大公约数
for(int i = min; i >= 1; i--) {
if(m % i == 0 && n % i == 0) {
System.out.println("最大公约数为:" + i);
break; //获得最大公约数后跳出循环
}
}
//最小公倍数
int max = (m >= n)? m : n;
for(int i = max; i <= m * n; i++) {
if(i % m == 0 && i % n == 0) {
System.out.println("最小公倍数为:" + i);
break;
}
}
}
}
7.输出所有的水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身
public class ForTest3 {
public static void main(String[] args) {
for(int i = 100; i < 1000; i++){
int g = i % 10; //个位
int s = i / 10 % 10; //十位
int b = i / 100 % 10; //百位
g = g * g * g;
s = s * s * s;
b = b * b * b;
if((g + s + b) == i) {
System.out.println("数字"+i+"是水仙花");
}
// double total = Math.pow(g, 3)+Math.pow(s, 3)+Math.pow(b, 3);
// if((int)total==i){
// System.out.println("数字"+i+"是水仙花");
// }
}
}
}