【day7】Scanner类、Random类、ArrayList类

01_API概述和使用步骤

在这里插入图片描述
在这里插入图片描述

02_Scanner概述及其API文档的使用

在这里插入图片描述
在这里插入图片描述
java.lang包下的内容不需要导包,其他的包都需要import语句
在这里插入图片描述

03_Scanner的使用步骤

在这里插入图片描述
next():是字符串
nextInt():是将输入的字符串数字转换成了对应的int类型

在这里插入图片描述
在这里插入图片描述

package day_07_Scanner;

import java.util.Scanner;   //1.导包

/*
Scanner类的功能:可以实现键盘输入数据,到程序当中
引用类型的一般使用步骤:

1.导包
import 包路径.类名称;
如果需要使用的目标类,和当前类位于同一个包下,则可以省略导包语句不写。
只有java.lang包下的内容不需要导包,其他的包都需要import语句

2.创建
类名称 对象名 = new 类名称();

3.使用
对象名.成员方法名()

获取键盘输入的一个int数字,int num = sc.nextInt();
获取键盘输入的一个字符串:String str=sc.next();

*/
public class DemoScanner {
    public static void main(String[] args) {
        //2.创建
        // 备注:System.in代表从键盘进行输入
        Scanner sc=new Scanner(System.in);

        // 3.获取键盘输入的int数字
        int num=sc.nextInt();
        System.out.println("输入的int数字是:"+num);

        //4.获取键盘输入的字符串
        String str=sc.next();
        System.out.println("输入的字符串是:"+str);
    }

}

04_Scanner练习一_键盘输入两个数字求和

在这里插入图片描述
在这里插入图片描述

05_Scanner练习二_键盘输入三个数字求最大值

在这里插入图片描述
三个不能同时比较,我们两两比较
在这里插入图片描述
下面其实可以使用数组来实现(自己写的)

package day_07_Scanner;

import java.util.Scanner;

public class DemoScanner01 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int a[]=new int[3];
        System.out.println("向数组中输入数字:");
        for (int i = 0; i < a.length; i++) {
            a[i]=sc.nextInt();
            System.out.println("第"+(i+1)+"次输入的数据是:"+a[i]);
        }
        System.out.println("数组中的数字为:");
        for (int i = 0; i < a.length; i++) {
            System.out.println(a[i]);
        }
    }
}

06_匿名对象的说明

一般情况下,当我们创建一个对象总要给它取一个名字,那么在有些情况下,这个名字可以省略掉。那么没有名字的对象就叫做匿名对象。
匿名对象要用只能用一次,反过来说有些对象只用一次就可以用匿名对象。
在这里插入图片描述
在这里插入图片描述
代码当中写了3个new,则有3个对象
在这里插入图片描述
注意事项:匿名对象只能使用唯一的一次,下次再用不得不再创建一个新对象。
使用建议:如果确定有一个对象只需要使用唯一的一次,就可以用匿名对象。
在这里插入图片描述

07_匿名对象作为方法的参数和返回值

此前我们说过任何数据类型都能作为方法的参数和返回值。匿名对象也可以作为参数和返回值。

在这里插入图片描述
只想输入一次num,可以使用匿名类,匿名类只能用一次。

在这里插入图片描述
在这里插入图片描述

08_Random概述和基本使用

Random用来产生随机数字(产生的数字没有规律)

Random在生成随机数字的时候总是要短一个,因为它是从0开始,写上一个10代表的是0到9
在这里插入图片描述

09_Random生成指定范围的随机数

在这里插入图片描述
在这里插入图片描述

10_Random练习一_生成1-n之间的随机数

在这里插入图片描述

11_Random练习二_猜数字小游戏

在这里插入图片描述
在这里插入图片描述
如果只能猜10次,这里可以使用for循环语句

12_对象数组

在这里插入图片描述
存储Person类型的对象:
在这里插入图片描述

package day_07_对象数组;
/*
题目:
定义一个数组,用来存储3个Person对象。

数组有一个缺点:一旦创建,程序运行期间长度不可以发生改变。
 */
