今天周末,起的晚了点,还看了点别的科目的书,所以相对学的少了点。
一、Scanner类
看到之后不太理解,去B站和菜鸟教程看了一下,是属于输入的一个类,可以通过 Scanner 类来获取用户的输入。
属于引用类型,创建的时候需要固定格式:
数据类型 变量名 =new 数据类型();
步骤:
1.需要导入所在的包,导包格式:import java.util.Scanner;
2.创建对象 Scannner sc = new Scanner(System.in);
3.获取输入的字符串String str=sc.nextLine();
下面这个是使用方法的一个小练习:
package com.xiaobai;
//经典练习就是姓名,年龄的输入与输出
//第一步:导包
import java.util.Scanner;
//第二步;创建对象
public class ScannerDemo {
public static void main(String[] args) {
//类名称 别名 = new 类名称(System.in);
Scanner scanner=new Scanner(System.in);
System.out.println("请输入姓名:");
//调用方法:别名,方法名称()
String name=scanner.nextLine();
System.out.print("请输入年龄:");
int age=scanner.nextInt();
System.out.println("学生姓名:"+name+" "+"年龄:"+age);
}
}
测试结果:
这里面有个next()可以用来控制输入后读取什么内容
next() 与 nextLine() 区别
next():
- 1、一定要读取到有效字符后才可以结束输入。
- 2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
- 3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
- next() 不能得到带有空格的字符串。
nextLine():
- 1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
- 2、可以获得空白。
也就是说输出的内容由这个 next() 把控,还有其他类型的Scanner类也都有支持。
二、Random类
1.random() 方法用于返回一个随机数,随机数范围为 0.0 =< Math.random < 1.0。
2.步骤和上面一个基本类似:
1.导包:Import java.util.Random;
2.创建对象:Random ran=new Random();
3.获取一个[a,b)的随机数:int a =rand .naxtInt(b-a+1)+a;
例如:
获取随机整数范围是[0,50):int a =ran.nextInt(50);
获取随机小数范围是[0,1):double b=ran.nextDouble();
3.小练习:
输入一个整数范围,随机抽取一个数:
package com.xiaobai;
import java.util.Random;
import java.util.Scanner;
public class RandomDemo {
public static void main(String[] args) {
//经典再现,创建对象
Random ran=new Random();
//学以致用,上面刚学的Scanner类的运用
Scanner scanner=new Scanner(System.in);
System.out.print("请输入起始数值:");
int a=scanner.nextInt();
System.out.print("请输入结尾数值:");
int b=scanner.nextInt();
//if…else…语句,加了点保险,防止后面的数字比前面大报错
if(b<a) {
//输出了,程序也终止了,觉得还可以改进,后面学了更多再来改进
System.out.print("输入错误,请重新输入!");
}else{
//获取一个随机数
int A=ran.nextInt(b-a+1)+a;
System.out.print(A);
}
}
}
觉得这个代码还挺好看
测试结果:一年中的幸运日
对保险的测试:
好了,今天就到此为止了,看似只有两个简单类,其实为了第二个小练习还复习了控制语句,了解了返回值的知识,不过打算下次再总结。今天是周末,答应和她打游戏的,就先到这里,拜拜啦!