一、Scanner类
1. 功能:可以实现键盘输入数据,到程序当中。
2. 引用类型使用步骤:
1)导包
import 包名.类名;
2)创建
数据类型 变量名 = new 数据类型(参数列表);
3)使用(获取)
变量名.方法名();
代码示例:
//1.导包
import java.util.Scanner;
public class Demo01Scanner {
public static void main(String[] args) {
//2.创建
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数字:");
//3.使用
int num = sc.nextInt();
System.out.println(num);
//获取字符串
String num2 = sc.next();
System.out.println(num2);
}
}
3.匿名对象
使用:
new 类名(参数列表);
例如:
new Person();
注意事项:
匿名对象只能使用唯一的一次,下次再用还需再次创建一个新对象。
使用建议:
如果确定有一个对象只需要使用唯一的一次,就可以使用匿名对象。
匿名对象类作为方法的参数和方法的返回值:
import java.util.Scanner;
public class Demo02Anonymous {
public static void main(String[] args) {
//使用匿名内部类进行传参
// methodParm(new Scanner(System.in));
//作为返回值
Scanner sc = methodReturn();
int num = sc.nextInt();
System.out.println(num);
}
public static void methodParm(Scanner sc) {
int num = sc.nextInt();
System.out.println(num);
}
public static Scanner methodReturn(){
return new Scanner(System.in);
}
}
二、Random类
概念:Random类是用来生成随机数字的。
1.使用
代码示例:
import java.util.Random;
public class Demo01Random {
public static void main(String[] args) {
Random random = new Random();
//获取随机数
int num = random.nextInt();
System.out.println("随机数是:" + num);
}
}
生成指定范围的随机数:
import java.util.Random;
public class Demo02Random {
public static void main(String[] args) {
Random random = new Random();
//生成指定范围的随机数,以下代码相当于生成[0,5),即0~5之间的数字;
int num = random.nextInt(5);
System.out.println("生成指定范围的数字:" + num);
}
}
练习:
猜数字小游戏:
游戏开始时,会随机生成一个1-100之间的整数 number 。玩家猜测一个数字 guessNumber ,会与 number 作比较,系统提示大了或者小了,直到玩家猜中,游戏结束。
代码:
import java.util.Random;
import java.util.Scanner;
public class Demo03Random {
public static void main(String[] args) {
//猜数字小游戏
//1.随机生成1-100之间的整数;
Random random = new Random();
int number = random.nextInt(100) + 1;
while (true) {
//2.玩家猜测一个数字guessNumber
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你要猜的数字(1-100):");
int guessNumber = scanner.nextInt();
//3.随机生成的数字与猜测的数字进行比较
if (number > guessNumber) {
System.out.println("小了");
} else if (number < guessNumber) {
System.out.println("大了");
} else {
System.out.println("恭喜你猜对了");
break;
}
}
}
}
三、ArrayList类
对象数组:就是指包含了一组相关的对象。
对象数组的声明
类名称 对象数组名[] = new 类名称[长度];
注意:
在声明对象数组后,必须对每个数组成员进行实例化才能直接使用,否则报空指针异常。
示例:
public class Array {
public static void main(String[] args) {
Person[] person = new Person[3];//声明一个对象数组,里面有三个对象
//创建3个人,并实例化
Person one = new Person("张三",20);
Person two = new Person("李四",21);
Person three = new Person("王五",22);
person[0] = one;//地址值
person[1] = two;//地址值
person[2] = three;//地址值
System.out.println(person[0].getName());//张三
}
}
public class Person {
private String name;//姓名
private int age;//年龄
//无参构造方法
public Person() {
}
//有参构造方法
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
ArrayList集合和数组区别
数组的长度不可以发生改变。
ArrayList集合的长度是可以随意发生改变的。
基本格式
ArrayList<E> 数组名 = new ArrayList< >( );
<E> 表示一种指定的数据类型,也就是装在集合当中的所有元素,全都是统一的什么类型。
注意:
- 泛型只能是引用类型(Integer、Long、Float、Character等包装类),不能是基本类型。
- 对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。如果内容是空,得到的是空的中括号:[ ]。
常用的方法和遍历:
- public boolean add(E e):向集合当中添加元素,参数的类型和泛型一致。返回值代表添加是否成功。
- public E get(int index):从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素。
- public E remove(int index):从集合当中删除元素,参数是索引编号,返回值就是被删除掉的元素。
- public int size():获取集合的尺寸长度,返回值是集合中包含的元素个数。
代码示例:
import java.util.ArrayList;
public class ArrayListMethod {
public static void main(String[] args) {
//创建集合对象
ArrayList<String> list = new ArrayList<>();
//向集合中添加元素:add
list.add("张三");
list.add("李四");
list.add("王五");
list.add("赵茜");
System.out.println(list);//[张三, 李四, 王五, 赵茜]
// 从集合中获取元素:get。索引值从0开始
String name = list.get(3);
System.out.println(name);//赵茜
// 从集合中删除元素:remove。索引值从0开始。
String name1 = list.remove(2);
System.out.println(name1);//王五
System.out.println(list);//[张三, 李四, 赵茜]
// 获取集合的长度尺寸,也就是其中元素的个数
int size = list.size();
System.out.println(size);//3
//遍历集合
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}