Java笔试简答题2

1.1、请回答switch语句, () 中可以接收的类型有哪些 ?

答:
整数类型:
byte
short
int
char
枚举类型:
enum
字符串类型:
String (从 Java 7 开始支持)
包装类:
Byte
Short
Integer
Character(从 Java 5 开始支持自动装箱)

1.2、如果switch语句省略了break, 会出现什么现象? 请简单描述下这个现象

答: 穿刺,他会从执行的第一个case一直执行到第一个break

1.3、键盘录入学生成绩, 0 ~ 100分, 根据成绩所在的区间, 打印出不同的奖励机制

对于这个需求, 你觉得应该使用 if , 还是 switch 呢 ? 请说明理由

答: if
switch更适合用于确定值的场景,if更适用于区间的判断

1.4、现有如下代码 , 请说出执行流程和最终结果// i的作用域

public class Demo {
    public static void main(String[] args){
        for(int i = 1; i <= 5; i++){
            System.out.println(i);
        }
        System.out.println(i);
    }
}
答: 
java: 找不到符号
  符号:   变量 i
  位置: 类 cn.base.it.work.demo1
//i的作用域为其所在的最大的{}
/**
修改一:把最后一行System.out.println(i);删掉。
*/
执行结果:
1
2
3
4
5
/**
修改二:源代码修改为:
public static void main(String[] args){
        int i;
        for(i = 1; i <= 5; i++){
            System.out.println(i);
        }
        System.out.println(i);
    }。
*/
执行结果:
1
2
3
4
5
6

1.7、现有如下代码 , 统计 1 ~ 20 之间, 5的倍数有几个, 但是代码存在错误, 请说明错误原因, 并更正代码

public class Demo {
    public static void main(String[] args) {
        for (int i = 1; i <= 20; i++) {
            int count = 0;
            if(i % 5 == 0){
                count++;
            }
            System.out.println(count);
        }
    }
}
答:
package cn.base.it.work;
public class demo1 {
    public static void main(String[] args) {
        int count = 0;
        for (int i = 1; i <= 20; i++) {
            if (i % 5 == 0) {
                count++;
            }
        }
        System.out.println(count);
    }
}

1.8、请说出 Java 的三种循环分别是什么 ? 以及各自的区别
答: 
for while do-while
for循环适用于判断条件已知,循环次数已知。
while循环适用于判断条件已知,循环次数未知。
do-while循环适用于需要先执行一次循环操作再判断的应用场景。
    -------------------------------------------
1. for 循环
for 循环用于已知循环次数的情况,循环条件、初始值和迭代方式都在循环头部定义。
    特点:
初始化、条件检查和更新都集中在一个地方,适合计数循环。
如果循环次数已知,使用 for 循环更为清晰。
2. while 循环
while 循环在每次迭代前检查条件,如果条件为真则执行循环体。
    特点:
适用于循环次数未知但需要在循环开始前检查条件的情况。
如果条件最初为假,循环体可能一次也不会执行。
3. do-while 循环
do-while 循环先执行一次循环体,然后检查条件,如果条件为真则继续循环。
    特点:
保证循环体至少执行一次。
适用于循环体需要至少执行一次的情况,然后根据条件决定是否继续。
    ------------------------------------------
区别总结:
条件检查时机:
for 和 while 循环在每次迭代前检查条件。
do-while 循环在每次迭代后检查条件。
用途和适用场景:
for 循环适用于已知循环次数的情况。
while 循环适用于循环次数未知但需要在循环开始前检查条件的情况。
do-while 循环适用于至少需要执行一次循环体的情况。

1.9、观察以下的代码 , 下划线位置加入什么语句,可以在控制台打印

7次 I Love Java

2次 I Love Java

13次 I Love Java

public class Demo {
    public static void main(String[] args) {
        for (int i = 1; i <= 10; i++) {
            if (i % 3 == 0) {
                //___________
            }
            System.out.println("I Love Java");
        }
    }
}
答: 
7次:continue
2次:break
13次:System.out.println("I Love Java");

补充:Java中return和break的区别是什么?

在 Java 中,return 和 break 是两种用于控制程序流的关键字,但它们的用途和作用范围不同。

return

return 语句用于结束方法的执行,并将控制权返回给调用该方法的代码。它可以携带一个返回值,也可以不携带,取决于方法的返回类型。

用法:
  1. 在方法中
    • 用于终止方法的执行。
    • 可选择性地返回一个值(如果方法的返回类型不是 void)。
示例:
public int add(int a, int b) {
    return a + b;  // 返回两个参数的和,并结束方法
}

public void printMessage() {
    System.out.println("Hello");
    return;  // 结束方法,但不返回值
}
特点:
  • 立即结束当前方法的执行。
  • 如果方法有返回值类型,则 return 语句必须返回一个与该类型匹配的值。

break

break 语句用于终止最近的循环或 switch 语句,并将控制权移到循环或 switch 语句之后的下一行代码。

用法:
  1. 在循环中

    • 终止 forwhile 或 do-while 循环的执行。
    • 跳出循环,不再执行循环体内剩余的代码。
  2. 在 switch 语句中

    • 结束当前 case 的执行。
    • 防止执行落到下一个 case 中(防止贯穿现象)。
示例:
// 在循环中使用 break
for (int i = 0; i < 10; i++) {
    if (i == 5) {
        break;  // 当 i 为 5 时,跳出循环
    }
    System.out.println(i);
}

// 在 switch 语句中使用 break
int day = 3;
switch (day) {
    case 1:
        System.out.println("Monday");
        break;
    case 2:
        System.out.println("Tuesday");
        break;
    case 3:
        System.out.println("Wednesday");
        break;  // 防止贯穿到下一个 case
    default:
        System.out.println("Invalid day");
        break;
}
特点:
  • 结束最内层的循环或 switch 语句的执行。
  • 将控制权移到循环或 switch 语句之后的下一行代码。

区别总结

  • 作用范围

    • return 用于方法中,结束方法的执行并返回一个值(如果方法有返回值类型)。
    • break 用于循环和 switch 语句中,结束最内层的循环或 switch 语句的执行。
  • 影响的代码块

    • return 影响整个方法。
    • break 只影响最近的循环或 switch 语句。
  • 用途

    • return 用于返回方法的结果并终止方法的执行。
    • break 用于跳出循环或结束 switch 语句的当前分支。

通过了解 return 和 break 的区别,可以在编写代码时正确地控制程序的执行流,确保逻辑清晰且符合预期。

  • 15
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值