匿名对象
创建对象的标准格式:
- 类名称 对象名 = new 类名称();//如果需要参数就在小括号当中写上参数
- 匿名对象就是只有右边的对象,没有左边的名字和赋值运算符。
- new 类名称();
- 注意事项:
- 匿名对象只能使用唯一的一次,下次再用不得不再创建一个新对象。
- 使用建议:如果确定有一个对象只需要使用唯一的一次,就可以用匿名对象。
package NiMing;
public class Demo01Anonymous {//Anonymous匿名的意思
public static void main(String[] args){
//左边的noe就是对象的名字
Persor one = new Persor();
one.name = "高圆圆";
one.showName();//我叫高圆圆
System.out.println("========");
//匿名对象
new Persor().name = "赵又廷";
new Persor().showName();//我叫null
}
}
ackage NiMing;
public class Persor {
String name;
public void showName(){
System.out.println("我叫:" + name);
}
}
匿名对象:
匿名对象作为方法的参数和返回值都是可以。
import java.util.Scanner;
public class Demo02Anonymous {
public static void main(String[]args){
//普通使用方式
// Scanner sc = new Scanner(System.in);
// int num = sc.nextInt();
//匿名对象的方式
// int num = new Scanner (System.in).nextInt();
// System.out.println("输入的是:" + num);
//使用一般写法传入参数
// Scanner sc = new Scanner(System.in);
// methodParam(sc);
//使用匿名对象来进行传参
// 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(){
// Scanner sc = new Scanner(System.in);
// return sc;
return new Scanner(System.in);
}
}
Random 类:
Random类用来生成随机数字,使用起来也是三个步骤:
*
- 1,导包:
- import java.util.Random;
- 2,创建:
- 类名称 名字 = new 类名称();
- Random r = new Random();//小括号当中留空即可 ,随机数生成
- 3,使用:
- 获取一个随机的int数字(范围是int 所以范围,有正负的两种):
- int num = r.nextInt()
获取一个随机的int数字(参数代表范围,左闭右开区间):int num = r.nextIint(3)
- 实际上代表的含义是:左闭是[,右开),也就是[0, 3),也就是它们的范围0一直到2.
package Random;
import java.util.Random;
public class Demo01Random {
public static void main(String[] args){
Random r = new Random();
int num = r.nextInt();
System.out.println("随机数是:" + num );
}
}
ackage Random;
import java.util.Random;
public class Demo02Random {
public static void main(String[]args){
Random r = new Random();
for(int i = 0; i < 100; i++){
int num = r.nextInt(10);//范围实际是0-9
System.out.println(num);
}
}
}
练习题:
题目要求:
- 根据一个int变量n的值,来获取随机数字,范围是【1-n】,可以取到1也可以取到n ,左闭右开,但是0不要。
- 思路:
- 1,定义一个int变量n,随意赋值
- 2,要使用Random:三个步骤:导包,创建,使用
- 3,如果写上10,那么就是09,然而想要的是110,可以发现:整体+1即可。
- 4,打印随机数字
package Random;
import java.util.Random; //记住要导包
public class Demo03Random {
public static void main(String[]args){
//定义一个int 变量 假设 = 5,
int n = 5;
Random r = new Random();
for(int i = 0; i < 100; i++){
//n的范围是 :[0~n-1)那么我在范围外+1 ,也就是整体+1之后就变成了 //[1,n+1),也就是[1,n],如果+1写在小括号里面,也就是(n+1)
//这样只是范围据变大了,
int result = r.nextInt(n) + 1;
System.out.println(result);
}
}
}