20220316_Scanner、匿名对象、Random、ArrayList

一、Scanner

1.Scanner类的功能:可以实现键盘输入数据,到程序当中。

2.引用类型的一般使用步骤:

(1)导包 

import 包路径.类名称;

如果需要使用的目标类,和当前类位于同一个包下,则可以省略导包语句不写。

只有java.lang包下的内容不需要导包,其他的包都需要import语句。

(2)创建

类名称 对象名 = new 类名称();

(3)使用

对象名.成员方法名()

获取键盘输入的一个int数字:int num = sc.nextInt();

获取键盘输入的一个字符串:String str = sc.next();

import java.util.Scanner;
public class Demo01_Scanner {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        System.out.println("输入的int数字是:"+num);
        String str =sc.next();
        System.out.println("输入的字符串是:"+str);
    }
}

二、匿名对象

匿名对象只有右边的对象,没有左边的名字和赋值运算符。

new 类名称();

匿名对象只能使用唯一的一次,再使用需要再创建。

适用场合:确定对象只需要用一次的时候。

new Demo04_Person().name = "LHM";
new Demo04_Person().Sayname();//Null

匿名对象作为参数和返回值:

import java.util.Scanner;

public class Demo05_Anoymous {
    public static void main(String[] args) {
        /*System.out.print("请输入一个数字:");
        int num = new Scanner(System.in).nextInt();
        System.out.println("输入的是:"+num);*/

        //使用一般写法传入参数
        /*Scanner sc = new Scanner(System.in)
        methodParam(sc);*/

        //使用匿名对象来进行传参
        methodParam(new Scanner(System.in));

        Scanner sc = methodReturn();
        int num = sc.nextInt();
        System.out.println("输入的是:"+num);
    }

        public static void methodParam(Scanner sc){
           System.out.print("请输入一个数字:");
           int num = sc.nextInt();
           System.out.print("输入的是:"+num);
        }

        public static Scanner methodReturn(){
           /*Scanner sc = new Scanner(System.in);
           return sc;*/
            return new Scanner(System.in);
        }
}

三、Rondom类

1.Random类的功能:用来生成随机数字。

2.Random使用步骤:

(1)导包:import java.util.Random;

(2)创建:Random r = new Random();

(3)使用:

获取一个随机数字(范围是int所有范围,有正负两种):int num = r.nextInt()

获取一个随机的int数字(参数代表了范围,左闭右开区间):int num = r.nextInt(3)

二分法猜数字:

package DAY6_Scanner_Random_ArrayList;

import java.util.Random;
import java.util.Scanner;
import java.util.Set;

public class Demo07_CAISHU {
    public static void main(String[] args) {
        Random r = new Random();
        int num = r.nextInt(100)+1;

        while(true) {
            System.out.print("请输入一个数字:");
            Scanner sc = new Scanner(System.in);
            int Guessnumber = sc.nextInt();
            if (Guessnumber > num) {
                System.out.println("猜大了");
            } else if (Guessnumber < num) {
                System.out.println("猜小了");
            } else {
                System.out.println("猜中了!");
                break;
            }
        }
            System.out.println("游戏结束!");
    }
}

         

四、ArrayList类

对于ArrayList来说,有一个尖括号<E>代表泛型。

泛型:也就是装在集合当中的所有元素,全都是统一的什么类型。

注意:泛型只能是引用类型,不能是基本类型。

ArrayList当中的常用方法有:

public boolean add(E e) :向集合中添加元素,参数的类型和泛型一致。

    返回值代表添加是否成功,对于ArrayList集合来说,add添加动作一定是成功的。

public E get (int  index) : 从集合中获取元素,参数是索引编号,返回值就是对应位置的元素。

public E remove (int  index) : 从集合中删除元素,参数是索引编号,返回值是被删除掉的元素。

public int size () : 获取集合的尺寸长度,返回值是集合中包含的元素个数。

ArrayList的增、删、索引、遍历:

package DAY6_Scanner_Random_ArrayList;

