首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【Java_06】Scanner 类、Random 类、ArrayList 集合

【Java_06】Scanner 类、Random 类、ArrayList 集合

作者头像
用户8250147
发布2021-02-04 10:02:29
发布2021-02-04 10:02:29
6640
举报
文章被收录于专栏:黑马黑马

一、Scanner 类

1. Scanner 介绍
代码语言:javascript
复制
* 一个可以解析基本类型和字符串的文本扫描器。
2. Scanner 的使用
代码语言:javascript
复制
① 导包
    格式:import 包名.类名;
        即:import java.util.Scanner;
② 创建对象
    格式:类名 对象名 = new 类名( 参数列表 );
        即:Scanner sc = new Scanner(System.in);
        注:System.in系统输入指的是从键盘输入
③ 调用方法
    格式:对象名.方法名();
        即:sc.next();
        注:next():它从遇到的第一个有效字符(非空格、非换行)开始扫描,以空格或者换行符为终点,返回字符串。
       	    nextLine():以换行符为终点,获取一整行数据。
            nextInt():以空格或者换行符为终点,返回整数(实际是获取的字符串,只是将其转为了整数)。
            hasNext():判断输入流中是否还有数据,有则返回 true。
④ 示例
    import java.util.Scanner;

    public class Demo_Scanner {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            int i = sc.nextInt();
 
            System.out.println(i);
        }
    }
3. 匿名对象(anonymous)
代码语言:javascript
复制
① 格式
    * new 类名( 参数列表 );
    例:new Scanner(System.in);
② 使用场景
    * 只需要使用一次的对象。
③ 注意
    * 匿名对象没有对象名,直接在后面接.方法名调用。
    * new 一次就创建了一个对象。
    * 匿名对象可以作为参数和返回值。

二、Random 类

1. Random 介绍
代码语言:javascript
复制
* 用于生成一个伪随机数。
2. Random 的使用
代码语言:javascript
复制
① 导包
    格式:import 包名.类名;
        即:import java.util.Random;
② 创建对象
    格式:类名 对象名 = new 类名();
        即:Random r = new Random();
③ 调用方法
    格式:对象名.方法名( 参数 );
        即:r.nextInt(10);
        注:nextInt(10):获取一个[0,10)的伪随机数,包左不包右。
④ 示例
    import java.util.Random;

    public class Demo_Random {
        public static void main(String[] args) {
            Random r = new Random();
 
            int i = r.nextInt(10);
 
            System.out.println(i);
        }
    }

三、ArrayList 集合

1. ArrayList 介绍
代码语言:javascript
复制
    * ArrayList 是一个集合,数组是定长的,当我们要改变数组长度是需要创建新的数组,ArrayList不同他的长度是可以改变的。
2. ArrayList 的使用
代码语言:javascript
复制
① 导包
    格式:import 包名.类名;
        即:import java.util.ArrayList<E>;
        注:* 泛型指定什么数据类型,集合中就存什么数据类型,需要使用引用类型。
            * 第二个<>内可以不写,第一个是什么第二个就默认是什么。
② 创建对象
    格式:类名<泛型> 集合名 = new 类名<> ();
        即:Arraylist<Integer>  list = new ArrayList<>();
        注:* 泛型指定什么数据类型,集合中就存什么数据类型,需要使用引用类型。
            * 第二个<>内可以不写,第一个是什么第二个就默认是什么。
③ 调用方法
    格式:集合名.方法名();
        即:list.add( Integer );    //添加新的数据到集合中
            list.remove( index );   //删除索引为 index 的元素
            list.get( index );      //获取索引为 index 的元素
            list.size();            //获取 list 集合的长度
④ 示例
    import java.util.ArrayList;

    public class Demo_ArrayList {
        public static void main(String[] args) {
            ArrayList<Integer> list = new ArrayList<>();
 
            list.add(20);
            list.add(8);
            list.add(16);
            list.add(1818);
            Integer remove = list.remove(1);
            Integer integer = list.get(1);
            int size = list.size();
        }
    }
3. 包装类

基本数据类型方便、简单、高效,但泛型、集合等不支持使用基本数据类型且不符合面向对象的思想,所以在 Java 中引入了包装类(此处不对包装类做详细介绍)

代码语言:javascript
复制
byte        --->        Byte
short       --->        Short
int         --->        Integer     ☆
long        --->        Long
float       --->        Float
double      --->        Double
char        --->        Character   ☆
boolean     --->        Boolean
4. 练习

从键盘键入10个数,将其放入集合中,并生成一个随机数,以这个随机数作为索引删除在集合中代表的元素

代码语言:javascript
复制
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;

public class Demo_ArrayList {
public static void main(String[] args) {
    //定义一个集合
    ArrayList<Integer> list = new ArrayList<>();
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入10个数字,空格为分割,#结尾");

    //持续从键盘获取数字直至获取到非数字为止,并将获取到的以空格分割
    while (sc.hasNextInt()) {
        //将分割的数字加入集合
        list.add(sc.nextInt());
    }
 
    //打印集合,重写了toString()方法所以直接打印 list 不是地址值
    System.out.println(list);

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

    //获取[0,10)的伪随机整数
    Random r = new Random();
    int i = r.nextInt(10);

    //移除这个数
    Integer remove = list.remove(i);

    //打印移除后的集合
    System.out.println(list);
    System.out.println("删除了" + remove);
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Scanner 类
    • 1. Scanner 介绍
    • 2. Scanner 的使用
    • 3. 匿名对象(anonymous)
  • 二、Random 类
    • 1. Random 介绍
    • 2. Random 的使用
  • 三、ArrayList 集合
    • 1. ArrayList 介绍
    • 2. ArrayList 的使用
    • 3. 包装类
    • 4. 练习
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档