目录
1. 输入输出方法
Java中输入和输出是属于Scanner类里面的方法,如果要使用这两种方法需要引用Scanner类。
import java.util.Scanner;
java.util 是Java里面的一个包,里面包含一些工具还有其他内容,Scanner是包里面的工具类。
1.1 输入方法
下面是用Scanner类定义的一个名为sc的实例对象,System.in是从键盘上读取输入的内容,new Scanner相当于一个扫描器,将读取的内容扫描一遍,Scanner类作用是解析数据类型和字符串,将扫描到的内容存到缓冲区。
Scanner sc = new Scanner(System.in);
接下来要根据键盘输入的数据类型来调用相应的方法。
输入整型:
调用了Scanner里面的nextInt();方法,将缓冲区的整型读取出来,存储到整型变量a里面。
int a = sc.nextInt();
byte b = sc.nextByte();
short c = sc.nextShort();
long d = sc.nextLong();
输入浮点型:
float a = sc.nextFloat();
double b = sc.nextDouble();
输入布尔类型:
boolean a = sc.nextBoolean();
输入字符串:
//第一种
String a = sc.next();
//第二种
String b = sc.nextLine();
第一种用的.next方法,当它在读取字符串时候遇到空格会停止读取空格后面的,
第二种用的.nextLine方法,它会读取一行的内容,空格也会读取。
例如:
输入ab cde,第一种读取到的是:ab ,第二种读取到的是:ab cde 。
还有一种情况需要注意:
Scanner sc = new Sacnner(System.in);
//读取整型
int a = sc.nextInt();
System.out.println(a);
//清空缓存区
sc.nextLine();
//读取字符串
String b = sc.nextLine();
System.out.println(b);
上述代码在你第一次输入一个数字50后按下回车,此时缓存区里面有50和回车,第一次读取整型只会读走50,余下回车,如果不清空缓存区,会导致你还未用键盘输入字符串,系统直接从缓存区读取回车字符,并输出,结束程序,所以需要清空缓存区。
1.2 输出方法
在Java中有三种输出方式:
//输出并换行
System.out.println();
//输出不换行
System.out.print();
//输出不换行
System.out.printf();
第一种print直接输出不换行,
第二种println输出后并换行,
第三种printf跟C语言的输出差不多,用占位符对应数据类型来输出。
int a =10;
System.out.printf("%d",a);
输出就是:10
2. 猜数字游戏
首先需要生成一个随机数,这里用到Java里面的一个类random,里面的方法nextInt();生成一个伪随机数。
伪随机数是自一个名为“种子”的值的基础上根据一些规则计算得到的值,“种子”不变生成的随机数不变,所以生成的是伪随机数。
import java.util.Random;
public class test{
public static void main(String[] args){
Random ran = new Random();//括号里面参数是种子的值,如果为空,默认值为系统时间
int a = ran.nextInt(100);//生成伪随机数范围[0,100);
}
}
上面先引用util包里面的Random类,再设置种子的值,默认值为系统时间,在不断变化,下面用Random类里面的nextInt(a)方法,生成范围为[0,a)的随机值。
游戏代码如下:
public class test {
public static void main(String[] args) {
//猜数字游戏
Scanner sc = new Scanner(System.in);
Random ran = new Random();//种子是系统时间
int b = ran.nextInt(100);//生成伪随机数范围[0,100);
while(true){
System.out.println("请输入你要猜的数字:");
int a = sc.nextInt();
if(a > b){
System.out.println("猜大了");
}else if(a < b){
System.out.println("猜小了");
}else{
System.out.println("猜对了");
break;
}
}
}
}