四、Scanner、Random、ArrayList

  1、Scanner用来接收控制台的输入

(1)想通过控制台进行输人,首先需要构造一个 Scanner 对象,并与“ 标准输人流” System.in 关联。

Scanner in = new Scanner(System.in);

(2)要想对文件进行读取,就需要一个用 File 对象构造一个 Scanner 对象,如下所示:

Scanner in = new Scanner(Paths.get("niyflle.txt"), "UTF-8");

如果文件名中包含反斜杠符号,就要记住在每个反斜杠之前再加一个额外的反斜杠:

“ c:\\mydirectory\\myfile.txt ” 

(3)要想写入文件, 就需要构造一个 PrintWriter 对象。在构造器中,只需要提供文件名:

PrintWriter out = new PrintlulriterC'myfile.txt", "UTF-8");

(4)Scanner测试

public class ScannerDemo {

    @Test

    public void testScanner() throws IOException {

        String filePath = "E:\\demofile\\javatest.txt";

        PrintWriter writer = new PrintWriter(filePath, "UTF-8");

        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入一些字:");

        boolean falg = true;

        while (falg) {

            String str = scanner.nextLine();

            if ("exit".equals(str)) {

                System.out.println("====================");

                falg = false;

                writer.close();

            } else {

                writer.println(str);

                writer.flush();

            }

        }

        Scanner in = new Scanner(Paths.get(filePath), "UTF-8");

        while (in.hasNextLine()) {

            String line = in.nextLine();

            System.out.println(line);

        }

    }

}

2、Random用来生成随机数字

Random r = new Random();

(1)获取一个随机的int数字(范围是int所有范围,有正负两种):int num = r.nextInt()

(2)获取一个随机的int数字(参数代表了范围,左闭右开区间):int num = r.nextInt(3)

实际上代表的含义是:[0,3),也就是0~2

3、ArrayList 用来自动调节数组容量

对于ArrayList 来说,有一个尖括号代表泛型。泛型只能是引用类型,不能是基本类型。想要装基本类型,必须写基本类型对应的包装类:byte(Byte)、short(Short)、int(Integer)、long(Long)、float(Float)、double(Double)、char(Character)、boolean(Boolean)。

自动装箱:基本类型——>包装类型;自动拆箱:包装类型——>基本类型。

(1)toArray 方法将数组元素拷贝到一个数组中:

         ArrayList list = new ArrayList<>();

        X[] a = new X[list .size()];

        list.toArray(a);

(2)使用带索引参数的 add 方法在数组列表的中间插入元素:

        list .add(n, x);

为了插人一个新元素,位于 n之后的所有元素都要向后移动一个位置。

(3)从数组列表中间删除一个元素:

        list.remove(n);

你可能感兴趣的:(四、Scanner、Random、ArrayList)