【 API、Scanner类、Random类、ArrayList类 】

  • API(Application Programming Interface),应用程序编程接口。java API是一本程序员字典,是JDK提供给我们的说明文档。这些类将底层的代码封装了起来,我们不需要关心这些类是如何实现的 ,只需要 学习这些类如何使用即可。
    API使用步骤:
    1、打开帮助文档
    2、点击显示,找到索引,看到输入框。
    3、你要找谁?再输入框输入,然后回车。
    4、看包。java.lang下的类不需要导包,其他需要。
    5、看类的解释和说明。
    6、学习构造方法。

  • Scanner类是JDK已经提供好的用来键盘输入的类。

  • 导包

import java.util.Scanner;

可以不导包的两种情况
A 如果需要使用的类,和当前类,位于同一个包下。
B 如果需要使用的类,直接位于java.lang包下。
- 创建

类名称 对象名 = new 类名称();
Scanner sc = new Scanner(System.in);

备注:System.in代表从键盘输入。
- 使用
获取键盘输入的int数字:sc.nextInt()
获取键盘输入的String字符串:sc.next()

  • 匿名对象,就是在new创建了之后,左边没有名字的对象。

    1.使用:new完了对象之后直接点儿方法就能调用。
    2.特点:匿名对象左边没有名字,只能使用唯一一次。
    3.使用建议:
    如果确定有一个对象,创建之后只会被使用唯一一次,那么就可以使用匿名对象,省去对象名称。

// 类名称 对象名 = new 类名称();
Student stu = new Student("王宝强", 16);
stu.sayHello();
stu.setName("宝强哥");
stu.sayHello();
System.out.println("==============");
new Student("贾乃亮", 17).sayHello();
// 注意:下面这是又new了另外一个对象,上面的对象已经无法二次使用。
new Student("亮亮", 17).sayHello();

直接new一个匿名对象,可以作为方法的参数。

Student stu = new Student("谢霆锋", 30);
method3(stu);
method3(new Student("陈羽凡", 35)); //这两个可以达到的效果相等

直接new一个匿名对象,也可以作为方法的返回值。

public static Student method3() {
//  Student stu = new Student("武大郎", 35);
//   return stu;
   return new Student("武大郎", 35);
}
  • Random类
    java.util.Random类是JDK提供好的一个用来生成随机数字的类。
  • 导包
    -import java.util.Random;
  • 创建
    -类名称 对象名 = new 类名称();
    -Random r = new Random();
  • 使用
    获取整个int范围之内的随机数字:int num = r.nextInt();
    获取指定int范围之内的随机数字:int num = r.nextInt(范围);
    范围:参数如果是10,那么实际上产生的随机int数字范围是左闭右开区间[0,10)。实际上是0~9,短一个数字。
Random r = new Random();
for (int i = 0; i < 20; i++) {
   int num = r.nextInt(10) + 1; // 1~10的数字[1,10]
   System.out.println(num);
}
  • ArrayList类是JDK提供好的一个类,也可以存放多个数据,属于多种集合当中最常用的一种。

ArrayList从效果上来看,长度可变;但是数组的长度不可以改变

  1. 导包
    -import java.util.ArrayList;

  2. 创建
    -ArrayList<E> list = new ArrayList<>();
    <>当中代表泛型:也就是集合当中存储的全都是什么类型。
    注意:必须保证集合当中的数据类型统一,只有满足泛型要求的数据才能进来,不一样的数据类型进不来。
    备注:泛型只能是引用类型,不能是基本类型。

  3. 使用
    public boolean add(E e):向集合当中添加一个元素数据进去,参数就是要添加的数据,返回值代表添加动作是否成功。
    备注:对于ArrayList这种集合来说,add添加动作一定是成功的,所以返回值也可以不用。

拓展:
特例:ArrayList对象打印的时候显示的是内容,而不是地址值。因为ArrayList类继承了最高父类Object,并且覆盖重写了其中的toString方法。

  • ArrayList常用的方法有
public boolean add(E e):向集合当中添加一个元素数据进去,参数就是要添加的数据,
返回值代表添加动作是否成功。
public E get(int index):根据索引值获取一个元素。索引值也是从0开始的。
public E remove(int index):根据索引值删除一个元素,返回被删掉的元素。
public int size():获取集合的长度,也就是其中有多少个元素。
  • 注意:泛型<>里面必须是引用类型,不能是基本类型。解决方案:使用包装类。
基本类型    对应的包装类(全都位于java.lang包下)
byte        Byte
short       Short
int         Integer     【特殊】
long        Long
float       Float
double      Double
char        Character   【特殊】
boolean     Boolean

备注:
创建集合的时候,左边的<>里面指定了泛型,右边的<>里面:
如果是JDK 1.6或者更早版本,必须重复也写上和左边一样的<>
如果是JDK1.7或者更新版本,那么右侧的<>可以留空,但是<>本身仍然要写,这叫做Diamonds运算符

基本数据类型作为参数和返回值,传递的就是【数据值】;
引用数据类型作为参数和返回值,传递的就是【地址值】。

package cn.itcast.day07.demo05;

import java.util.ArrayList;
import java.util.Random;
/*
题目要求:
创建一个集合存储20个范围是1-10的随机数字,然后进行筛选,
将其中所有的偶数放到另一个小集合当中,然后遍历小集合。
分析:
1. 首先创建一个大集合,用来存储20个数字。ArrayList<Integer>
2. 创建一个Random用来产生随机数字
3. 需要20个数字,循环20次:for
4. 范围是1-10,那么nextInt(10) + 1;
5. 将随机数字添加到大集合当中:list.add
6. 再创建一个小集合,用来存储偶数。ArrayList<Integer>
7. 需要对大集合当中20个数字,逐一进行检查,遍历:for
8. 判断是不是偶数if (num % 2 == 0)
9. 如果是偶数,那么就添加到小集合当中。add
10. 遍历小集合
 */
public class Demo04ArrayListFilter {

    public static void main(String[] args) {
        ArrayList<Integer> bigList = new ArrayList<>();
        Random r = new Random();
        for (int i = 0; i < 20; i++) {
            int num = r.nextInt(10) + 1; // 1-10
            bigList.add(num);
        }
        System.out.println("大集合:");
        System.out.println(bigList);

        ArrayList<Integer> smallList = new ArrayList<>();
        for (int i = 0; i < bigList.size(); i++) {
            int num = bigList.get(i);
            if (num % 2 == 0) {
                smallList.add(num);
            }
        }

        System.out.println("==========");
        System.out.println("小集合:");
        for (int i = 0; i < smallList.size(); i++) {
            System.out.println(smallList.get(i));
        }
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值