分别说出java中swith、case、thread、list的常规用法和容易报错的地方
时间: 2024-05-07 19:19:34 浏览: 12
1. switch:
switch是Java中的一个关键字,用于多分支判断,根据表达式的值从多个分支中选择一个分支执行。常规用法如下:
```java
switch (expression) {
case value1:
// 执行语句1
break;
case value2:
// 执行语句2
break;
case value3:
// 执行语句3
break;
default:
// 执行默认语句
}
```
其中,expression是一个可以计算出整数或枚举类型的表达式,value1、value2、value3等是常量值或枚举类型的常量。
常见的错误包括:
- case语句没有break导致出现“穿透”现象。
- switch语句没有default分支,导致在expression的值不匹配任何一个case时,程序不知道要执行哪个分支。
2. case:
case是switch语句中的一个分支选项,用于与switch语句中的表达式值进行比较,如果匹配则执行对应的语句。常规用法如上述switch示例代码中。
常见的错误包括:
- case语句中的值没有与switch语句中的表达式值类型匹配,例如使用字符串类型的值与整数类型的表达式进行比较。
- case语句中的值重复,导致程序出现逻辑错误。
3. thread:
thread是Java中的一个类,用于创建和管理线程,常规用法如下:
```java
class MyThread extends Thread {
public void run() {
// 线程执行的代码
}
}
public class Main {
public static void main(String[] args) {
MyThread thread = new MyThread();
thread.start();
}
}
```
其中,MyThread类继承自Thread类,重写了run方法,在该方法中写入线程执行的代码。在Main类中创建MyThread类的实例,并调用start方法启动线程。
常见的错误包括:
- 在多线程程序中,由于线程的执行是异步的,因此可能会出现线程安全问题,例如竞态条件、死锁等问题。
- 在使用Thread类创建线程时,如果没有重写run方法,则线程执行时不会执行任何代码,也不会报错。
4. list:
list是Java中的一个接口,用于实现动态数组的功能,常规用法如下:
```java
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
```
其中,list是List接口类型的变量,ArrayList是List接口的一个实现类,用于实现动态数组的功能。add方法用于向list中添加元素。
常见的错误包括:
- 在使用List接口时,如果没有实例化实现类,则会出现NullPointerException错误。
- 在使用List接口时,如果没有给泛型指定具体类型,则会出现编译错误。