8.Java基础必背问题

本文探讨了Java编程中switch语句的使用,包括支持的数据类型及如何改写if-else语句。同时,介绍了三元运算符、if-else和switch-case在条件判断中的适用场景,提倡高效编程。此外,提供了从控制台读取输入、计算奇数之和、求最大公约数与最小公倍数以及寻找水仙花数的代码实例,帮助读者深入理解Java基础操作。
摘要由CSDN通过智能技术生成

该文章只作为本人笔记使用,可供读者参考,不做商用,如有侵权,请联系作者
笔记参考来源已在文章末尾标出
感谢阅读

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+"是水仙花");
//                }
                
            }
       }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值