API:即Application programming Interface,应用编程接口。
Java中封装了许许多多的API供用户使用,Scanner与Random便是其中之一,API实际就是类,已经封装好了Scanner类,Random类,我们只需按照其语法编写即可,无需了解其根本源代码
Scanner类:
1.使用Scanner类需导入其所在包,import java.util.Scanner或import java.util.*(前者是导入util中的Scanner类,后者是导入util中的所有类)
2.创建对象 Scanner 对象名=new Scanner(System.in) //System.in代表来源是键盘(大多数情况)
3.使用对象并调用其方法 对象名.nextxx() //根据接受类型不同,调用不同方法
1 import java.util.Scanner; 2 //从键盘输入三个数,输出最大值 3 public class ScannerDemo { 4 public static void main(String[] args) { 5 Scanner s=new Scanner(System.in); 6 int num=s.nextInt(); 7 System.out.println(num); 8 String str=s.next(); 9 System.out.println(str); 10 int a=s.nextInt(); 11 int b=s.nextInt(); 12 int c=s.nextInt(); 13 int max=a>b?a:b; 14 int endmax=c>max?c:max; 15 System.out.println(endmax); 16 17 } 18 }
整形---nextInt(),字符串--next(),浮点型--nextFloat()......
Random类
1.导包 import java.util.Random或import java.util.*(前者是导入util中的Random类,后者是导入util中的所有类)
2.创建 Random r=new Random()
3.使用
1 import java.util.Random; 2 import java.util.Scanner; 3 //猜随机数,只有五次机会 4 public class DemoRandom { 5 public static void main(String[] args) { 6 Random r=new Random(); 7 Scanner s=new Scanner(System.in); 8 int res=r.nextInt(100);//[0,100) 9 System.out.println(res); 10 int i=0; 11 while (i<5){ 12 System.out.println("请输入猜的数字,我们帮你判断"); 13 int num=s.nextInt(); 14 if(num>res){ 15 System.out.println("大了哦"); 16 i++; 17 continue;} 18 else if(num<res){ 19 System.out.println("小了"); 20 i++; 21 continue; 22 } 23 else { 24 System.out.println("猜对了"); 25 i++; 26 break; 27 } 28 } 29 if(i==5) 30 System.out.println("你的次数用完了"); 31 else 32 System.out.println("恭喜,你用了"+i+"次"); 33 34 } 35 }
对象名.方法()//r.nextInt()即随机产生一个整形范围的数字------------------r.next(n)//随机产生一个[0,n)之间的数值(左闭右开)
匿名对象:即无需给对象起名字,只能使用一次,下次再使用又是一个新的匿名对象,可作函数的形参,函数返回值(new 类名())
1 import java.util.Scanner; 2 3 /*匿名对象作形参,返回值 4 */ 5 public class DemoAnonymous { 6 public static void main(String[] args) { 7 meth(new Scanner(System.in)); 8 Scanner s=meth2(); 9 int num=s.nextInt(); 10 System.out.println(num); 11 } 12 public static void meth(Scanner sc){ 13 int num=sc.nextInt(); 14 System.out.println(num); 15 } 16 public static Scanner meth2(){ 17 return new Scanner(System.in); 18 } 19 }
7行为匿名对象作为形参,17行返回一个匿名对象。