public class Demo01Array {
    public static void main(String[] args) {
        //首先创建一个长度为3的数组,里面用来存放Person类型的对象
        //之前的数组定义:int[] array=new int[3];
        Person[] array=new Person[3];
        //System.out.println(array[0]);//null

        Person one=new Person("迪丽热巴",18);
        Person two=new Person("古力娜扎",28);
        Person three =new Person("赵丽颖",38);

        //名字 one、two、three保存的是地址值。如何把这3个人放到数组中?
        // 将one当中的地址值赋值到数组的0号元素位置
        array[0]=one;
        array[1]=two;
        array[2]=three;

        System.out.println(array[0]);//地址值
        System.out.println(array[1]);//地址值
        System.out.println(array[2]);//地址值

        /*
        Person person=array[1];
        System.out.println(person.getName());
        */
        System.out.println(array[1].getName());//古力娜扎
    }

}

13_ArrayList集合概述和基本使用

数组的长度不可以发生改变。但是ArrayList集合的长度是可以随意变化的。
注意:泛型只能是引用类型,不能是基本类型
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

package day_07_ArrayList;

import java.util.ArrayList;

public class Demo01Array {
    /*
    数组的长度不可以发生改变。但是ArrayList集合的长度是可以随意变化的。

    对于Arraylist来说,有一个尖括号<E>代表泛型。
    泛型:也就是装在集合当中的所有元素,全都是统一的什么类型
    注意:泛型只能是引用类型,不能是基本类型

    注意事项:
    对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。
    如果内容是空,得到的是空的中括号:[]

    */
    public static void main(String[] args) {
        // 创建了一个ArrayList集合,集合的名称是list,里面装的全都是String字符串类型的数据
        // 备注:从JDK 1.7+开始,右侧的尖括号内部可以不写内容,但是<>本身还是要写的
        ArrayList<String> list=new ArrayList<>();
        //尖括号当中写的是String类型,你就要写
        System.out.println(list);   // [] 里面没有东西,所以只是个中括号,没有内容在中括号里面

        //向集合当中添加一些数据,需要用到add方法。
        list.add("赵丽颖");
        System.out.println(list);//[赵丽颖]

        list.add("迪丽热巴");
        list.add("古力娜扎");
        list.add("马尔扎哈");
        System.out.println(list); //[赵丽颖, 迪丽热巴, 古力娜扎, 马尔扎哈]

        // list.add(100); //错误写法!因为创建的时候尖括号泛型已经说了是字符串,添加进去的元素就必须都是字符串才行。
    }
}

14_ArrayList集合的常用方法和遍历

在这里插入图片描述
对于ArrayList集合来说,add添加动作一定是成功的,所以返回值可用可不用。add()返回值代表添加是否成功。但对于其他集合来说,add添加动作不一定成功。
对于ArrayList集合
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这是之前数组遍历的for循环方式,但是现在是ArrayList集合,它的for循环遍历方式其实也差不多
在这里插入图片描述
在这里插入图片描述

15_ArrayList集合存储基本数据类型

注意事项:泛型必须是引用类型,不能是基本类型。其实集合里面保存的都是地址值,但是基本类型的数据没有地址值,所以你要是想往里面存储一个int类型是不允许的
如何解决不能向集合当中存储int类型的数据?
答:如果希望向集合ArrayList当中存储基本类型的数据,必须使用基本类型对应的“包装类”
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Integer就把它当做int来用就行,只不过泛型的写法变了一下,变成了包装类。这些主要针对基本数据类型的ArrayList

16_ArrayList练习一_存储随机数字

在这里插入图片描述
在这里插入图片描述

17_ArrayList练习二_存储自定义对象

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
放进去的是一个学生,拿出来的还应该是一个学生。
在这里插入图片描述

18_ArrayList练习三_按指定格式遍历集合字符串

在这里插入图片描述
集合也是可以作为方法的参数的,当集合作为方法的参数的时候,传递进来的这个参数就是地址值,根据地址值就可以.get()拿元素,.size()拿长度。
在这里插入图片描述

19_ArrayList练习四_筛选集合中的随机数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以让集合当做方法的参数,还能让集合当做方法的返回值。如果是参数,传递进去的就是地址值;如果是返回值,返还回来的也是地址值。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值