Java匿名对象集合随机数
常用的API:
应用程序编程接口,程序员字典,好多类,好多方法,jdk提供好的现成的类1.6版本简体中文版包路径-----构造方法-----方法摘要
Scanner: 引用类型 导包--创建--使用可以实现键盘输入数据到程序当中;导包:import 包路径 类名称;如果需要使用的目标和当前类属于同一个包下,可以省略导包语句不写只有java.long包下的内容不需要导包,其他都需要创建: 类名称 对象名 = new 类名称();Scanner sc(input)变量名称 = new Scanner(System.in);使用:对象名.成员方法名(); import java.util.Scanner;Scanner sc=new Scanner(System.in); * System.in代表从键盘输入int age = sc.nextInt(); 可以接收多种数据类型
====================================
public class Api {public static void main(String[] args) {//键盘录入两个数字求和./** 键盘录入两个数字,定义一个方法,参数传换这两个数字* 定义一个带参有返回值的和一没有返回值的。*/Scanner input = new Scanner(System.in);System.out.println("请输入顶一个数字");int a = input.nextInt();System.out.println("请输入第二个数字");int b = input.nextInt();int result = sum(a,b);System.out.println("结果是"+result);sub(a,b);}public static int sum(int a,int b){return a+b;}public static void sub(int a,int b) {System.out.println("差是"+(a-b));}
}------------------------------------------------------
/** 键盘录入三个数字求最大值:* 键盘录入三个数字,进行接收* 使用三元运算比较两次,第一次a和b进行比较,得出来的变量在和c进行比较* 输出结果* * 定义一个比较的方法* 使用三元运算先比较一次* 然后使用if()判断在进行比较直接输出和返回结果都一样* 返回结果一定要定义一个变量来接收。* */
public class ScannerTest {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);//方法二int result = max(a,b,c);System.out.println("最大的是"+result);}public static int max(int a,int b,int c){int temp=a>b?a:b;if(temp>c){return temp;}else{return c;}}}
匿名对象:
当对象只调用一次的时候使用Random: 产生随机数的.导包: import java.util.Random创建: Random r = new Random();使用: 获取一个随机的int数字: int num = r.nextInt(); 范围是int所有范围
===================================
/** 自定义对象Person* */
public class Person {private String name;private int age;public Person() {// super();}public Person(String name, int age) {super();this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public void show(){System.out.println("我叫"+name+"今年"+age);}} -----------------------------------
/** 匿名对象:* 创建对象的标准格式* 类名称 对象名 = new 类名称();* * 匿名对象只有右边的对象,没有左边的名字和赋值运算符.* 匿名对象只能使用一次.* 如果确定只需要使用唯一一次,那么就可以使用匿名对象.* */
public class Anonymous {public static void main(String[] args) {Person ps = new Person();ps.setAge(18);ps.setName("张天爱");System.out.println(ps.getAge());System.out.println(ps.getName());ps.show();//匿名对象//设置不进去,因为匿名对象使用的时候仅仅方法只调用一次,方法调用结束就会消失.//这是三个全新的对象,每个地址自都不一样.new Person().setAge(18);new Person().setName("张无忌");new Person().show();}}--------------------------------------
import java.util.Scanner;// 匿名对象作为方法的参数和返回值:
public class Anonymous02 {public static void main(String[] args) {// TODO Auto-generated method stub//普通使用的方式
// Scanner sc = new Scanner(System.in);
// System.out.println("请输入第一个数");
// int num = sc.nextInt();
// System.out.println("第一次输入的是"+num);
//
// //匿名对象的方式
// System.out.println("请输入");
// int num1 = new Scanner(System.in).nextInt();
// System.out.println("输入的是"+num1);//一般写法.
// Scanner input = new Scanner(System.in);
// methodParam(input);//匿名对象的写法来进行传参System.out.println("请输入第一个数字");//在这匿名对象进行输入,下面接收这个数据的变量是什么类型就输入什么类型 methodParam(new Scanner(System.in));//返回值是一个Scanner对象//接收这个Scanner对象,这个对象 返回值是一个数字,接收数字.Scanner sc = methodReturn();//返回的是一个扫描仪对象,接收这和个对象的类型是int,所以只能输入数字int num = sc.nextInt();System.out.println("输入的是???"+num);}//匿名对象作为方法的参数public static void methodParam(Scanner sc){String num = sc.next();System.out.println("输入的字符串"+num);}public static Scanner methodReturn(){// Scanner sc = new Scanner(System.in);
// return sc;//返回一个键盘输入的对象;return new Scanner(System.in);}}
对象数组:存储对象的容器;存放对象信息的地址值;
集合类 : ArrayList类
<>代表泛型,集合当中保存的类型都是地址值,基本数据类型没有地址值,所以不能保存基本数据类型;如果希望向集合ArrayList当中存储基本数据类型,必须使用基本数据类型的包装类Integer Byte Shot ........基本数据类型的包装类。 数组的长度不可以发生改变,但是ArrayList的长度是可以改变的.常用方法:public boolean add(E e) 向集合当中添加元素,参数类型和泛型一致;public E get(int index) 从集合当中获取(读取)元素,参数是索引编号,返回值是对应未知的元素;public E remove(int index) 从集合当中删除元素,参数是索引编号,返回值就是被删除的元素;public int size() 获取结合的长度,返回值就是集合当中元素的个数;集合的遍历for(int i=0;i<list.size();i++){System.out.println(list.get(i));}增强for循环。for(String string : list){System.out.println(string);}
=====================================
/** 定义一个数组;用来存储Person对象* 任何数据类型都可以作为数组;* 刚才我们也看过了定义一个集合,里面存储的是自定义的Person类型* 这个案例相同。*/
public class DemoArray01 {public static void main(String[] args) {Person[] array = new Person[3]; System.out.println(array[0]);//创建了三个person对象,这三个对象的地址值指向数组;Person one = new Person("张天爱",26);Person two = new Person("林志玲",46);Person three = new Person("笑面虎",56);//将地址值赋值给数组,赋值一定是右边的给左边的数字。array[0]=one;array[1]=two;array[2]=three;System.out.println(array[0]);System.out.println(array[1]);System.out.println(array[2]);//定义一个对象,接收数组中的元素对象,因为数组类型是Person,所以接收的时候也是PersonPerson person = array[1];//得到这个对象,我们也能得到这个对象中构造方法对应的参数内容。System.out.println(person.getName());}
}------------------------------------------------------
import java.util.ArrayList;
/** ArrayList:* 对于ArrayList来说,当中有一个<E>代表泛型* 泛型:也就是装在集合当中的元素全都是什么类型* 泛型只能是引用类型,不能是基本类型* * 注意事项:对于ArrayList来说,直接打印得到的不是地址值,而是内容* 如果内容是空,得到的是空的[];* * public boolean add(E e) 向集合当中添加元素,参数类型和泛型一致;* 对于ArrayList集合来说,add添加一定是成功的,所以返回值可用可不用.,但是对于其它集合,不一定成功.* public E get(int index) 从集合当中获取(读取)元素,参数是索引编号,返回值是对应未知的元素;* public E remove(int index) 从集合当中删除元素,参数是索引编号,返回值就是被删除的元素;* public int size() 获取结合的长度,返回值就是集合当中元素的个数;*/
public class ArrayListDemo01 {public static void main(String[] args) {//创建了一个集合,集合的名称是list,里面的内容全都是String//从jdk1.7开始右侧的尖括号可以不写内容,但是<>本身还是要保留的.ArrayList<String> list = new ArrayList<>();System.out.println(list);// [] 内容为空输出就是一个中括号, //向集合和当中添加数据,当其中有多个数据的时候,会用逗号隔开;//对象名称.方法名称 对象 list 方法名称 添加的方法add。boolean ss = list.add("古天乐");System.out.println("添加是否成功"+ss);System.out.println(list);list.add("张学友");list.add("刘德华");list.add("周杰伦");System.out.println(list); //从当中获取元素String message = list.get(2);System.out.println("拿到的是"+message);//从集合当中删除元素String success = list.remove(3);System.out.println("删除的是"+success);//获取集合长度,存储元素个数.int len = list.size();System.out.println(len);//集合可以 直接 输出,这样输出的格式为,中括号包裹着。System.out.println(list);//for循环遍历,集合中一个一个输出出来,没有中括号,直接换行。for(int i=0;i<list.size();i++){System.out.println(list.get(i)); } //集合的遍历 fore 增强for遍历list集合。for (String string : list) {System.out.println(string);} }}--------------------------------------------------------------------
import java.util.ArrayList;/** 如果希望向集合ArrayList当中存储基本数据类型,必须使用基本数据类型的包装类* 基本类型: 包装类:(引用类型,包装类都位于java.long包下)* byte Byte* short Short* int Integer * * long Long* float Folat* double Double* char Character ** boolean Boolean* * 从JDK1.5开始支持自动装箱,自动拆箱* 自动装箱: 基本类型---->包装类型* 包装类型---->基本类型* */public class ArrayListDemo02 {public static void main(String[] args) {ArrayList<Integer> list = new ArrayList<>();list.add(100);list.add(200);list.add(300);list.add(400);list.add(500);System.out.println(list);//这里可以用int进行接收,因为自动装箱和拆箱。int a = list.get(1);System.out.println(a);}}--------------------------------------------------------
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;/** 生成六个1-33的随机整数,添加到集合当中;* 需要存储六个数字,创建一个集合;* 产生随机数;* 循环六次.次数确定,循环内调用产生随机数的方法;* r.nextInt(32)+1;* 相机和当中添加数据;* 遍历集合;* * 首选创建一个集合 或者 数组* 生成看六个随机数,随机数的范围自定义四* 使用list.add方法,将数字添加到集合中。* 遍历输出集合* 数组中添加元素的方法* 定义一个六个大小的容器,分别给下标索引赋予对应的值* * */
public class ArrayListDemo03 {public static void main(String[] args) {// TODO Auto-generated method stubArrayList<Integer> list = new ArrayList<>();int[] what = new int[6];Random r = new Random();for(int i=0;i<6;i++){int x = r.nextInt(33)+1;//数组中添加元素,一定是数组[索引号] = x ,不能是 x = 数组[索引号]//因为what[i]初始化的时候是没有值的, 默认为0,如果放到右边,则会把x也变成0,赋值无意义。what[i]=x;list.add(x);}System.out.println(Arrays.toString(what));//不能等于集合的传长度,当等于时,没东西给它输出for(int i=0;i < list.size();i++){System.out.println(list.get(i));}}}------------------------------------------------------------
/** 自定义学生类* */
public class Student {private String name;private int age;public Student() {super();}public Student(String name, int age) {super();this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {// TODO Auto-generated method stubreturn this.name+"\t"+this.age;}
}-------------------------------------------------
import java.util.ArrayList;/** 自定义四个学生对象,添加到集合:并遍历* 自定义学生类* 创建一个集合,用来存储学生对象,泛型<Student>* 将四个学生对象添加到集合当中* 遍历集合 * */
public class ArrayListDemo04 {public static void main(String[] args) {// TODO Auto-generated method stub/** 对象添加到数组中的方法*/ArrayList<Student> list = new ArrayList<>();Student one = new Student("刘哲",17);Student two = new Student("唐梦凡",17);Student three = new Student("王其园",18);Student four = new Student("赵士林",17);list.add(one);list.add(two);list.add(three);list.add(four);for(int i=0;i<list.size();i++){//字符串才有toString打印方法;集合可以直接输出。System.out.println(list.get(i));}System.out.println("--------------");for (Student student : list) {System.out.println(student);}}}-------------------------------------------------
import java.util.ArrayList;import javax.swing.text.StyledEditorKit.ForegroundAction;/** 用集合作为参数:* 以指定方式打印集合,使用{}括起来,使用@分割每一个元素* {@元素@元素....}* * */
public class ArrayListDemo05 {public static void main(String[] args) {// TODO Auto-generated method stubArrayList<String> list = new ArrayList<>();list.add("寒冰射手");list.add("无极剑圣");list.add("圣枪游侠");list.add("法外狂徒");System.out.println(list);//自定义打印方法//定义方法,返回值类型,方法名称,参数列表. void//集合作为参数printArrayList(list);}public static void printArrayList(ArrayList<String> list){//方式一:
// System.out.print("{");
// for (Object object : list) { System.out.println(object);
//
// System.out.print(object+"@");
//
// }
// System.out.print("}");//方式二:System.out.print("{");for(int i=0;i<list.size();i++){//上面参数不加类型着需要强转 String name = (String) list.get(i);String name = list.get(i);if(i==list.size()-1){System.out.print(name+"}");}else{//需要包再循环之内,如果不加,循环完之后还会再走一次;System.out.print(name+"@");}}}}--------------------------------------------------------------
import java.util.ArrayList;
import java.util.Random;/** 集合元素筛选:* 用一个大集合存入20个随机数字,然后筛选其中的偶数元素,* 放到小集合当中.* 集合的筛选.* 首先创建一个Integer类型的大集合* 定义一个产生随机数的方法,随机数添加到大集合中* 定义一个筛选的方法,这个方法的返回值就是小集合,参数传递大集合* 定义一个小集合,吧筛选到的元素添加到小集合中* 用到集合,我们使用增强for来遍历它,遍历出来的每一个元素对他进行处理,合格的我们添加到小集当中* 最后我们返回这个 小集合。*/
public class ArrayListDemo06 {public static void main(String[] args) {// TODO Auto-generated method stub//定义集合ArrayList<Integer> list = new ArrayList<>();//生成随机数Random r = new Random();for(int i=0;i<20;i++){//产生随机数的对象调用相关的方法,使之完成操作int num = r.nextInt(100)+1;list.add(num);}ArrayList<Integer> listMin = listMin(list);System.out.println("偶数中共有"+listMin.size());for(int i=0;i<listMin.size();i++){System.out.println(listMin.get(i));}}//定义筛选的方法。public static ArrayList<Integer> listMin(ArrayList<Integer> list){ArrayList<Integer> minList = new ArrayList<>();//遍历大集合for (Integer integer : list) {if(integer%2==0){minList.add(integer);}}return minList;// ArrayList<Integer> minList = new ArrayList<>();
// for(int i=0;i<list.size();i++){// int num = list.get(i);
// if(num%2==0){// //*****添加数字
// minList.add(num);
// }
// }
// return minList;}}
Random
import java.util.Random;/** 类名,别起随机数这种含有特殊含义的类,不然不让导包,会报错* 即关键字不能当成类型名,导包的时候可能存在一定的错误。* 生成一个随机数* Random: 产生随机数的.* 导包: import java.util.Random* 创建: Random r = new Random();* 使用: * 获取一个随机的int数字: int num = r.nextInt(); 范围是int所有范围* 获取一个随机数(参数代表范围) int num = r.nextInt(3);* 在nextInt()里面可以指定范围* 生成指定范围的随机数字: 左闭右开区间 [0,3) 0,1,2 右边的取不到.* 在random()这个括号里面传入,参数会生成指定的随机数,下一次不会改变* * */
public class RandomDemo {public static void main(String[] args) {// TODO Auto-generated method stub//产生随机数的方法Random r = new Random();//接收随机数的变量类型。int a = r.nextInt();System.out.println("随机数是"+a);int b = new Random().nextInt(10);System.out.println("匿名对象输入的随机数是"+b);//随机生成指定个数的随机数/** 使用for循环,每次循环接收数据,接收完数据输出。*/Random r1 = new Random();for (int i = 0; i < 10; i++) {int num = r1.nextInt(10);System.out.println(num);} }}---------------------------------------------------
import java.util.Random;
import java.util.Scanner;/** 生成1-n之间的随机数* 键盘录入随机数的范围* 这种范围作为参数传递进入到随机数的nextInt(参数)当中* 一定要自己掌握一些基本的方法,编程思维很重要。 * */
public class RandomTest01 {public static void main(String[] args) {// TODO Auto-generated method stub//键盘录入Scanner sc = new Scanner(System.in);System.out.println("请输入那个范围的随机数");int number = sc.nextInt();System.out.println("请输入生成的次数");int num = sc.nextInt();Random r = new Random();//使用匿名对象,匿名对象只能使用一次,这是生成一个随机数。int x = new Random().nextInt(number);System.out.println("匿名对象的生成方式"+x);//本来范围是0,整体加一.for (int i = 0; i < num; i++) {//注意不能写在括号里面.int result = r.nextInt(number)+1;System.out.println(result);}}}-------------------------------------------------------
import java.util.Random;
import java.util.Scanner;/** 猜数字小游戏:* 用代码模拟猜数字的小游戏* 首先产生一个数字,并且一旦产生就不能再发生变化;* 需要键盘输入,进行获取,获取键盘输入的数据;* 得到两个数字,if判断三种情况,如果猜大猜小输出提示输出,如果猜到结束方法的调用,输出恭喜您,猜中了* 循环次数不确定;* * 这个游戏的原理是。产生一个1-100之间的随机数* 键盘录入一个我猜测的数据* 进行比对* 如果连个数字相同,游戏结束* 如果不相容,我们输出提示语言,游戏继续,使用while(true) 死循环* 游戏结束使用break结束程序的运行。*/
public class RandomTest02 {public static void main(String[] args) {// int number = new Random().nextInt(100) + 1;//产生随机数Random r = new Random();int number = r.nextInt(100)+1;//调用方法进行判断resUlt(number);}public static void resUlt( int number) {while (true) {//把whileScanner sc = new Scanner(System.in);System.out.println("请输入数字");int num = sc.nextInt();if (num > number) {System.out.println("猜大了");} else if (num < number) {System.out.println("猜小了");} else {System.out.println("恭喜您,猜中了");break;}}System.out.println("游戏结束");}}---------------------------------------------------------
import java.util.Random;
import java.util.Scanner;/** 猜拳小游戏原版* * */
public class RandomTest03 {public static void main(String[] args) {// TODO Auto-generated method stubRandom r = new Random();int num = r.nextInt(100)+1;Scanner sc = new Scanner(System.in);//直接进行判断。while(true){System.out.println("请输入您猜测的数字");int number = sc.nextInt();//如果我输入的数字没有随机数大,说明我猜小了if(num>number){System.out.println("猜小了");}else if(num<number){System.out.println("猜大了");}else{System.out.println("恭喜您,猜中了");break;}}System.out.println("游戏结束");}}
Java匿名对象集合随机数相关推荐
- java匿名对象 回收_Java 匿名对象
我们知道一般实例化一个对象的格式,如下: Car car = new Car(); 其中,变量名 car 就是 new Car() 这个对象的名字.car 是引用类型的变量,它的值存放的是对象的引用( ...
- 第17天学习Java的笔记(匿名对象,随机数,猜数字小游戏)
33天! 匿名对象 package Demo1701;public class Person {String name;public void showName() {System.out.print ...
- Java 匿名对象、内部类
一.匿名对象 1.概念 匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量. public class Person{public void eat(){System.out ...
- java匿名对象_面向对象
class Student{ public void tell(){ System.out.println("Hello jikexueyuan"); } public void ...
- Java匿名对象的使用
匿名对象的使用 理解:我们创建的对象,没有显示的赋给一个变量名,即为匿名对象 特征:匿名对象只能调用一次 使用:如代码"匿名对象的使用举例"部分所述 代码: package die ...
- java匿名对象赋初值_不想进BAT的Java程序员不是好程序员,BAT后端Java岗面试真题分享
一. JDK/JRE/JVM 三者之间的联系与区别 JDK:开发者提供的开发工具箱,是给程序开发者用的.它包括完整的JRE(Java Runtime Environment),Java运行环境,还包含 ...
- Java提取对象集合的某些属性生成新集合
文章目录 一.准备工作 二.操作实例 有时候在对List集合操作时并不想新建一个实体类来进行转换.这就涉及到将集合中对象的每个元素投影到新属性,以此来生成一个新的集合. 一.准备工作 定义实体类Use ...
- java 匿名对象有引用_java 匿名内部类对象持有外部类对象的引用
转载自:https://www.jianshu.com/p/9335c15c43cf /** * @author hgl * @data 2019年1月10日 * @description 接口 */ ...
- java 匿名对象有引用,封闭对象的引用通过匿名类java进行转义
我在实践中阅读 Java并发性,下面的例子来自于此.我的问题是 这个参考逃脱是什么意思?会有什么问题? .这个引用是如何从doSomething(e)中逃脱的. public class ThisEs ...
最新文章
- 【Android 进程保活】应用进程拉活 ( 账户同步拉活 | 账号添加 | 源码资源 )
- 015_Vue生命周期
- MySQL与Redis一致性解决同步问题
- django连接redis(文章看着不错)
- 我的第三个jquery插件——promptForK13内容提示插件
- Bootstrap3基础 input-group-btn 按钮与输入框 横向组合
- 你们也只剩下点赞的交情
- SYBASE数据导入技巧
- 开课吧Java课堂:如何使用迭代函数
- oracle 删除jobs日志,修改Oracle的Job Scheduler 日志级别及删除运行日志
- mac快速电脑锁屏/睡眠方法
- 可以免费下载任何文档(网页转换助手)
- 【生信技能树】【miRNA】学习笔记(一)
- linux 音频驱动实验
- mysql with,mysql+with
- Docker容器中添加字体
- 【Go】Go语言中反射包的实现原理(The Laws of Reflection)
- python数据结构题目_python数据结构_递归python数据结构_python数据结构 面试题 - 云+社区 - 腾讯云...
- [自娱自乐]玫瑰骑士结束了
- Docker专题(六)-Docker镜像详解
热门文章
- vue监听浏览器窗口大小变化,做对应的操作
- 2022首届中国敏捷大会成功召开
- 重磅!顶级一区期刊官宣:明年起将不再拒稿!
- 精辟到噎死人的句子,太经典了
- linux系统防火墙拦截网络,用Linux系统防火墙功能抵御网络攻击
- 2k13 v3 android,最劲篮球游戏 NBA 2K13 Android版试玩
- Wordpress免费建站图文教程(三):WP建站程序和主题模板的准备
- 1.机器学习常见模型评价指标
- 公网ip需要网关吗_关于公共IP地址(公网ip):您需要知道的一切
- C# + Unity开发日记(二) 利用宏命令实现简单的代码开关