01、java06-Scanner Random ArrayList类

1、Scanner类

--Scanner类可以理解为:一个cmd交互解释器,从控制台获取输入数据

--基本实例如下:当然可以next很多类型,不仅有nextInt,如果希望接受字符串可以使用nextLine()
    Scanner sc = new Scanner(System.in);
    int i = sc.nextInt();
--备注:System.in 系统输入指的是通过键盘录入数据。

--java.lang包下的所有类无需导入,但是Scanner在java.util.Scanner;这里,需要导入
    import java.util.Scanner;

--实例:
    package com.test;
    import java.util.Scanner;

    public class ScannerTest {
        public static void main(String[] args){
            Scanner sc = new Scanner(System.in);
            String i = sc.nextLine();
            System.out.println(i);
        }
    }

2、配置idea中输入system 和 main简写方式

--01、选择setting设置-->Editor--->Live Templates

--02、点击+,先创建Template Group

--03、再点击+,创建Live Template

--04、在下面的Abbreviation中输入简写方式,Description中最好和Abbreviation保持一致,在Template text中输入要替换的代码

--05、最下面哪一行有个下拉框点开,选择这个模板应用在哪一种语言编程中

实例:
    main

    public static void main(String[] args){ 
        $start$
    }
    $start$表示生成模板后光标位置

    print 这里是我python的书写习惯,我觉得java到最后都应该变成python那样简洁才对

    System.out.println($start$);

3、匿名对象

--说白了就是,只创造出来了,没人接手这个变量或者对象
--应用场景很局限,因为没有人接受,所以无法像变量那样重复调用
--可以作为方法的返回值和参数

--具体格式:new 类名(参数列表);

示例如下:
    参数:
        class Test {
            public static void main(String[] args) {
                // 普通方式
                Scanner sc = new Scanner(System.in);
                input(sc);
                //匿名对象作为方法接收的参数
                input(new Scanner(System.in));
            }
            public static void input(Scanner sc){
                System.out.println(sc);
            }
        }

    返回值:
        class Test2 {
            public static void main(String[] args) {
                // 普通方式
                Scanner sc = getScanner();
                }

            public static Scanner getScanner(){
                //普通方式
                //Scanner sc = new Scanner(System.in);
                //return sc;
                //匿名对象作为方法返回值
                return new Scanner(System.in);
            }
        }

4、Random类

--Random类的实例用于生成伪随机数。

--Random r = new Random();
--int i = r.nextInt();

--实例:这里获取的是一个高斯值
    import java.util.Random;

    public class RandomTest {
        public static void main(String[] args){
            Random rm = new Random();
            double i = rm.nextGaussian();
            System.out.println(i);
        }
    }

--random.nextInt(100) 生成的是 0~100 之间的数包括0 不包括 100,即0~99整数中的任何一个

5、ArrayList类

--在此之前我们学习使用的容器只有数组一个List,数组长度是固定的。为了解决这个问题需要使用Java提供的另一个容器 java.util.ArrayList 集合类

--ArrayList:导入包 
    --import java.util.ArrayList; 
    --是大小可变的数组的实现,存储在内的数据称为元素。
    --此类提供一些方法来操作内部存储的元素。 ArrayList 中可不断添加元素,其大小也自动增长。

--java.util.ArrayList <E> 该类需要 import导入使后使用。
--<E>表示一种指定的数据类型,叫做泛型。 E取自Element(元素)的首字母。在出现E的地方,我们使用一种引用数据类型将其替换即可,表示我们将存储哪种引用类型的元素。

--基本格式:
    ArrayList<String> list = new ArrayList<String>();
  jdk7之后书写格式变化为:
    ArrayList<String> list = new ArrayList<>();

import java.util.ArrayList;

public class ArrayListTest{
    public static void main(String[] args){
        ArrayList<String> arrstr = new ArrayList<>();
        arrstr.add("liming");
        arrstr.add("wangxin");
        arrstr.add("chuchengcheng");
        System.out.println(arrstr);
        System.out.println(arrstr.size());
    }
}

--对于元素的操作,基本体现在——增、删、查。常用的方法有:
      public boolean add(E e) :将指定的元素添加到此集合的尾部。
      public E remove(int index) :移除此集合中指定位置上的元素。返回被删除的元素。
      public E get(int index) :返回此集合中指定位置上的元素。返回获取的元素。
      public int size() :返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界。

package com.test;
import java.util.ArrayList;

public class ArrayListTest{
    public static void main(String[] args){
        ArrayList<String> arrstr = new ArrayList<>();
        arrstr.add("liming");
        arrstr.add("wangxin");
        arrstr.add("chuchengcheng");
        System.out.println(arrstr);
        System.out.println(arrstr.size());

        //遍历 数组
        for(int i = 0; i < arrstr.size(); i++){
            System.out.println(arrstr.get(i));
        }

        //加一个元素
        arrstr.add("daitou");

        //获取最后一个元素
        System.out.println(arrstr.get(arrstr.size() - 1));

        //移除最后一个元素
        arrstr.remove(arrstr.size() -1);
        System.out.println(arrstr.get(arrstr.size() - 1));
    }
}

6、ArrayList的包装类型

--ArrayList对象不能存储基本类型,只能存储引用类型的数据。类似 <int> 不能写,但是存储基本数据类型对应的包装类型是可以的。所以,想要存储基本类型数据, <> 中的数据类型,必须转换后才能编写,转换写法如下:
    基本类型        基本类型包装类
    byte            Byte
    short           Short
    int             Integer
    long            Long
    float           Float
    double          Double
    char            Character
    boolean         Boolean

--基本上 包装类型就是基本类型首字母大写,int char还需要补全英文单词


--接下来实例表示:包装类及其对应的基本类型可以互相赋值
    package com.test;

    public class ArrayListTestBase {
        public static void main(String[] args){
            Integer i = 15;
            int a = i;
            System.out.println(a);

            char ca = 'A';
            Character c = ca;
            System.out.println(c);
        }
    }

--只要是一个类就可以作为参数传入和返回值传递出去
public static void main(String[] args) {
    // 创建Random 对象
    Random random = new Random();
    // 创建ArrayList 对象
    ArrayList<Integer> list = new ArrayList<>();
    // 添加随机数到集合
    for (int i = 0; i < 20; i++) {
        int r = random.nextInt(1000) + 1;
        list.add(r);
    }
    // 调用偶数集合的方法
    ArrayList<Integer> arrayList = getArrayList(list);
    System.out.println(arrayList);
}

public static ArrayList<Integer> getArrayList(ArrayList<Integer> list) {
    // 创建小集合,来保存偶数
    ArrayList<Integer> smallList = new ArrayList<>();
    // 遍历list
    for (int i = 0; i < list.size(); i++) {
        // 获取元素
        Integer num = list.get(i);
        // 判断为偶数,添加到小集合中
        if (num % 2 == 0){
            smallList.add(num);
        }
    }
    // 返回小集合
    return smallList;
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值