Api01-Scanner类、Random类、ArrayList 类
提纲
Api概述
Scanner类
Random类
ArrayList类
Api
概述
API(Application Programming Interface),应用程序编程接口。JavaAPI是一本程序员的字典 ,是JDK中提供给我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可。所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用它们。
Api离线文档获取
提取码:avmz
Scanner类
什么是Scanner类
一个可以解析基本类型和字符串的简单文本扫描器。
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
备注:System.in 系统输入(指从键盘录入)
Scanner使用步骤
导包
使用import关键字导包,在类的所有代码之前导包,引入要使用的类型,java.lang包下的所有类无需导入。
//import 包名.类名;
import java.util.Scanner;
创建对象
//数据类型 变量名 = new 数据类型(参数列表);
Scanner sc = new Scanner(System.in);
调用方法
调用该类的成员方法,完成指定功能.
//变量名.方法名();
int i = sc.nextInt();//接收一个键盘录入的整数
使用示例
import java.util.Scanner;//导包
public static void main(String[] args){
//创建对象
Scanner sc = new Scanner(System.in);
//接收数据
System.out.println("please input a number:");
int numInput = sc.nextInr();
//输出数据
System.out.println("input number is:" + numInput);
}
扩展
匿名对象:创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量,没有变量的对象。
// new 类名(参数列表)
new Scanner(System.in)
简化代码,但是多次调用会浪费资源
Demo
Demo01:键入两个数,求和
Demo02:键入三个数,求最大值
Demo03:匿名对象
import java.util.Scanner;
public class Demo01_Scanner {
public static void main(String[] args) {
twoSum();
maxNumber();
newScanner();
}
public static boolean twoSum() {
int num1 = 0;
int num2 = 0;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个数");
try {
num1 = scanner.nextInt();
System.out.println("first input number" + num1);
} catch (Exception e) {
System.out.println("you input number format is Error");
return false;
}
System.out.println("请输入第二个数");
try {
num2 = scanner.nextInt();
System.out.println("first input number" + num2);
} catch (Exception e) {
System.out.println("you input number format is Error");
return false;
}
int sum = num1 + num2;
System.out.println("two number sum is" + sum);
return true;
}
public static boolean maxNumber(){
int a, b, c = 0;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个数");
try {
a = scanner.nextInt();
System.out.println("first input number" + a);
} catch (Exception e) {
System.out.println("you input number format is Error");
return false;
}
System.out.println("请输入第一个数");
try {
b = scanner.nextInt();
System.out.println("first input number" + b);
} catch (Exception e) {
System.out.println("you input number format is Error");
return false;
}
System.out.println("请输入第一个数");
try {
c = scanner.nextInt();
System.out.println("first input number" + c);
} catch (Exception e) {
System.out.println("you input number format is Error");
return false;
}
int temp = (a > b ? a : b);
int max = temp > c ? temp : c;
System.out.println(a + ":" + b + ":"+ c + "的最大值为" + max);
return true;
}
public static void newScanner(){
System.out.println("请输入你想循环的次数:");
try {
int number = new Scanner(System.in).nextInt();
for (int i = 0; i < number; i++) {
System.out.println("你要循环" + number + "次,这是第" + (i+1) + "次循环");
}
} catch (Exception e) {
System.out.println("you input number format Error");
}
}
}
Random类
什么是Random
用于生成随机数
Random r = new Random();
int i = r.nextInt();
Random使用步骤
导包
import java.util.Random;
创建对象
Random r = new Random();
调用方法
int number = r.nextInt(10);//获取0到10内的随机数,[0,10)
示例
import java.util.Random;//导包
public class Demo02_Random {
public static void main(String[] args) {
//创建对象
Random random = new Random();
//调用方法
int number = random.nextInt(50);
//输出结果
System.out.println(number);
}
}
Demo
Demo01:获取1-n之间的随机数;
Demo02:猜数字小游戏
import java.util.Random;
import java.util.Scanner;
public class Demo02_Random {
private static Random random = new Random();//使用static进行修饰
public static void main(String[] args) {
function01();
function02();
}
public static void function01(){
int number = random.nextInt(50) + 1;
System.out.println(number);
}
public static void function02(){
int number = random.nextInt(100) + 1;
while(true){
System.out.println("please input you guess number:");
int temp = new Scanner(System.in).nextInt();
if(temp > number){
System.out.println("你猜的数据" + temp + "大了");
}else if(temp < number){
System.out.println("你猜的数据" + temp + "小了");
}else if(temp == number){
System.out.println("congratulation!!!");
break;
}
}
}
}
ArrayList类
什么是ArrayList类
java.util.ArrayList 是大小可变的数组的实现,存储在内的数据称为元素。此类提供一些方法来操作内部存储 的元素。 ArrayList 中可不断添加元素,其大小也自动增长。
ArrayList使用步骤
导包
import java.util.ArrayList;
创建对象
ArrayList list = new ArrayList();
调用方法
list.add("str");
常用方法和遍历
对于元素的操作—增、删、查。常用的方法有:
public boolean add(E e) :将指定的元素添加到此集合的尾部。
public E remove(int index):移除此集合中指定位置上的元素。返回被删除的元素。
public E get(int index) :返回此集合中指定位置上的元素。返回获取的元素。
public int size():返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界。
基本类型存储,在创建对象是不能使用基本类型,使用期引用数据类型
ArrayList list = new ArrayList();
Demo
Demo01:遍历一个String数组
Demo02:存储并遍历自定义类型数组
// Student类
@Data //使用lombok(偷懒插件)
@AllArgsConstructor
@NoArgsConstructor
class Student{
private String name;
private int age;
}
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.ArrayList;
public class Demo03_ArrayList {
private static Student[] students = new Student[3];
static {
students = new Student[3];
Student s1 = new Student("Jack", 12);
Student s2 = new Student("Marry", 14);
Student s3 = new Student("Luck", 10);
students[0] = s1;
students[1] = s2;
students[2] = s3;
}
public static void main(String[] args) {
function01();
function02();
}
public static void function01(){
System.out.println("循环遍历数组");
for (Student student : students) {
System.out.println(student.getName() + "----" + student.getAge());
}
}
public static void function02(){
ArrayList list = new ArrayList();
System.out.println("数组的基本方法");
//添加元素
list.add("hello");
list.add("Jack");
list.add("and");
list.add("Marry");
//返回数据长度
System.out.println("size:" + list.size());
for (String s : list) {
System.out.print(s + " ");
}
//移除元素
System.out.println("移除了" + list.remove(0));
//获取元素
System.out.println(list.get(0));
list.forEach(e ->{
System.out.println( "lambda" + e);
});
}
}