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);
}
}
}
网友评论