Java学习第七天——API
概述
AIP(Aplication Programming Interface),应用程序编接口。javaAPI是一本程序员的字典,是jdk中提供给我们使用的类的说明文档,这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,所以我们可以通过查询API的当时,来学习java提供的类,并得知如何使用它们。
API使用步骤
- 打开帮助文档
- 点击显示,找到所有,看到输入框
- 你要找谁?在输入框中输入,然后回车
- 看包,java。lang下的类是不需要导入包的,其他的需要
- 看类的解释说明
- 学习构造方法
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
,实现了List
、RandomAccess
, Cloneable
, java.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);
}
}