public class Test { public static void main (String args[ ]) { int m = 0; char ch ='a'; switch(ch) { case 9 : case 'a' : m = m+1; case 'A' : m = m+1; break; case 66 : m = m+1; default: m = m+3; } System.out.println(m); //【代码】 } }
时间: 2023-06-24 11:07:27 浏览: 238
这段代码的输出结果为2。
在switch语句中,根据char类型的变量ch的值,会进入不同的case分支执行代码。
在这个例子中,ch的值是'a',因此会进入第一个case分支。由于case分支中没有break语句,会继续执行下一个case分支。因此m的值会先加1,然后再加1。最后,由于第二个case分支有break语句,会跳出switch语句,执行System.out.println(m)语句,输出2。
相关问题
class NewClass { int val; public class Exec { public static void main(String args[]){ NewClass cl =
`NewClass` 的例子看起来像是 Java 中的一个类定义,但是有些小错误。首先,`int val;` 应该放在 `NewClass` 类内部,而不是作为类名后的部分。正确的语法应该是:
```java
class NewClass {
// 将int val声明移至此处
private int val; // 添加private访问修饰符,除非明确需要从外部访问
public class Exec {
public static void main(String[] args) {
// 创建 NewClass 的实例
NewClass cl = new NewClass();
// 如果需要设置val的值
cl.val = 0; // 初始化为0或其他值
// 这里可以调用NewClass里的方法,如果有的话
}
}
}
```
这个 `Exec` 类有一个静态的 `main` 方法,通常用于程序的入口点。在这个 `main` 方法中,你可以创建 `NewClass` 的对象并操作它的 `val` 属性。
public class Test{ public static void main(String args[]){ int m=1000; while(m>100) { m=m--; if(m==600){ continue; m++; } } } }这段代码哪里有问题
这段代码存在以下几个问题:
1. **变量赋值操作**:在Java中,`m = m--;` 这样的操作是不推荐的。`m--` 会返回 `m` 的当前值,然后 `m` 的值会减1。因此,`m = m--;` 实际上并没有改变 `m` 的值。
2. **条件判断后的 `continue` 语句**:`continue` 语句会跳过当前循环的剩余部分,直接进入下一次循环。因此,`m++;` 这行代码永远不会执行,因为 `continue` 会在它之前终止当前循环的迭代。
3. **赋值操作符**:代码中使用了全角等号 `=` 和全角大于号 `>`,应使用半角等号 `=` 和半角大于号 `>`。
修正后的代码如下:
```java
public class Test {
public static void main(String args[]) {
int m = 1000;
while (m > 100) {
m--;
if (m == 600) {
continue;
}
m++;
}
}
}
```
在这个修正后的代码中,`m--` 会先执行,然后判断 `m` 是否等于 600。如果等于 600,则跳过当前循环的剩余部分,直接进入下一次循环。否则,执行 `m++`。
阅读全文
相关推荐

















