1.Scanner类 (Scanner类是在java.util包下的,需要导包,而在java.lang包下,如String则不用导包)
1.1Scanner类是java里面已经创建的类,里面已经有了多个成员方法。
使用步骤: 1.导包:
import 包路径.类名称
2.创建对象:
类 对象 = new 类();
3.使用:
Scanner in=new Scanner(System.in);
int a=in.nextInt();
总结: 我们在键盘输入的其实都是字符串在Scanner用 in.nextInt方法将字符串"32’转化为32
1.2 Scanner练习:比较三个数大小
Scanner in=new Scanner(System.in);
//System.in等于从键盘输入。
System.out.println("请输入第一个数字:");
int a=in.nextInt();
System.out.println("请输入第一个数字:");
int b=in.nextInt();
System.out.println("请输入第一个数字:");
int c=in.nextInt();
int max=a>b? a:b;
int max1=max>c ?max:c;
System.out.println("最大的数字为:"+max1);
2.匿名对象:
我们知道:在调用类的成员变量和成员方法时,都要创建一个对象。但是,如果有一个对象只使用唯一的一次就可以使用匿名对象。
匿名对象只有右边的对象,没有左边的数字和赋值运算符。
常规: person a=new person();
匿名 : new person();
class a
{
String name;
void showname()
{
System.out.println("我叫"+name);
}
}
public class Anoymouns {
void name()
{
System.out.println();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
a a=new a();
//匿名对象
a.name="小明";
new a().showname();
//我叫null
//每一个对象都有独立的空间。所以a.name调用和匿名对象调用的不是同一个。
}
}
2.1 匿名对象作为方法的参数和返回值都是可以的。
package Scanner.Scanner1;
import java.util.Scanner;
public class Anoymousduixiang {
public static void showint(Scanner in)
{
int number =in.nextInt();
System.out.println(number);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
//正常使用Scanner
Scanner in=new Scanner(System.in);
int a=in.nextInt();
//匿名对象
int b=new Scanner(System.in).nextInt();
//使用一般方法传递参数
// Scanner in=new Scanne(System.in);
showint(in);
//使用匿名对象来传参
showint(new Scanner(System.in));
//用匿名对象调用成员方法**
//**将方法的参数作为返回值
Scanner sc=methodreturn(); //sc得到了Scanner 类的地址值,就可以调用Scannner类的成员方法。
int numbers=sc.nextInt();
System.out.println(numbers+" 111");
}
/* **方法 */public static Scanner methodreturn()
{
Scanner in=new Scanner(System.in);
return in;
}
}
由此可以知道,对象能调用类里面的成员方法和成员变量有两种创建方式
- 类 对象= new 类();
- 类 对象 =跟类是同一类型的成员方法的返回值
如:
//**将方法的参数作为返回值(返回的是类的地址值)
Scanner sc=methodreturn(); //sc得到了Scanner 类的地址值,就可以调用Scannner类的成员方法。
int numbers=sc.nextInt();
System.out.println(numbers+" 111");
}
/* **方法 */public static Scanner methodreturn()
{
Scanner in=new Scanner(System.in);
return in;
}
3 random类的运用
1.导包:
import 包路径.类名称
2.创建对象:
类 对象 = new 类();
3.使用:
package Scanner.Scanner1;
import java.util.Random;
import java.util.Scanner;
public class randomlei {
public static void main(String[] args) {
// TODO Auto-generated method stub
//获取全范围随机数
Random a=new Random();
int num=a.nextInt();
System.out.println("随机数是多少:"+num);
//题目: 根据int变量的值,来获取随机数字,范围是[1,n]
for(int i=0;i<10;i++)
{
int a1=(int)((Math.random()*10+1));
System.out.print(+a1+" ");
}
//或者
for(int i=0;i<10;i++)
{
int num1=new Random().nextInt(10)+1;
System.out.println(num1);
}
}
}
练习:猜数游戏:
Scanner in=new Scanner(System.in);
//猜数游戏:
int numbers=new Random().nextInt(100)+1;
int x=in.nextInt();
while(true)
{
if(x>numbers)
{
System.out.println("猜大了,范围再小一点");
}
else if(x<numbers)