• Chapter07Scanner类、Random类、ArrayList类


    Chapter07Scanner类、Random类、ArrayList类

    第一章 API

    概述

    • API(Application Programming Interface),应用程序编程接口。
    • Java API是一本程序员的 字典 ,是JDK中提供给 我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学 习这些类如何使用即可。所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用它们。

    API的使用步骤

    1. 打开帮助文档。
    2. 点击显示,找到索引,看到输入框。
    3. 你要找谁?在输入框里输入,然后回车。
    4. 看包。java.lang下的类不需要导包,其他需要。
    5. 看类的解释和说明。
    6. 学习构造方法。
    7. 使用成员方法。

    第2章Scanner类

    lang包不需要导包

    2.1 Scanner功能

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

    2.2 引用类型使用步骤

    1.导包

    格式:import 包路径.类名称;
    

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

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

    举例:

    Java.util.Scanner;
    

    2.创建对象

    格式:类名称 = new 类名称();

    举例

    Scanner sc = new Scanner(System.in);
    

    3.调用方法

    格式:对象名.成员方法名();

    变量名.方法名();
    

    举例:

    int i = sc.nextInt();//接受一个键盘录入的整数
    
    import java.util.Scanner;//1.导包
    
    public class Demo01Scanner {
        public static void main(String[] args) {
         //2.创建
        //备注:System.in 代表从键盘输入       
    Scanner sc = new Scanner(System.in);
    
            //3.获取键盘输入的int数字
            int num = sc.nextInt();
            System.out.println("输入的int数字是:"+num);
    
            //4.获取键盘上输入的字符串
            String str = sc.next();
            System.out.println("输入的字符串是:"+str);
        }
    }
    

    2.3 匿名对象

    创建对象的标准格式:
    类名称 对象名 = new 类名称();

    1.概念

    匿名对象:没有变量名的对象。

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

    2.格式

    new 类名称(参数列表);

    举例:

    new Scanner(System.in);
    

    注意事项:匿名对象只能使用唯一的一次,下次再用不得不在创建一个新对象。
    使用建议:如果确定有一个对象只能使用唯一的一次,就可以用匿名对象。

    3.使用匿名对象作为方法的参数

    public static void main(String[] args){
        //普通方式
        Scanner sc = new Scanner(System.in);
        methodPanner(sc);
        
        //使用匿名对象来进行传参
        methodParam(new Scanner(Sysetm.in))
    }
    
    public static void methodParam(Scanner sc){
        int num = sc.nextInt();
        System.out.println("输入的是:"+num);
    }
    
    

    4.作为返回值

    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);
    }
    

    第三章 Random类(生成随机数)

    1.作用

    Random用来生成随机数字

    2.使用步骤

    1. 导包

      import java.util.Random;
      
    2. 创建

      Random r = new Random();
      
    3. 使用

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

    代码如下:

    import java.util.Random;
    
    public static void main(String[] args){
        Random r = new Rondom();
        
        int num = r.nextInt();
        System.out.println("随机数是:"+num);
    }
    

    3.练习

    生成指定范围的随机数

    //获取一个随机的int数字(范围是int范围,有正负两种)
    Random r = new Random();

    import java.util.Random;
    public static void main(String[] args){
        Random r = new Random();
        
        for(int i = 0;i<100;i++){
             //快捷输入法r.nextInt(输入最大范围-1);
            int num = r.nextInt(0-10);//范围实际上是0-9
            System.out.println(num);
        }
    }
    

    //获取一个随机的int数字(参数代表范围左闭右开)
    int num = r.nextInt(3);//范围(0,3)也就是0-2

    import java.util.Random
    
    public static void main(String[] args){
    		Random r = new Random();
    		
    		int num = r.nextInt(biund:10);
    		System.out.print("随机数是:"+num);
    }
    

    猜数字游戏,有次数限制

    public class Demo04RandomGame {
        public static void main(String[] args) {
            Random r = new Random();
            int randomNum = r.nextInt(100) + 1;
            Scanner sc = new Scanner(System.in);
    
    	   //while循环
           //int i = 0;
           //while(true)
           for (int i = 0;i <=5;i++) {
                System.out.println("请输入你猜测的数字:");
                int guessNum = sc.nextInt();//键盘输入猜测的数字
    
                if (i == 5) {
                    System.out.println("Game over");
                    break;
                }
                if (randomNum > guessNum) {
                    System.out.println("太小了,请重试。");
                } else if (randomNum < guessNum) {
                    System.out.println("太大了,请重试。");
                } else {
                    System.out.println("恭喜你,猜对了。");
                        break;//如果猜中,不在重试,跳出循环
                }
            }
            System.out.println("游戏结束。");
        }
    }
    
    

    第四章 ArrayList类

    4.1 引入--对象数组

    任何数据类型都可以作为数组中的元素类型
    题目:
    定义一个数组,用来存储3个person对象。

    数组有一个缺点:一旦创建程序运行期间,长度不可改变

    public class Demo01Array {
    
        public static void main(String[] args) {
            //首先创建一个长度为3的数组,里面用来存放Person类型的对象
            Person[] array =new  Person[3];
    
            Person one = new Person("迪丽热巴",3);
            Person two = new Person("古力娜扎",6);
            Person three = new Person("马尔扎哈",9);
    
            //将one当中的地址值赋值到数组的0号元素位置
            array[0] = one;
            array[1] = two;
            array[2] = three;
    
            System.out.println(one);//地址值
            System.out.println(two);//地址值
            System.out.println(three);//地址值
    
    
            System.out.println(array[1].getName());//古力娜扎
        }
    }
    

    4.2 ArrayList使用

    1.作用

    数组的长度不可以改变。

    但是ArrayList集合的长度可以是随意变化的。

    2.查看类

    java.util.ArrayList: 需要import导入后使用。

    PS:

    :表示一种数据类型,叫做泛型。

    E,取自Element(元素)的首字母。出现E的地方,我们使用一种数据类型替换即可,表示我们将存储那种引用类型的元素。

    代码如下:

    ArrayList<String>;//全都是String类型字符串的数据
    

    注意:

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

    3.查看构造方法

    public ArrayList():构造一个内容为空的集合
    

    基本格式:

    //备注:从Java1.7后开始,右侧尖括号部分可以不写内容,
    //1.7之前右侧需要写,两侧类型必须相同
    ArrayList<String> list = new ArrayList<>();
    

    4.注意事项

    对于ArrayList集合来说,直接打印的不是地址值,而是内容。

    通过 对象.add();来添加数据

    如果内容为空,得到的将是空的中括号。

    代码如下:

    import java.util.ArrayList;//导包
    
    public static void main(String[] args){
        ArrayList<String> list = new ArrayList<>();
        Sysout.out.println(list);//[]
        list.add("马尔扎哈");
        System.out.println(list);//马尔扎哈
        
    }
    

    5.常用方法

    1.添加元素

    备注:对于ArrayList集合来说,add添加动作一定成功的,所以返回值类型可用可不用。

    但是对于其他集合(今后学习)来说,add添加动作不一定成功。

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

    2.获取元素

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

    3.删除元素

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

    4.获取集合长度

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

    代码如下:

    public class Demo03ArrayListMethod {
        public static void main(String[] args) {
            ArrayList<String> list = new ArrayList<>();
            System.out.println(list);
    
            //向集合中添加元素: add
            boolean success  = list.add("柳岩");
            System.out.println(list);
            System.out.println("添加的动作是否成功:"+success);//true
    
            list.add("迪丽热巴");
            list.add("古力娜扎");
            list.add("玛尔扎哈");
            list.add("霹雳克擦");
            System.out.println(list);
    
            //从集合中获取元素:get.索引值  从0开始
            String name = list.get(1);
            System.out.println(name);
    
            //从集合中删除元素:remove.索引值从0 开始
            String whoRemooved = list.remove(4);
            System.out.println("被删除的人是:"+whoRemooved);
            System.out.println(list);
    
            //获取集合的长度尺寸,也就是元素个数
            int size = list.size();
            System.out.println("集合的长度是:"+size);
    
        }
    }
    
    

    6.集合的遍历

    快捷键:

    遍历集合 快捷键:变量名.fori

    public class Demo04ArrayListEach {
        public static void main(String[] args) {
            ArrayList<String> list = new ArrayList<>();
            list.add("迪丽热巴");
            list.add("古力娜扎");
            list.add("玛尔扎哈");
    
            //遍历集合  快捷键:变量名.fori
            for (int i = 0;i<list.size();i++){
                System.out.println(list.get(i));
            }
    
        }
    }
    
    

    4.3 存储基本数据类型

    ArrayList 对象不能存储基本类型,只能存储引用类型数据

    如果希望向集合AlistList当中存储基本类型数据,必须使用基本类型的包装类(引用类型,包装类都位于java.long包下)

    基本类型 包装类 特殊
    byte Byte
    short Short
    int Integer
    long Long
    float Float
    double Double
    char Character
    boolean Boolean

    从JDK1.5+开始,支持自动装箱,自动拆箱。

    自动装箱 :基本类型-->包装类型

    自动拆箱 :包装类型-->基本类型

    4.4 ArrayList练习

    1.数值添加到集合

    题目:生成6个1-33之间的随机整数,添加到集合,并遍历

    import java.util.ArrayList;//导包
    
    public static void main(String[] args){
        ArrayList<Integer> list = new ArrayList<>();
        Random r = new Random();
        
        for(int i = 0;i<6;i++){
            int num = r.nxtInt(33) + 1;
            list.add(num);
        }
        for(int i = 0;i<list.size();i++){
            System.out.println(list.get(i));
        }
    }
    

    2.对象添加到集合

    题目:自定义4个学生对象,添加到结合并遍历

    定以学生类

    public static void main(String[] args){
        private String name;
        private int age;
        
        public Student(){
            
        }
        public Student(String name,int age){
            this.name = name;
            this.age = age;
        }
        public void setName(String name){
            this.name = name;
        }
        public String getName(){
            return name;
        }
        public void setAge(int age){
            this.age = age;
        }
        public int getAge(){
            return age;
        }
        
    }
    
    import java.
    public static void main(String[] args){
        ArrayList<Student> list = new ArrayList<>();
        Student one = new Student("雷神",21);
        Student two = new Student("狼人",22);
        Student three = new Student("黑寡妇",23);
        Student four = new Student("蛇女",24);
        
        list.add(one);
        list.add(two);
        list.add(three);
        list.add(four);
        
        for(int i = 0;i<list.size();i++){
            Student stu = list.get(i);
            System.out.println("姓名:"+getName+",年龄:"+getAge);
        }
    }
    

    3.打印集合方法

    题目:定义以指定格式打印集合的方法(ArrayList类型作为参数),使用{}扩起集合,使用@分隔每个元素。格式参照 {元素 @元素@元素}。

    public static void main(String[] args){
        ArrayList<String> list = new ArrayList<>();
        list.add("张三丰");
        list.add("张无忌");
        list.add("陈真");
        list.add("李连杰");
        System.out.println(list);
        
    }
    /*
    定义方法的三要素
    返回值类型:没有结果  没有运算 只是打印 所以用void
    方法名称:printArrayList
    参数列表:ArrayList
    */
    public static void printArryList(ArryList<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.print(name+"}");
            }else{
                System.out.print(name+"@");
            }
        }
        
    }
    

    4.获取集合方法

    题目:定义获取所有偶数元素的方法(Arraylist类型作为返回值)

    import java.util.ArrayList;
    import java.util,Random;
    public static void mian(String[] args){
        //定义一个大集合存入20个随机数字
        ArrayList<Integer> bigList = new ArrayList<>();
        Random r = new Random();
        for(int i = 0;i<20;i++){
            int num = r.nextInt(100) + 1;//范围1-100
            bigList.add(num);
        }
        ArrayList<Integer> smallList = getSmallList(bigList);
        System.out.println("偶数的个数是:"+smallList.size());
        for(int i = 0;i < smallList.size();i++){
            System.out.println(smallList(i));
        }
    }
    public static ArrayList<Integer> getSmallList(ArrayList bigList){
        //创建一个小集合,用来装偶数结果
          ArrayList<Integer> smallList = new ArrayList<>();
        for(int i = 0;i<bigList.size();i++){
          int num = bigList.get(i);
            if(num % 2 == 0){
                smallList.add(num);
            }
        }
    }
    
  • 相关阅读:
    Linux实战教学笔记44:NoSQL数据库开篇之应用指南
    Linux实战教学笔记43:squid代理与缓存实践(二)
    Linux实战教学笔记42:squid代理与缓存实践(一)
    Linux实战教学笔记41:企业级SVN版本管理与大型代码上线方案
    Linux实战教学笔记40: Mha-Atlas-MySQL高可用方案实践(二)
    Linux实战教学笔记39:Mha-Atlas-MySQL高可用方案实践(一)
    Linux实战教学笔记38:企业级Nginx Web服务优化实战(下)
    Linux实战教学笔记37:企业级Nginx Web服务优化实战(上)
    Linux实战教学笔记36:PHP服务缓存加速深度优化实践
    Linux实战教学笔记35:企业级监控Nagios实践(下)
  • 原文地址:https://www.cnblogs.com/anke-z/p/12363992.html
Copyright © 2020-2023  润新知