Scanner、匿名内部类、Random、数组对象、ArrayList

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));
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值