美文网首页
一常用 API ——第一节、Scanner类 和匿名对象

一常用 API ——第一节、Scanner类 和匿名对象

作者: 杜艳_66c4 | 来源:发表于2022-05-06 22:00 被阅读0次

Scanner类的功能:可以实现键盘输入数据,到程序当中
引用类型的一般使用步骤
1、导入包,位置
import 包路径.类名称;
如果需要使用的目标类,和当前类位于同一个包下,则可以省略导包语句不写。
只有java.lang包下的内容不需要导包,其他都需要import语句,比如String在java.lang包下,
2、创建一个对象,
类名称 对象名= new 类名称();
看其构造方法,默认的有
3、使用.调用方法
对象名.成员方法名()

绿色代表键盘输入的,黑色代表程序输出的

package scannerdemo;

import java.util.Scanner;  //1、、导包

//Scanner类的功能,可实现键盘输入数据,到程序当中
//3、 获取键盘输入的一个int数字,有返回值, int num  = sc.nextInt();
//获取键盘输入的字符串String,String str = sc.next();
public class DemoScanner {
    public static void main(String[] args) {
        //2、创建,这句是万年不变的,System.in 代表从键盘输入
        Scanner sc = new Scanner(System.in);
     //3、获取键盘输入的数字和字符串
        int num = sc.nextInt();
        String str  = sc.next();
        System.out.println(num + str);
    }

}

2、 从键盘输入两个数,求和

思路:
1、既然需要键盘输入,就用Scanner
2、Scanner的三个步骤:导包,创建,使用
3、需要两个数字,所以要调用两次Scanner方法
4、得到两个数字,加在一起
5、将结果打印出来

package scannerdemo;

import java.util.Scanner;
//题目:从键盘输入两个数,求和。
public class SumScanner {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("输入第一个:");
        int a = sc.nextInt();
        System.out.println("输入第二个:");
        int b = sc.nextInt();
        int sum = a+b;
        System.out.println(sum);
    }
}

3、从键盘输入三个数,求最大的

思路:
1、Scanner 三步骤,
2、三个数字,调用三次nextInt(),得到三个变量
3、无法同时判断三个数字,应转换为两个步骤
3.1 首先判断前两个中最大,拿到最大的
3.2 拿着前两个最大,和第三个比较

package scannerdemo;

import java.util.Scanner;

public class MaxScanner {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("第一个");
        int a = sc.nextInt();
        System.out.println("第二个");
        int b = sc.nextInt();
        System.out.println("第三个");
        int c = sc.nextInt();

        //首先拿到前两个最大的
        int temp = a > b ? a : b;
        int max = temp > c ? temp : c;
        System.out.println("最大:" + max);
    }

}

匿名对象:没有名字的对象叫匿名对象

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

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

package scannerdemo;

import com.sun.tools.javac.code.Attribute;

import java.util.Scanner;

public class Anonymous {
    public static void main(String[] args) {
        //匿名对象,只使用一次
        // int num = new Scanner(System.in).nextInt();
        //使用匿名对象传参
        methodParam(new Scanner(System.in));
        
        Scanner sc = methodReturn();
        int num = sc.nextInt();
        System.out.println("输入的是" + num);

    }
    public static void methodParam(Scanner sc){
        int num = sc.nextInt();
        System.out.println("输入的是" + num);
    }
    public static Scanner methodReturn(){
        return new Scanner(System.in);
    }


}
package cn.day07.demo02;

public class Demo01Anoymous {
    public static void main(String[] args) {
       //标准格式,左边的one就是对象的名字
       Person one =new Person();
       one.name  = "dyy";
       one.showName(); //诶我的名字是:dyy

        System.out.println("__________");
        //匿名对象, 把yy交给匿名对象的name这一个值
        new Person().name  = "yy";
        new Person().showName(); // 诶我的名字是:null, 这里new了三次,所以匿名对象只能使用一次,下次再用不得在创建一个新对象
//使用建议:如果确定一个对象,确定只需要使用一次,就是用匿名对象。

    }
}

匿名对象作为方法的参数

package cn.day07.demo02;

import java.util.Scanner;

//匿名对象作为方法的参数
public class Demo02Anoymous {
    public static void main(String[] args) {
        //普通使用
      /*  Scanner scanner = new Scanner(System.in);
        scanner.nextInt();*/
       /* // 匿名对象的方式
        int i = new Scanner(System.in).nextInt();
        System.out.println("输入:" + i);*/

        //一般方法传入参数
        /*Scanner scanner = new Scanner(System.in);
        methodParam(scanner);*/

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

        //匿名对象作为方法的返回值
        Scanner sc = methodReturn();
        int i = sc.nextInt();
        System.out.println("输入的是:" + i);


    }
    public static void methodParam(Scanner sc){
        int i = sc.nextInt();
        System.out.println("输入的是:" + i);

    }

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

random随机数, 要1-n之间的数字

package randomdemo;

import java.util.Random;

public class demo1 {
    public static void main(String[] args) {
        /*Random sc = new Random();
        int num = sc.nextInt();
        System.out.println(num);*/
        //题目:根据变量n的值,获取随机数字,[1~n] 。
        //注意:nextInt(n) ,是左闭右开,且从0~n-1 的。。思路:加一
        int n = 5;
        Random sc = new Random();
        for (int i = 0; i < 5; i++) {
            int num = sc.nextInt(5) + 1;
            System.out.println(num);
        }

    }
}

相关文章

网友评论

      本文标题:一常用 API ——第一节、Scanner类 和匿名对象

      本文链接:https://www.haomeiwen.com/subject/xdzxtktx.html