Java学习第七天——API

概述

AIP(Aplication Programming Interface),应用程序编接口。javaAPI是一本程序员的字典,是jdk中提供给我们使用的类的说明文档,这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,所以我们可以通过查询API的当时,来学习java提供的类,并得知如何使用它们。

API使用步骤

  1. 打开帮助文档
  2. 点击显示,找到所有,看到输入框
  3. 你要找谁?在输入框中输入,然后回车
  4. 看包,java。lang下的类是不需要导入包的,其他的需要
  5. 看类的解释说明
  6. 学习构造方法

Scanner类

控制键盘输入的类

Scanner类的功能,可以实现键盘输入数据,到程序当中

引用类型一般的使用步骤:

1.导包
import 包路径。类名称
如果需要使用的目标类在和该类同一包下,那么可以省略
只有java.lang下的内容不需要导包,其他的包都如要import

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

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

获取键盘中的输入数据,整数,int num = scanner.nextInt();
获取字符串: String str = scanner.next();

获取其他类型数据

next.Byte(), byte类型

nextDouble(), double类型

nextFloat, float类型

nextInt(), int类型

nextLine(), 字符串类型

nextLong(), long类型

nextShot()  short类型

接受键盘的数据都是字符串形式,只不过编译器会自动帮我们转换成所需要的类型

public class Demo01Scanner {

    public static void main(String[] args) {
        //创建对象
        //System.in代表从键盘输入
        Scanner scanner = new Scanner(System.in);
        //获取键盘输入的int数字
        int num = scanner.nextInt();
        //获取键盘输入的字符串
        String str  = scanner.next() ;
        System.out.println("输入的数字是;"+num);
        System.out.println("输入的字符串是;"+str);


    }
}

Random类

用来生成随机数的类

Random 用来生成随机数字
使用步骤
1.导包
import java.util.Random

2.创建
Randfom r = new Random()//小括号为空即可,也可以传入一个整形参数n,代表随机生成一个【0-n)之间的随机数

3.使用
获取一个随机数int(可正可负),int num = r.nextInt()

获取一个随机数,(参数代表范围,左闭右开区间)

public class Demo01Random {

    public static void main(String[] args) {
        Random r = new Random();

        int num = r.nextInt();
        System.out.println("生成的随机数是:"+ num);
    }
}

其他用法

Random类中各方法生成的随机数字都是均匀分布的,也就是说区间内部的数字生成的几率是均等的。

1、public boolean nextBoolean():

该方法的作用是生成一个随机的boolean值,生成true和false的值几率相等,也就是都是50%的几率。

2、public double nextDouble():

该方法的作用是生成一个随机的double值,数值介于[0,1.0)之间。

3、public int nextInt():

该方法的作用是生成一个随机的int值,该值介于int的区间,也就是-231到231-1之间。

如果需要生成指定区间的int值,则需要进行一定的数学变换,具体可以参看下面的使用示例中的代码。

4、public int nextInt(int n):

该方法的作用是生成一个随机的int值,该值介于[0,n)的区间,也就是0到n之间的随机int值,

包含0而不包含n。如果想生成指定区间的int值,也需要进行一定的数学变换,具体可以参看下面的使用示例中的代码。

5、public void setSeed(long seed):

该方法的作用是重新设置Random对象中的种子数。

设置完种子数以后的Random对象和相同种子数使用new关键字创建出的Random对象相同。

关于Math类中的random方法:(代码习惯)

其实在Math类中也有一个random方法,该random方法的工作是生成一个[0,1.0)区间的随机小数。

通过阅读Math类的源代码可以发现,Math类中的random方法就是直接调用Random类中的nextDouble方法实现的。

只是random方法的调用比较简单,所以很多程序员都习惯使用Math类的random方法来生成随机数字。

ArrayList

ArrayList是一个其容量能够动态增长的动态数组。它继承了AbstractList,实现了ListRandomAccessCloneablejava.io.Serializable。 基本的ArrayList,长于随机访问元素,但是在List中间插入和移除元素时较慢。同时,ArrayList的操作不是线程安全的!一般在单线程中才使用ArrayList,而在多线程中一般使用Vector或者CopyOnWriteArrayList

用来存储一组同类型的数据,而且长度可变(数组长度不可变)

数组的长度不可以发生改变
但是ArrayList集合的长度可以随意变化的

对于ArrayList来说,有一对尖括号<>代表泛型
泛型,就是是装在集合当中的所有元素,全部是统一的什么类型
注意,泛型只能是应用类型,不可以是基本类型

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

import java.util.ArrayList;
//地址值
public class demo02ArrayList {//地址值

    public static void main(String[] args) {
        //创建了一个ArrayList集合,集合的名称是list,里面装的全部都是String类型的字符串
        //备注;从JDK1.7+开始 ,右侧的尖括号内的部分可以全部不写内容,但是<>本身还是要写

        ArrayList<String> list = new ArrayList<>();
        System.out.println(list);

        //向集合中添加一些数据,需要使用到add方法
        list.add("赵丽颖");
        list.add("古力娜扎");
        list.add("迪丽热巴");
        System.out.println(list);//[赵丽颖, 古力娜扎, 迪丽热巴]

//        list.add(100)  //添加到list中的元素鼻必须是String类型

    }
}

ArrayList当中的方法

Arraylist当中的常用的方法有

public Boolean add(E x)向集合当中添加元素,参数类型和泛型一直
备注:对于ArrayList来说,add添加是一定成功的,add的返回值可用可不用
但对于起来集合来说add就不一定成功了
public E get(int index) ,从集合当中获取元素,参数就是索引值,返回值是就是对应位置的元素
public E remove (int index)从集合当中删除元素,参数就是索引值,返回值就是被删掉的元素
public int size()获取集合的尺寸长度,返回值就是集合中包含元素的个数

public class Demo03ArrayListMethod {

    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        System.out.println(list);


        //向集合中添加元素:add()
        System.out.println(list.add("留言"));
        System.out.println(list);

        list.add("xys");
        list.add("wsc");
        list.add("你好");
        list.add("大家");

        System.out.println(list);

        //从集合中获取元素
        String name = list.get(2);
        System.out.println("第2号索引值是:"+name);

        //从集合中删除元素 remove 索引值从零开始

        String name1 = list.remove(1);
        System.out.println("被删除1号位置的人是:" + name1);

        //获取集合的长度,也就是元素个数
        System.out.println(list);
        int x = list.size();
        System.out.println(x);
    }
}

如果希望向集合ArrayList中存储一个基本数据类型,必须使用基本类型对于的包装类

基本类型 包装类(y引用类型,包装类都位于java.lang包下
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

从jdk1.5+开始,支持自动装箱,自动拆箱
自动装箱:基本类型------》包装类
自动拆箱:包装类—》基本类型

import java.util.ArrayList;

public class Demo04ArrayListBasic {

    public static void main(String[] args) {
        ArrayList<String> listA = new ArrayList<>();
        //错误写法,反正是能使引用类型,不能是基本类型
//        ArrayList<int> listB = new ArrayList<int>();

        ArrayList<Integer> listC = new ArrayList<>();
        listC.add(100);
        listC.add(200);
        listC.add(300);
        System.out.println(listC);
    }
}