import java.util.ArrayList;

public class Demo09_ArrayListMethod {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        System.out.println(list);
        //添加
        boolean success = list.add("刘航名");
        System.out.println(list);
        System.out.println("添加的动作是否成功:"+success);
        list.add("陈晨");
        list.add("段睿杰");
        list.add("PDG");
        System.out.println(list);
        //索引
        String name = list.get(2);
        System.out.println("第二号索引位置:"+name);
        //删除
        String whoRemoved = list.remove(3);
        System.out.println("被删除的人是"+whoRemoved);
        System.out.println(list);
        //长度
        int size = list.size();
        System.out.println("集合的长度是:"+size);
        //遍历
        //快捷键:list.fori
        for(int i = 0; i < list.size(); i++)
            System.out.println(list.get(i));
    }
}

如果希望向集合ArrayList当中存储基本类型,必须使用基本类型对应的包装类:

基本类型        包装类(引用类型,包装类都位于java.lang包下)

   byte              Byte

  short             Short

    int              Integer

   long              Long

   float              Float

  double          Double

    char          Character

 boolean        Boolean

package DAY6_Scanner_Random_ArrayList;

import java.util.ArrayList;

public class Demo10_ArrayListBasic {
    public static void main(String[] args) {
        ArrayList<String> list_A = new ArrayList<>();
        //错误写法:泛型只能是引用类型,不嫩是基本类型。
        //ArrayList<int> list_B = new ArrayList<>();
        ArrayList<Integer> list_C = new ArrayList<>();
        list_C.add(100);
        list_C.add(200);
        System.out.println(list_C);
        int num = list_C.get(1);
        System.out.println("第一号元素:" + num);
    }
}

练习:

1.存储自定义对象:

import java.util.ArrayList;

public class Demo12_Arraylist_Pratice02 {
    public static void main(String[] args) {
        ArrayList<Demo12_Student> list = new ArrayList<>();
        Demo12_Student student1 = new Demo12_Student("刘航名",24);
        Demo12_Student student2 = new Demo12_Student("陈晨",24);
        Demo12_Student student3 = new Demo12_Student("段睿杰",24);
        Demo12_Student student4 = new Demo12_Student("PDG",24);
        list.add(student1);
        list.add(student2);
        list.add(student3);
        list.add(student4);
        for (int i = 0; i < 4; i++) {
            Demo12_Student stu = list.get(i);
            System.out.println("姓名:"+stu.getName()+",年龄:"+stu.getAge());
        }

    }
}

2.定义以指定格式打印集合:

import java.util.ArrayList;
public class Demo13_ArrayList_Pratice03 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("刘航名");
        list.add("陈晨");
        list.add("段睿杰");
        list.add("PDG");
        System.out.println(list);  //[刘航名, 陈晨, 段睿杰, PDG]
        printArrayList(list);//{刘航名@陈晨@段睿杰@PDG}
    }

    public static void printArrayList(ArrayList<String> list){
        System.out.print("{");
        for (int i = 0; i < list.size(); i++) {
            String name = list.get(i);
            if(i == list.size()-1)
                System.out.println(name+"}");
            else
                System.out.print(name+"@");
        }
    }
}

3.在大集合中进行偶数筛选,存放在小集合中:

import java.util.ArrayList;
import java.util.Random;

public class Demo14_ArrayList_Pratice04 {
    public static void main(String[] args) {
        Random rd = new Random();
        ArrayList<Integer> list = new ArrayList<>();
        for (int i = 0; i < 20; i++) {
            list.add(rd.nextInt(100)+1);
        }
        System.out.println(list);
        Oushushaixuan(list);
    }

    public static  void Oushushaixuan(ArrayList<Integer> list){
        ArrayList<Integer> list1 = new ArrayList<>();
        for (int i = 0; i < list.size(); i++) {
            if(list.get(i) % 2 == 0){
                list1.add(list.get(i));
            }
        }
        System.out.println(list1);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值