Day07-Scanner类-匿名对象-Random类-ArrayList类

本文详细介绍了Java编程中的Scanner类用于键盘输入、Random类用于生成随机数、ArrayList类的使用方法及注意事项,包括创建、添加元素、获取和删除元素等操作。

Scanner类

Scanner类的功能,可以实现键盘输入数据,到程序当中.
使用步骤:
1.导包:
import 包路径.类名称
如果需要使用目标类,和当前类在同一个包下,可省略导包语句
只有在java.lang包下的内容不需要导包,其他的包都需要
import java.util.Scanner;
2.创建
类名称 对象名 = new 类名称();
Scanner sc = new Scanner(System.in);
3.使用
对象名.成员方法名();
获取键盘输入的一个int数字:int num = sc.nextInt();
获取键盘输入的一个字符串:String str = sc.next();

匿名对象

创建对象标准格式:类名称 对象名称() = new 类名称();
匿名对象就是只有右边的对象,没有左边的名字和赋值运算符:new 类名称();
注意事项:匿名对象只能使用唯一的一次,下次再用就不得不再创建一个对象。
使用建议:如果确定有一个对象只需使用唯一的一次,就可以用匿名对象。
匿名对象可以作为方法的参数和返回值

package day07.demo;
import java.util.Scanner;
public class DemoAnonymous {
    public static void main(String[] args) {
        //普通使用方式
        //Scanner sc = new Scanner(System.in);
        //int num = sc.nextInt();
        
        //匿名对象的方式
        //int num = new Scanner(System.in).nextInt();
        //System.out.println("输入的是" + num);

        //使用一般写法传入参数
        //Scanner sc = new Scanner(System.in);
        //methodParam(sc);

        //用匿名对象传入参数
        methodParam(new Scanner(System.in));

        Scanner sc = methodReturn();
        int num = sc.nextInt();
        System.out.println("输入的是" + num);
    }

    public static void methodParam(Scanner sc) {
        int num = sc.nextInt();
        System.out.println("输入的是" + num);
    }

    public static Scanner methodReturn() {
        //一般写法
        //Scanner sc = new Scanner(System.in);
        //return sc;

        return new Scanner(System.in);
    }
}

Random类

Random类用来生成随机数字。使用起来有三个步骤:
1.导包
import java.util.Random;
2.创建
Random r = new Random();
3.使用
获取一个随机的int数字【范围将会是int的所有范围,有正负两种】:int num = r.nextInt();
获取一个随机的int数字【参数代表了范围,左闭右开区间】:int num = r.nextInt(3);实际上代表的含义是:[0,3),也就是0-2。
注意下面代码:

package day07.demo;
import java.util.Scanner;
import java.util.Random;
/*
题目:
根据int变量n的值,来获取随机数字,范围是[1,n],可以取到1,也可以取到n

思路:
1.定义一个变量n,随意赋值
2.要使用Random:三个步骤,导包、创建、使用
3.如果写10,那么就是0~9,然而想要的是1~10,可以发现,整体加1即可。
4.打印随机数字
 */
public class Demo03Random {
    public static void main(String[] args) {
        int n = new Scanner(System.in).nextInt();

        Random r = new Random();
        for (int i = 0; i < 100; i++) {
            int num = r.nextInt(n) + 1;
            System.out.println(num);
        }
    }
}
package day07.demo03;
import java.util.Random;
import java.util.Scanner;
/*
题目:
用代码模拟猜数字的游戏

思路:
1.首先产生一个随机数字,并且一旦产生不再变化,用Random的nextInt()方法
2.需要键盘输入,所以用到了Scanner
3.获取键盘输入的数字,用Scanner当中的nextInt()方法
4.已经得到了两个数字,判断(if)一下:
    如果太大,提示太大,并且重试;
    如果太小,提示太小,并且重试;
    如果猜中了,游戏结束
5.重试就是再来一次,循环次数不确定,用while(true)。
 */
public class Demo04RandomGame {
    public static void main(String[] args) {
        Random r = new Random();
        int randomNum = r.nextInt(100) + 1;//范围[1~100]
        Scanner sc = new Scanner(System.in);
        
        while (true) {
            System.out.println("请输入你猜测的数字");
            int guessNum = sc.nextInt();//键盘输入猜测的数字

            if (guessNum > randomNum) {
                System.out.println("太大了,请重试");
            } else if (guessNum < randomNum) {
                System.out.println("太小了,请重试");
            } else {
                System.out.println("猜中了,随机数是:" + randomNum);
                break;//如果猜中,不再重试
            }
        }
        System.out.println("游戏结束。");
    }
}

ArrayList类

1.ArrayList集合创建

数组的长度不可发生变化,但是ArrayList类的长度是可以随意变化的。
对于ArrayList来说,有一个尖括号< E >代表泛型。
格式:ArrayList< String > list = new ArrayList<>();
泛型:也就是装在集合当中的所有元素,全部都是统一的类型。
注意泛型只能是引用类型,不能是基本类型。(如果想装基本类型,下面将会学习到)
注意事项:
1.对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。
2.如果内容为空,得到的是空的中括号:[ ]

2.ArrayList当中的常用方法有:

public boolean add(E e) {}

向集合当中添加元素,参数的类型和泛型一致。返回值代表是否成功。
备注:对于ArrayList集合来说,add添加动作一定是成功的,所以返回值可用可不用。
但是对于其他集合(之后学习)来说,add添加动作不一定成功。

public E get(int index){}

从集合当中删除元素,参数是索引编号,返回值就是对应位置的元素。

public E remove(int iindex){}

从集合当中删除元素,参数是索引编号,返回值就是被删除掉的元素。

public int size(){}

获取集合的尺寸长度,返回值就是集合当中包含的元素个数。

3.ArrayList集合遍历

package cn.itcast.day07.demo04;
import java.util.ArrayList;
public class Demo04ArrayListEach {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("张三");
        list.add("李四");
        list.add("王五");

        //遍历集合
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
    }
}

4.ArrayList如何存储基本数据类型【重点】

如果希望向集合ArrayList当中存储基本类型,必须使用基本类型对应的包装类。

 基本类型		包装类(应用类型,包装类都位于java.lang包下)
 byte			Byte
 short			Short
 int			Integer【特殊】
 long			Long
 float			Float
 double			Double
 char			Character【特殊】
 boolean		Boolean
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ATZYDEVIL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值