Scanner的概述
使用方法
Scanner类的功能,可以实现键盘输入数据,到程序中
引用的一般使用步骤:
1.导包
import 包路径。类名称
如果需要使用的目标类,和当前类位于同一个包下,则可以省略不写。
只有java.long包下的内容不需要导包,其他的包都需要import语句
2.创建
类名称 对象名称 = new 类名称();
3.使用
对象名.成员方法名()
public static void main(String[] args) {
System.out.println("请输入一个数");
Scanner input = new Scanner(System.in);
int a = input.nextInt();
System.out.println("你输入的数是"+a);
}
练习
两数相加
package ScannerA;
import java.util.Scanner;
/**
* @author 王旭阳
* 两个数相加
*/
public class ScannerDemo02Sum {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("输入第一个数");
int a = input.nextInt();
System.out.println("输入第二个数");
int b = input.nextInt();
System.out.println("结果"+(a+b));
}
}
求最大值
package ScannerA;
import java.util.Scanner;
/**
* @author 王旭阳
* 键盘输入三个数字求最大值
*/
public class ScannerDemo03Max {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个数");
int max = input.nextInt();
for (int i = 1; i < 3; i++) {
System.out.println("请输入一个数");
int a = input.nextInt();
max = max<a?a:max;
}
System.out.println(max);
}
}
匿名内部类
匿名内部类可以使你的代码更加简洁,你可以在定义一个类的同时对其进行实例化。它与局部类很相似,不同的是它没有类名,如果某个局部类你只需要用一次,那么你就可以使用匿名内部类。
创建匿名内部类
package anonyMous;
/**
* @author 王旭阳
* 创建匿名
* new 类名称();
*/
public class Demo01 {
public static void main(String[] args) {
A a = new A();
a.name = "王";
a.showName();
System.out.println("***********");
//匿名对象
new A().name = "王";
new A().showName();
}
}
匿名对象作为方法的参数和返回值
public static void main(String[] args) {
//使用普通方法
// Scanner sc = new Scanner(System.in);
// int i = sc.nextInt();
// System.out.println(i);
//匿名方法
// int i = new Scanner(System.in).nextInt();
// System.out.println(i);
//一般传参
//methodParam(new Scanner(System.in));
//返回值
int i = metodParam().nextInt();
System.out.println(i);
}
public static void methodParam(Scanner sc){
int i = sc.nextInt();
System.out.println(i);
}
public static Scanner metodParam(){
return new Scanner(System.in);
}
}
Random的概述
使用方法
Random类用来生成随机数,使用起来也是三个步骤(软的那儿)
导包
创建
使用
获取一个随机数in数字(范围是int所有范围,有正负两种)random.nextInt();
获取一个随机数in数字(范围是int所有范围,左闭右开[0,3))random.nextInt(3);
public static void main(String[] args) {
Random random = new Random();
int i = random.nextInt();
System.out.println(i);
}
练习
生成生成0–9的随机数
public static void main(String[] args) {
//生成0--9的随机数
Random random = new Random();
for (int i = 0; i < 10; i++) {
int a = random.nextInt(9);
System.out.println(a);
}
}
根据int变量n的值,来获取随机数字范围[1,n]的值
public static void main(String[] args) {
System.out.println("请输入你要生成范围的值");
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
System.out.println("你要生成的值是[1 "+ i +"]");
Random random = new Random();
for (int i2 = 0; i2 < 10; i2++) {
int i1 = random.nextInt(i)+1;
System.out.println(i1);
}
}
生成随机数 1–10
public static void main(String[] args) {
//生成随机数 1--10
Random random = new Random();
int i = random.nextInt(10);
System.out.println("请输入一个数");
Scanner sc = new Scanner(System.in);
while (true){
int i1 = sc.nextInt();
if (i1 > i){
System.out.println("大了请重新输入。请重新输入");
} else if (i1 < i){
System.out.println("小了请重新输入,请重新输入");
}else {
System.out.println("正确"+i);
break;
}
}
}
数组对象
public static void main(String[] args) {
//首先创建一个长度为3的Person数组
Person[] array = new Person[3];
Person wang = new Person("wang", 18);
Person xu = new Person("xu", 28);
Person yang = new Person("yang", 38);
//将wang xu yang 的地址赋值到数组中
array[0] = wang;
array[1] = xu;
array[2] = yang;
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
System.out.println(array[1].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概述
使用方法
数组的长度不可以改变,但是array的长度可以改变
对于ArrayList来说有一个尖括号代表是泛型
**注意:**泛型只能是引用类型,不能是基本类型
注意事项:
对于ArrayList集合来说,直接打印的得到的不是地址,是内容
内容为空 是[]
public static void main(String[] args){
//创建一个集合
ArrayList<String> list = new ArrayList<>();
System.out.println(list);
//添加数据
list.add("wang");
list.add("xu");
list.add("yang");
System.out.println(list);
}
常用方法
public boolean add(E e),向集合中添加元素,参数的类型和泛型一致
public E get(int index),从集合当中获取元素,索引是引用编号,返回值就是对应位置的元素
public E remove(int index),从集合中删除元素,索引是引用编号,返回值就是对应位置的元素
public int size(),获取集合的尺寸大小,返回值是集合中包含的元素个数。
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
System.out.println(list);
//添加元素
list.add("wang");
list.add("xu");
list.add("10");
list.add("yang");
System.out.println(list);
//获取元素
System.out.println("获取元素");
System.out.println(list.get(1));
//删除元素
System.out.println("删除元素");
System.out.println(list.remove(2));
System.out.println(list);
//集合大小
System.out.println("集合大小");
System.out.println(list.size());
}
遍历
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("wang");
list.add("xu");
list.add("yang");
//遍历集合
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
练习
筛选集合中的随机数
public class ArrayListReturn {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
for (int i = 0; i < 20; i++) {
list.add(i);
}
ArrayList<Integer> a = A(list);
System.out.println(a.size()+"数");
for (int i = 0; i < a.size(); i++) {
System.out.println(a.get(i));
}
}
public static ArrayList<Integer> A(ArrayList<Integer> list) {
ArrayList<Integer> list1 = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
int num = list.get(i);
if (num % 2 == 0) {
list1.add(num);
}
}
return list1;
}
}
生成6个1-33之间的随机数
//创建数组
ArrayList<Integer> list = new ArrayList<>();
//定义随机数
Random random = new Random();
for (int i = 0; i < 33; i++) {
int j = random.nextInt(33) + 1;
//添加
list.add(j);
}
//遍历
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}