API 概述
概述
API(Application Programming Interface)应用程序编程接口. java API 对于程序员来说就是一本可以检索查找的[字典], 是JDK官方提供给程序开发者使用类的说明文档. 将底层的代码封装起来,我们不需要关注这些类底层是如何实现的,我们只需要知道这些类是如何使用的。平常的开发使用JDK类库的时候,通过查阅API的方式进行的。
API的使用步骤
- 打开帮助文档
- 点击显示,找到索引,找到输入框。
- 在输入框中输入你要查找的类,然后回车。
- 看该类的所在包,对于 java.lang 包下面的类不需要导包,其他都需要。
- 看该类的解释说明和类结构。
- 学习该类的构造方法和成员方法 。
Scanner类
什么是Scanner类
一个可以使用正则表达式来解析基本数据类型和字符串类型的简单文本扫描器
例如:让系统扫描输入的int类型的值
Scanner sc = new Scanner(System.in);
int num = sc.netInt
备注:System.in 系统输入指的是通过键盘录入数据
引用类型使用步骤
####导包
使用import关键字导包,在类的所有代码之前导包,引用要使用的类型,java.lang包下的所有类不需要导入
导入的格式:
import 包名.类名
如:import java.lang.Scanner;
创建对象:
数据类型 变量名 = new 数据类型(参数列表);
调用方法:
变量名.方法名();
Scanner 类的使用步骤
查看类
java.util.Scanner; 导入java.util包
查看构造方法
public Scanner(InputStram source);构造一个新的Scanner对象,他的生成的值是从指定的输入流中扫描的
查看成员方法
public int nextInt();将输入的信息的下一个标记扫描为一个int类型值
练习:通过键盘录入两个int类型的数值,进行累加和
import java.util.Scancer;
public class Sc{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int num1 = sc.nextInt();
int num2 = sc.nextInt();
int sum = num1+num2;
System.out.println(sum);
}
}
import java.util.Scancer;
public class Sc{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int num1 = sc.nextInt();
int num2 = sc.nextInt();
int num3 = sc.nextInt();
int t = num1>num2?(num1>num3?num1:num3):(num2>num3?num2:num3);
System.out.println(t);
}
}
匿名对象[了解]
概念
匿名对象:没有变量名的对象
格式:
数据类型 变量名 = new 数据类型(参数列表);
new 数据类型(参数列表);
举例:
public class AnonymousDemo{
public static void main(String[] args){
//传统的写法
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
//匿名对象符方式
int num02 = new Scanner(System.in).nextInt();
int num03 = new Scanner(System.in).nextInt();
System.out.println(num02);
//开发中 使用匿名对象进行参数的传递
checkInput(new Scanner(System.in));
// 获取一个Scanner类对象
Scanner sc02 = getScanner();
}
public static void checkInput(Scanner sc){
int num = sc.nextInt();
System.out.println(num)
}
public static Scanner getScanner(){
return new Scanner(Sysyem.in);
}
}
备注:匿名对象只能使用唯一的一次,下次再使用再次创建
使用建议:如果在程序当中你确定有一个对象只会使用唯一的一次,建议使用匿名对象。
Random类
什么是Random类
此类的实例主要是用于生成伪随机数流
例如:使用户得到一个随机整数
Random ran = new Random();
int i = ran.nextInt();//int的取值范围
Random类的使用步骤
####查看类
java.util.Random: 该类需要导入后才可以使用
查看构造方法
public Random();创建一个新的随机数生成器
查看成员方法
public int nextInt(int n): 返回一个伪随机数,范围[0,n-1] .
public double nextDouble();返回一个尾随机小数,范围在[0.0,1.0) .
练习:使用Random类,随机生成10个10 以内的整数
//导包
import java.util.Random;
public class Rand{
public static void main(String[] args){
//构建Random类对象
Random ran = new Random();
//调用类中的方法 nextInt(int n)
for(int i = 0;i<10;i++){
int num = ran.nextInt(10);
System.out.println(num)
}
}
}
练习:获取1~n之间的随机数,包含n.
import java.util.Random;
public class Rand{
public static void main(String[] args){
//构建一个n的方法
int n = 50;
//构建一个Random类对象
Random ran = new Random;
//调用类中的方法
int num = ran.nextTnt(n)+1;
System.out.println(num)
}
}
随机:石头剪刀布:游戏一开始,系统会随机生成一个"石头","剪刀","布",游戏参与者需要往系统中输入"石头","剪刀","布",游戏规则就按照常规规则,
如果系统赢了,就输出“你太菜了”,判断是否要继续,游戏提示“继续/结束” 如果输入继续,游戏开始下一局,如果输入结束,则输出“欢迎下次光临”,游戏结束,如果你赢了,就进入下一局。
Arraylist 类
引入---对象数组
//需求:把三个People类型的对象存入但容器当中.数组
public static void main(String[] args){
//创建对象数组
People[] arr=new People[3];
//创建三个People对象
People p1 = new People("小明",20);
People p2 = new People("小花",18);
People p3 = new People("小刘",22);
arr[0] = p1;
arr[1] = p2;
arr[2] = p3
//使用循环
//for(int i = 0;i<3;i++){
// arr[i] = new People();
//}
//遍历学生数组 展示对象中的成员变量信息 , name age
for(int i = 0;i<=arr.length-1;i++){
//People p = arr[i];
//System.out.println(p.getName()+","+p.getAge());
System.out.println(arr[i].getName()+","+arr[i].getAge());
}
}
备注:对象数组,长度是固定的,如果在程序中需要对象进行增加或者删除等数量操作时,非常不方便.
java有提供类一个容器java.util.ArrayList集合类.这个类可以让我们的存储和操作对象更方便.
什么是ArrayListl
java.util.ArrayList类是一个 [大小可变的数组] 的实现,里面存储的数据称为颜色. 该类提供类游戏常用的api方法来操作内部的存储
查看类
java.util.ArrayList
例如:
ArrayList<People> list;
ArrayList<String> strs;
ArrayList<int> nums;//不正确的写法
查看构造方法
- public ArrayList();构造一个初始值为10的空列表
- public ArrayList(int initialCapacity)构造一个具有指定初始容量的空列表。
基本格式:
ArrayList<引用数据类型> 变量名 = new ArrayList<引用类型>();
//在JDK1.7之后,右侧的泛型尖括号里面的数据类型可以省略不写,但是<>要保留.
查看成员方法:
- public boolean add(E e) 将指定的元素添加到此列表的 [尾部] ;
- public void add(int index, E element) ,将指定的元素插入此列表中的指定位置。
- public void clear() 移除此列表中的所有元素
- public boolean contains(Object o)
如果此列表中包含指定的元素,如果包含返回
true , 否则返回false - public E get(int index): 返回指定位置上的元素
- public boolean remove(Object o) 移除此列表中首次出现的指定元素(如果存在)。
- public int indexOf(Object o):返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回 -1。
- public boolean isEmpty()如果此列表中没有元素,则返回 `true
- public E remove(int index) 移除此列表中指定位置上的元素。
- public E [set(int index, E element) 用指定的元素替代此列表中指定位置上的元素。
- public int size*() 返回此列表中的元素数。
遍历 [重点]
使用for循环,定义的循环就是ArrayList容器中的索引,循环的次数就是容器的元素个数size()
//需求:往Arraylist容器当中存入5 个学生对象,查找小丽的这位同学,如果查到就把小丽的信息输出
//学生对象包含姓名,年龄,学号.
public class ArrayListDemo {
public static void main(String[] args) {
//2.构建ArrayList 类对象
ArrayList<String> list = new ArrayList();
//存储五个学生姓名
list.add("小明");
list.add("小刘");
list.add("小张");
list.add("小丽");
list.add("小往")
for(int i = 0;i<list.size();i++){
if(list.get(i)=="小丽"){
list.remove(i);
System.out.println(list.get(i)) ;
}
}
}
}
如何存储基本数据类型值
ArrayList类对象不能存储基本类型,只能存储引用类型的数据,类似
基本类型 | 基本类型包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
shar | Character [重点] |
boolean | Boolean |
备注:我们需要对int 和 char 进行特殊记忆,其他类型值需要记住首字母大写即可.
作业:定义使用指定格式方法打印输出集合当中的元素,要求使用ArrayList作为参数,使用{}包含集合中的元素,使用--作为元素的分隔符,格式参照{元素1--元素2--元素3--...元素n}。