常用API---Scanner,匿名对象的定义及理解,Random,Arraylist

1.Scanner()

目的:实现键盘输入数据到程序当中

package demo01;
//导包
import java.util.Scanner;

//基本使用步骤
/*
 *   1.导包
 *   import 包路径.类名称
 *   如果使用的目标类和当前类位于同一个包下,则可以省略导包语句不用写
 *   只有java.lang下的包不用导包比如说String,其他下的包都需要import语句。
 *   2.创建
 *   类名称 对象名 = new 类名称();
 *   3.使用
 *   对象名.成员方法名
 *   比如说要获取键盘输入的一个int型数字,int num = sc.nextInt();这个是有返回值的,需要num去接收它
 *   比如说要获取键盘输入的一个字符串,   String str = sc.next(); 
 * */
// 通过键盘输入三个数,求出他们中的最大值
public class demo02Scanner {
    public static void main(String[] args) {
        Scanner sca=new Scanner(System.in);//创建
        System.out.println("请输入第一个数字");
        int a=sca.nextInt();//获取键盘输入的第一个数字
        System.out.println("请输入第二个数字");
        int b=sca.nextInt();
        System.out.println("请输入第三个数字");
        int c=sca.nextInt();
        int temp = a>b?a:b;
        int max = temp>c?temp:c;
        System.out.println("三个数中的最大值:"+max);
    }
}

2.匿名对象

定义:只有右边的对象,没有左边的名字和赋值运算符(没有名字的对象)
//对象的标准格式:类名称   对象名称 = new 类名称();
Student stu = new Student();//-----1
stu.name();//-----2
//匿名对象:new 类名称();
new Student();//用匿名对象表示以上1行代码
new Student().name();//用匿名对象表示以上2行代码
/*匿名对象的使用方法
1.当对象对方法只调用一次的时候,就可以使用匿名对象;
注意:匿名对象只调用方法,不调用属性,调用属性无实际的引用变量。
new Student().name();
因为匿名对象只在堆内存中产生空间,却没有把地址值赋值给栈内存的某个变量用以存储,根据堆的工作原理,被使用后没有其他引用该匿名对象,该匿名对象就回被自动回收,就消失了
2.匿名对象可以作为实际参数传递;
school(Student());
*/
package demo01;
//导包
import java.util.Scanner;
public class demo03Anonymous {
    public static void main(String[] args) {
        //匿名对象的正常使用方式
        int num =new Scanner(System.in).nextInt();
        System.out.println("输入的数字为:"+num);
        //1.匿名对象作为参数传递
        //1.getAno(new Scanner(System.in));
        Scanner num = retAno();//匿名对象作为返回值传递
        int a= num.nextInt();
        System.out.println("输入的数字为:"+a);
    }
/*   1.
    public static void getAno(Scanner sc){
        int num =sc.nextInt();
        System.out.println("输入的数字为:"+num);
    }
 */
    public static Scanner retAno(){
        return new Scanner(System.in);
    }
}
/*
思路:
1.匿名对象作为参数传递时,方法调用之前就已经赋值好,方法调用的就是匿名对象的参数
2.匿名对象作为返回值传递时,方法的调用之前并没有赋值给变量,方法调用的只是对象,传递后再赋值
*/

3.Random

目的:获取随机数

package demo01;
//导包
import java.util.Random;
//获取int范围的随机数
public class demo04Random {
   /* public static void main(String[] args) {
        Random r=new Random();//创建对象
        int num=r.nextInt();//使用用对象
        System.out.println("随机数字:"+num);
    }
   */
   //获取0-9的随机数
        public static void main(String[] args) {
        Random ra=new Random();
        int num1=ra.nextInt(10);//表示的是从[0,9)获取随机数并赋值给num1
        //int num1=ra.nextInt(10)+1; 表示的是[1,10]
        System.out.println("获取0-9之间的随机数:"+num1);
    }
}

通过Random猜1-100之间数字游戏

