写点什么

一文带你了解 Java 中的 Scanner 键盘输入关键字、random 随机数关键字、System 类和匿名函数

作者:几分醉意.
  • 2022-10-26
    安徽
  • 本文字数:3396 字

    阅读完需:约 11 分钟

一文带你了解Java中的Scanner键盘输入关键字、random 随机数关键字、System类和匿名函数

Scanner 键盘输入

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


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


1.导包 import 包路径.包名称如果需要使用目标类,和当前类位于同一个包下,则可以省略导包语句不写。只有 java.long 包下的内容不需要导包,其他的包都需要 imrort 语句。


2. 创建

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


3. 使用 对象名.成员方法名;

获取键盘输入的一个 int 数字: int 变量名 = 对象名.nextInt();获取键盘输入的一个字符串:String 变量名 = 对象名.next();


举例配合理解:


import java.util.Scanner; // 1. 导包  万年不变
public class day1 { public static void main(String[] args) { // 2. 创建 // 备注:System.in 代表从键盘输入 现阶段不变写法 Scanner sc = new Scanner(System.in);
//3. 获取键盘输入的int数字 int num = sc.nextInt(); System.out.println("输入的数字是:"+num);
//4.获取键盘输入的字符串 String str = sc.next(); System.out.println("输入的字符串是:"+str); }}
复制代码

练习一

题目:键盘输入两个 int 数字,并求出和值


/*思路:1. 既然要键盘输入,就用Scanner2. Scanner的三个步骤:导包、创建、使用3. 需要的是两个数字,所以要调用两次nextInt方法4. 得到了两个数字,就需要加在一起5. 将结果打印输出 */
import java.util.Scanner;
public class 练习一 {
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 c= a+b; System.out.println("结果是:"+c); }
复制代码

练习二

题目: 键盘输入三个 int 数字,然后求出其中的最大值


/*思路:1. 既然要键盘输入,就用Scanner2. Scanner的三个步骤:导包、创建、使用3. 需要的是三个数字,所以要调用三次nextInt方法,得到三个int变量4. 无法同时判断三个数字谁最大,应该转换成为两个步骤    4.1 首先判断出前两个当中谁最大,拿到前两个的最大值    4.2 拿着前两个的最大值,再和第三个数字比较,得到三个数字当中的最大值5. 将结果打印输出 */
import java.util.Scanner;
public class 练习2 { 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);
}}
复制代码

random 随机数

Random 类用来生成随机数字。


使用起来也是三个步骤:


1.导包 import java.util.Random;


2.创建 Random r = new Random(); //小括号当中留空即可


3.使用获取一个随机的 int 数字(范围是 int 所有范围,有正负两种): int num=r.nextInt()获取一个随机的 int 数字(参数代表了范围,左闭右开区间):int num=p.nextInt(3),实际上代表的含义是:[0,3),也就是 0~2


举例配合理解:



import java.util.Random;
public class day01 { public static void main(String[] args) { Random so = new Random(); int num = so.nextInt(); System.out.println(num);
for (int i = 0; i < 10; i++) { int aa = so.nextInt(50); //实际范围是0——49 System.out.println(aa); }
}}
复制代码

练习一

题目:生成 1-n 之间的随机数



import java.util.Random;
//题目:生成[1-n]之间的随机数public class 练习一yi { public static void main(String[] args) { int n = 5; Random aa = new Random(); for (int i = 0; i < 10; i++) { int num = aa.nextInt(n)+1; //本来范围是[0-n),整体加1后变成[1-n+1),也就是[1-n] System.out.println(num); }
}}
复制代码

System 类

java.lang.System 类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作,在 System 类的 API 文档中,常用的方法有:public static long currentTimeMillis():返回以毫秒为单位的当前时间。public static void arraycopy(Object src , int srcPos , Obiect dest , int destPos , int length):将数组中指定的数据拷贝到另一个数组中。


public class 常用方法 {    public static void main(String[] args) {        demo02();    }
private static void demo01() { /* public static long currentTimeMillis():返回毫秒为单位的当前时间 用来测试程序的效率 例:验证for循环打印数字1-9999所需要的时间(毫秒) */ //程序执行前获取一次毫秒值 long l = System.currentTimeMillis(); for (int i = 0; i < 9999; i++) { System.out.println(i); } //程序执行后获取一次毫秒值 long l1 = System.currentTimeMillis(); System.out.println("程序共耗时:"+(l1-l)+"毫秒"); }
private static void demo02() { /* public static void arraycopy(Object src,int srcPos,Object dest,int desPos,int length): 将数组中指定的数据拷贝到另一个数组中 参数: src: 源数组 srcPos: 源数组中的起始位置(起始索引) dest: 目标数组 destPos: 目标数组中的起始位置(起始索引) Length: 要复制的数组元素的数量
练习: 将src数组中前三个元素,复制到dest数组的前三个位置上 复制元素前:src数组[1,2,3,4,5]; dest数组[6,7,8,9,10] 复制元素后:src数组[1,2,3,4,5]; dest数组[1,2,3,9,10] */ //定义源数组 int src [] = {1,2,3,4,5}; //定义目标数组 int dest[] = {6,7,8,9,10}; System.out.println(Arrays.toString(dest));//复制前 [6, 7, 8, 9, 10] //使用System类的arraycopy方法,把源数组的前三个元素复制到目标数组的前三个位置 System.arraycopy(src,0,dest,0,3); System.out.println(Arrays.toString(dest)); //复制后[1, 2, 3, 9, 10] }}
复制代码

匿名函数

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


格式:new 类名称();


注意事项:匿名对象只能使用唯一一次,下次再用不得不再创建一个新对象。


使用建议:如果确定有一个对象只需要使用唯一的一次,就可以用匿名对象。


举例深刻理解:


public class 匿名对象 {
public static void main(String[] args) { //普通使用方式 Scanner sc = new Scanner(System.in); int nuw = sc.nextInt();
//匿名对象使用格式 int num =new Scanner(System.in).nextInt(); System.out.println("输入的是:"+num);
//使用一般写法传入参数 Scanner sc = new Scanner(System.in); mettodparam(sc);
//使用匿名对象传参 mettodparam(new Scanner(System.in));
//接收匿名对象返回值 Scanner sc= methodReturn(); int num = sc.nextInt(); System.out.println("输入的是:"+num); }
//Scanner作为参数 public static void mettodparam(Scanner sc){ int num = sc.nextInt(); System.out.println("输入的是:"+num); }
//Scaanner 作为返回值 public static Scanner methodReturn(){// Scanner sc = new Scanner(System.in);// return sc; return new Scanner(System.in); }}
复制代码


发布于: 刚刚阅读数: 3
用户头像

几分醉意.

关注

还未添加个人签名 2022-10-22 加入

还未添加个人简介

评论

发布
暂无评论
一文带你了解Java中的Scanner键盘输入关键字、random 随机数关键字、System类和匿名函数_Java、_几分醉意._InfoQ写作社区