常用API---Scanner,匿名对象的定义及理解,Random,Arraylist
2020-04-02 19:07
405 查看
1.Scanner()
目的:实现键盘输入数据到程序当中
package demo01; //导包 import java.util.Scanner; //基本使用步骤 /* * 1.导包 * import 包路径.类名称 * 如果使用的目标类和当前类位于同一个包下,则可以省略导包语句不用写 * 只有java.lang下的包不用导包比如说String,其他下的包都需要import语句。 * 2.创建 * 类名称 对象名 = new 类名称(); * 3.使用 * 对象名.成员方法名 * 比如说要获取键盘输入的一个int型数字,int num = sc.nextInt();这个是有返回值的,需要num去接收它 * 比如说要获取键盘输入的一个字符串, String str = sc.next(); * */ // 通过键盘输入三个数,求出他们中的最大值 public class demo02Scanner { public static void main(String[] args) { Scanner sca=new Scanner(System.in);//创建 System.out.println("请输入第一个数字"); int a=sca.nextInt();//获取键盘输入的第一个数字 System.out.println("请输入第二个数字"); int b=sca.nextInt(); System.out.println("请输入第三个数字"); int c=sca.nextInt(); int temp = a>b?a:b; int max = temp>c?temp:c; System.out.println("三个数中的最大值:"+max); } }
2.匿名对象
定义:只有右边的对象,没有左边的名字和赋值运算符(没有名字的对象)
//对象的标准格式:类名称 对象名称 = new 类名称(); Student stu = new Student();//-----1 stu.name();//-----2 //匿名对象:new 类名称(); new Student();//用匿名对象表示以上1行代码 new Student().name();//用匿名对象表示以上2行代码 /*匿名对象的使用方法 1.当对象对方法只调用一次的时候,就可以使用匿名对象; 注意:匿名对象只调用方法,不调用属性,调用属性无实际的引用变量。 new Student().name(); 因为匿名对象只在堆内存中产生空间,却没有把地址值赋值给栈内存的某个变量用以存储,根据堆的工作原理,被使用后没有其他引用该匿名对象,该匿名对象就回被自动回收,就消失了 2.匿名对象可以作为实际参数传递; school(Student()); */
package demo01; //导包 import java.util.Scanner; public class demo03Anonymous { public static void main(String[] args) { //匿名对象的正常使用方式 int num =new Scanner(System.in).nextInt(); System.out.println("输入的数字为:"+num); //1.匿名对象作为参数传递 //1.getAno(new Scanner(System.in)); Scanner num = retAno();//匿名对象作为返回值传递 int a= num.nextInt(); System.out.println("输入的数字为:"+a); } /* 1. public static void getAno(Scanner sc){ int num =sc.nextInt(); System.out.println("输入的数字为:"+num); } */ public static Scanner retAno(){ return new Scanner(System.in); } } /* 思路: 1.匿名对象作为参数传递时,方法调用之前就已经赋值好,方法调用的就是匿名对象的参数 2.匿名对象作为返回值传递时,方法的调用之前并没有赋值给变量,方法调用的只是对象,传递后再赋值 */
3.Random
目的:获取随机数
package demo01; //导包 import java.util.Random; //获取int范围的随机数 public class demo04Random { /* public static void main(String[] args) { Random r=new Random();//创建对象 int num=r.nextInt();//使用用对象 System.out.println("随机数字:"+num); } */ //获取0-9的随机数 public static void main(String[] args) { Random ra=new Random(); int num1=ra.nextInt(10);//表示的是从[0,9)获取随机数并赋值给num1 //int num1=ra.nextInt(10)+1; 表示的是[1,10] System.out.println("获取0-9之间的随机数:"+num1); } }
通过Random猜1-100之间数字游戏
public class demo05RandomGame { //导包 import java.util.Random; import java.util.Scanner; /* 猜数字游戏思路: 1,首先获取一个随机值; 2,输入数字猜测这个随机值; 3.判断输入数字和随机值的大小; 两种循环的条件 > < 相等时停止循环 == */ public static void main(String[] args) { Random r =new Random(); int n =r.nextInt(100)+1; while (true){ Scanner sc=new Scanner(System.in); int num=sc.nextInt(); if (n>num){ System.out.println("太小啦"); }else if (n<num){ System.out.println("太大啦"); }else { System.out.println("恭喜你,答对啦"); break; } } System.out.println("游戏结束"); } }
4.Arraylist
package demo01; import java.util.ArrayList; /* 数组的长度是不可以改变的; 但是Arraylist集合的长度可以随便改变; Arraylist<>表示泛型,泛型就是参数类型要和<>里的类型保持一致; 常用的几个方法: 1.public boolean add(E e);往集合中添加元素,返回值是ture,表示添加成功; 2.public E get(int index);从集合中获取元素,返回值为所获取元素,参数为索引; 3.public E remove(int index);从集合中删除元素,参数为所删除元素对应得索引; 4.public int size();获取集合的长度; */ public class demo06ArrayList { public static void main(String[] args) { ArrayList<String> list=new ArrayList<>();//创建一个Arraylist集合的使用格式 System.out.println(list); list.add("李白"); list.add("杜埔"); list.add("李煜"); System.out.println(list); String name = list.get(1);//获取索引为1的元素 System.out.println(name); String delete = list.remove(2);//删除索引为2的元素 System.out.println(list); int length = list.size();//获取集合的长度 System.out.println(length); } } /*以上代码运行结果 [] [李白, 杜埔, 李煜] 杜埔 [李白, 杜埔] 2 */
Arraylist+Random的练习
package demo2; //导包 import java.util.ArrayList; import java.util.Random; //题目:获取1-33的6个随机数,添加到集合,并遍历 public class Arraylistonetothirtythree { public static void main(String[] args) { ArrayList<Integer> list=new ArrayList<>();//创建集合 Random r =new Random();//创建随机数 for (int i = 0; i < 6 ; i++) {//循环6次 int num =r.nextInt(33)+1;//在1-33的范围里抽取随机数,并赋值给num list.add(num);//把num添加到集合 } System.out.println(list); for (int i = 0; i <list.size() ; i++) {//遍历数组 System.out.println(list.get(i)); } } } /* 代码运行结果 [15, 20, 7, 9, 7, 15] 15 20 7 9 7 15 */
综合题
package demo2; //导包 import java.util.ArrayList; import java.util.Random; //题目:从1-100抽取20个随机数,并将20个随机数中的偶数筛选出来 public class demo04ArraylistReturn {//创建一个1-100之间20个随机数的大集合 public static void main(String[] args) { ArrayList<Integer> bigarray = new ArrayList<>(); for (int i = 0; i < 20; i++) { Random r = new Random(); int num = r.nextInt(100) + 1; bigarray.add(num); } System.out.println("偶数的个数为:"+smallarray(bigarray).size()+"个"); System.out.println(smallarray(bigarray));//调用smallarray方法 } //创建一个方法筛选出偶数并放入小集合中 public static ArrayList<Integer> smallarray(ArrayList<Integer> bigarray) { ArrayList<Integer> small =new ArrayList<>();//创建小集合 for (int i = 0; i < bigarray.size(); i++) { int numb= bigarray.get(i); if (numb%2==0){ small.add(numb);//把大集合的偶数放入小集合 } } return small; } } /* 运行结果 偶数的个数为:11个 [70, 90, 14, 72, 76, 92, 50, 16, 70, 86, 72] */
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 浅析Java常用API(Scanner,Random)匿名对象
- 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第2节 匿名对象_6-匿名对象的说明...
- JAVA学习第三十五课(常用对象API)—Vector、LinkedList、ArrayList集合演示
- 17-集合框架-15-常用对象API(集合框架-ArrayList集合存储自定对象)
- 常用对象API(ArrayList,Vector,LinkedList的存储性能和特性,HashMap和HashTable的区别)
- 炸裂推荐-Scanner,Random,ArrayList集合-详细到API文档的方法摘要截图注解
- 10-导包、创建对象、使用对象(Scanner、Random、ArrayList)
- ArrayList,String,Scanner,Math,Arrays,Collections,Random基础API整理
- JAVA基础学习总结,day7(Scanner类,匿名对象,Random类, ArrayList集合)
- 15-常用对象API(集合框架-ArrayList集合存储自定对象) 1 2 3 16-常用对象API(集合框架-HashSet集合) 19-常用对象API(集合框架-HashSet存储自定义
- 第07章 常用类库API_07_Math_Random和日期工具类的使用
- java反射,反射常用方法,获取类模板,通过类模板对象创建实体对象,类中未定义有参或无参构造器的情况下创建对象,不调用方法尝试给一个类的私有属性赋值,通过反射获取一个类的父类并获取它实现的接口
- 15-11-常用对象API(String类-练习3-最大相同子串)
- 15-StringBuffer-12-常用对象API(StringBuilder类)
- 16-集合框架-08-常用对象API(集合框架-List集合的常见方法)
- 循环 跳转控制语句 方法 方法重载 数组 递归 面向对象的思想 this private匿名对象 get set 构造方法 Math.random 内存图
- 10-常用对象API(StringBuffer类-插入&删除&查找&修改)1 2 12-常用对象API(StringBuilder类) 1 2 13-常用对象API(StringBuilde
- 20-常用对象API(集合框架-JDK5.0特性-ForEach循环) 21-常用对象API(集合框架-JDK5.0特性-函数可变参数). 1 2
- JAVA学习第三十六课(常用对象API)— Set集合:HashSet集合演示
- JavaSE学习总结第14天_API常用对象4