public class demo05RandomGame {
	//导包
	import java.util.Random;
	import java.util.Scanner;
    /*
    猜数字游戏思路:
    1,首先获取一个随机值;
    2,输入数字猜测这个随机值;
    3.判断输入数字和随机值的大小;
    两种循环的条件  >    <
    相等时停止循环 ==
    */
    public static void main(String[] args) {
        Random r =new Random();
        int n =r.nextInt(100)+1;
      while (true){
          Scanner sc=new Scanner(System.in);
          int num=sc.nextInt();
          if (n>num){
              System.out.println("太小啦");
          }else if (n<num){
              System.out.println("太大啦");
          }else {
              System.out.println("恭喜你,答对啦");
              break;
          }
      }
        System.out.println("游戏结束");
    }
}

4.Arraylist

package demo01;

import java.util.ArrayList;
/*
数组的长度是不可以改变的;
但是Arraylist集合的长度可以随便改变;
Arraylist<>表示泛型,泛型就是参数类型要和<>里的类型保持一致;
常用的几个方法:
1.public boolean add(E e);往集合中添加元素,返回值是ture,表示添加成功;
2.public E get(int index);从集合中获取元素,返回值为所获取元素,参数为索引;
3.public E remove(int index);从集合中删除元素,参数为所删除元素对应得索引;
4.public int size();获取集合的长度;
*/
public class demo06ArrayList {
    public static void main(String[] args) {
        ArrayList<String> list=new ArrayList<>();//创建一个Arraylist集合的使用格式
        System.out.println(list);
        list.add("李白");
        list.add("杜埔");
        list.add("李煜");
        System.out.println(list);
        String name = list.get(1);//获取索引为1的元素
        System.out.println(name);
        String delete = list.remove(2);//删除索引为2的元素
        System.out.println(list);
        int length = list.size();//获取集合的长度
        System.out.println(length);
    }
}
/*以上代码运行结果
[]
[李白, 杜埔, 李煜]
杜埔
[李白, 杜埔]
2
*/

Arraylist+Random的练习
package demo2;
//导包
import java.util.ArrayList;
import java.util.Random;
//题目:获取1-33的6个随机数,添加到集合,并遍历
public class Arraylistonetothirtythree {
    public static void main(String[] args) {
        ArrayList<Integer> list=new ArrayList<>();//创建集合
        Random r =new Random();//创建随机数
        for (int i = 0; i < 6 ; i++) {//循环6次
            int num =r.nextInt(33)+1;//在1-33的范围里抽取随机数,并赋值给num
            list.add(num);//把num添加到集合
        }
        System.out.println(list);
        for (int i = 0; i <list.size() ; i++) {//遍历数组
            System.out.println(list.get(i));

        }
    }
}
/*
代码运行结果
[15, 20, 7, 9, 7, 15]
15
20
7
9
7
15
*/
综合题
package demo2;
//导包
import java.util.ArrayList;
import java.util.Random;
//题目:从1-100抽取20个随机数,并将20个随机数中的偶数筛选出来
public class demo04ArraylistReturn {//创建一个1-100之间20个随机数的大集合
    public static void main(String[] args) {
        ArrayList<Integer> bigarray = new ArrayList<>();
        for (int i = 0; i < 20; i++) {
            Random r = new Random();
            int num = r.nextInt(100) + 1;
            bigarray.add(num);
        }
        System.out.println("偶数的个数为:"+smallarray(bigarray).size()+"个");
        System.out.println(smallarray(bigarray));//调用smallarray方法
    }

    //创建一个方法筛选出偶数并放入小集合中
    public static ArrayList<Integer> smallarray(ArrayList<Integer> bigarray) {
        ArrayList<Integer> small =new ArrayList<>();//创建小集合
        for (int i = 0; i < bigarray.size(); i++) {
            int numb= bigarray.get(i);
            if (numb%2==0){
                small.add(numb);//把大集合的偶数放入小集合
            }
        }
        return small;
    }
}
/*
运行结果
偶数的个数为:11个
[70, 90, 14, 72, 76, 92, 50, 16, 70, 86, 72]
*/
发布了3 篇原创文章 · 获赞 0 · 访问量 35

猜你喜欢

转载自blog.csdn.net/weixin_45527318/article/details/105149816