您的位置:首页 > 其它

常用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]
*/
  • 点赞
  • 收藏
  • 分享
  • 文章举报
我玩李白很菜 发布了4 篇原创文章 · 获赞 0 · 访问量 655 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