Scanner类
作用:数据的输入
Scanner类的认识以及使用
1、使用该类需要导包
2、使用规范:
Scanner 变量名 = new Scanner(System.in);
调用:
变量名.方法名();
import java.util.Scanner;
public static void main(String[] args) {
//使用Scanner一个对象sc
Scanner sc = new Scanner(System.in);
//调用,并创建一个变量a接收数据
int a = sc.nextInt();
System.out.println(a);
}
匿名对象
1、较少调用的时候可以使用,建议少使用
2、假若多次调用,占用空间大,浪费资源
匿名对象
1、作为参数
2、作为返回值
import java.util.Scanner;
public static void main(String[] args) {
/* //使用Scanner一个对象sc
Scanner sc = new Scanner(System.in);
//调用,并创建一个变量a接收数据
int a = sc.nextInt();
System.out.println(a);
}*/
//常用的创建对象及其使用
Scanner in = new Scanner(System.in);
int i = in.nextInt();
System.out.println(i);
//匿名对象 每使用一次就要创建新的对象,会占用内存,浪费资源空间
int i1 = new Scanner(System.in).nextInt();//创建了新的对象
int i2 = new Scanner(System.in).nextInt();//创建了新的对象
int i3 = new Scanner(System.in).nextInt();//创建了新的对象
System.out.println(i1);
System.out.println("=====================");
//以下两种调用方法等效,一种是原有的对象直接作为参数传递,
// 另一种是直接创建一个新的匿名对象
Input(in);
Input(new Scanner(System.in));
}
//作为参数
public static void Input(Scanner in) {
System.out.println(in.nextInt());
}
//作为返回值
public static Scanner Input1() {
Scanner in = new Scanner(System.in);
System.out.println(in.nextInt());
return in;
}
Arrays类
Arrays类中有许多操作数组的方法,譬如说排序,搜索等
其所有方法都是静态方法,调用非常简单
简单的操作:
1、将数组内容转成字符串
public static String toString(int []a);
2、数组排序,升序
Arrays.sort(数组名);
import java.util.Arrays;
public static void main(String[] args) {
int[] Arr = {1, 9, 3, 10, 5, 6, 7};
//转换成字符串
String s = Arrays.toString(Arr);
System.out.println(s);
//排序方法调用sort(),升序
Arrays.sort(Arr);
String s1 = Arrays.toString(Arr);
}
ArrayList类
集合类特点:提供一种存储空间可变的存储模型,存储的数据容量可以发生改变。
Arraylist容器:
Arraylist list = new Arraylist(); 该容器可以存放任意类型的数据
又等同于 ArrayList<Object> list = new ArrayList<Object>();
ArrayList<E> list = new Arraylist<>(); <E>是泛型,表示一种数据类型
该集合只能添加指定类型的数据
集合的大小:定义的集合对象.size();
元素添加:定义的集合对象.add(元素);
元素的删除:定义的集合对象.remove(元素的位置);
元素的查找:定义的集合对象.get(元素的位置);
import java.util.ArrayList;
public class Array {
public static void main(String[] args) {
//非指定数据类型集合对象的创建
//ArrayList list = new ArrayList();建议少使用,没有指定数据类型难以操作
//指定数据类型集合对象的创建
ArrayList<String> list = new ArrayList<>();
// ArrayList<String> list = new ArrayList<>(String);可以省略后面括号的String
//ArrayList集合的添加 这里以String类型为例添加元素
String s = "张三";
list.add(s);
list.add("李四");
list.add("王五");
list.add("老六");
//假若不想一项项添加,则可以用循环添加
System.out.println(list);//打印list的元素
//ArrayList移除指定位置的元素
//这里把集合下标为1的元素移除,这里就是吧“张三”移除
list.remove(1);
//将移除的元素作为返回值,接收了还能继续使用,否则在内存中消失
//String remove = list.remove(1);
//System.out.println(remove);则还可以输出被移除的元素
//ArrayList查看指定位置的元素
System.out.println(list.get(2));
//或者用变量接收,在输出
String s1 = list.get(1);
System.out.println(s1);
//一个一个遍历集合内元素
for (int i = 0; i < list.size(); i++) {
String string = list.get(i);
System.out.println(string);
}
//在指定位置添加元素
list.add(1,"小白");
//list.add(5,"小红");//报错 数组越界
System.out.println(list);
//修改指定索引处的元素,返回被修改元素
list.set(1,"小黑");
System.out.println(list);
}
}
ArrayList集合如何保存基本类型数据
1、不能够直接保存基本类型数据即不能在泛型内<E>写基本数据类型
举例:<int> <char>均会报错
2、要把基本类型转换为 对应的引用类型(包装类)
八类引用类型:
特别:int --->Integer
char --->Character
其他六种则首字母为大写即可
举例:ArrayList<Integer> list = new ArrayList<>;
import java.util.ArrayList;
public static void main(String[] args) {
//ArrayList<int> list = new ArrayList<>();报错
ArrayList<Integer> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
list.add(i);
}
System.out.println(list);
//遍历
for (int i = 0; i < list.size(); i++) {
Integer temp = list.get(i);
System.out.println(temp);
}
}
Random类
随机类Randomd的认识以及使用
作用:用于产生一个随机数
先创建对象:Random 对象名 = new Random();
使用: 对象名.方法名();
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
public static void main(String[] args) {
//创建对象
Random random = new Random();
//调用类方法
//输出的i的值会比较大,原因是没有范围限制,会在int类型的范围输出素质
int i = random.nextInt();
System.out.println(i);
//解决i数值输出太大的问题可以设置随机数输出的范围
int j = random.nextInt(10);//j的随机取值为0到9,不包括10
System.out.println(j);
}