day07Scanner类、Random类、ArrayList类
第一章 API
概述
- API(Application Programming Interface),应用程序编程接口。
- Java API是一本程序员的 字典 ,是JDK中提供给 我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学 习这些类如何使用即可。所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用它们。
API的使用步骤
- 打开帮助文档。
- 点击显示,找到索引,看到输入框。
- 你要找谁?在输入框里输入,然后回车。
- 看包。java.lang下的类不需要导包,其他需要。
- 看类的解释和说明。
- 学习构造方法。
- 使用成员方法。
第2章Scanner类
lang包不需要导包
2.1 Scanner功能
Scanner类的功能:可以实现键盘导入数据,到程序中.
2.2 引用类型使用步骤
1.导包
格式:import 包路径.类名称;
如果需要使用的目标类,和当前类位于同一包下,则可以省略导报语句不写.
只有Java.lang包下的内容不需要导包,其他的包都需要import语句;
举例:
Java.util.Scanner;
2.创建对象
格式:类名称 = new 类名称();
举例
Scanner sc = new Scanner(System.in);
3.调用方法
格式:对象名.成员方法名();
变量名.方法名();
举例:
int i = sc.nextInt();//接受一个键盘录入的整数
import java.util.Scanner;//1.导包 public class Demo01Scanner { public static void main(String[] args) { //2.创建 //备注:System.in 代表从键盘输入 Scanner sc = new Scanner(System.in); //3.获取键盘输入的int数字 int num = sc.nextInt(); System.out.println("输入的int数字是:"+num); //4.获取键盘上输入的字符串 String str = sc.next(); System.out.println("输入的字符串是:"+str); } }
2.3 匿名对象
创建对象的标准格式:
类名称 对象名 = new 类名称();
1.概念
匿名对象:没有变量名的对象。
匿名对象就是只有右边的对象,没有左边的名字和赋值运算符。
2.格式
new 类名称(参数列表);
举例:
new Scanner(System.in);
注意事项:匿名对象只能使用唯一的一次,下次再用不得不在创建一个新对象。
使用建议:如果确定有一个对象只能使用唯一的一次,就可以用匿名对象。
3.使用匿名对象作为方法的参数
public static void main(String[] args){ //普通方式 Scanner sc = new Scanner(System.in); methodPanner(sc); //使用匿名对象来进行传参 methodParam(new Scanner(Sysetm.in)) } public static void methodParam(Scanner sc){ int num = sc.nextInt(); System.out.println("输入的是:"+num); }
4.作为返回值
public static void main(String[] args){ //普通方式 Scanner sc = getScanner(); } public static Scanner getScanner(){ //普通方法 //Scanner sc = new scanner(System.in); //return sc; //匿名对象作为方法的返回值 return new Scanner(System.in); }
第三章 Random类(生成随机数)
1.作用
Random用来生成随机数字
2.使用步骤
导包
import java.util.Random;
创建
Random r = new Random();
使用
获取一个随机的int数字(范围是int范围,有正负两种):int num = r.nextInt();
代码如下:
import java.util.Random; public static void main(String[] args){ Random r = new Rondom(); int num = r.nextInt(); System.out.println("随机数是:"+num); }
3.练习
生成指定范围的随机数
//获取一个随机的int数字(范围是int范围,有正负两种)
Random r = new Random();
import java.util.Random; public static void main(String[] args){ Random r = new Random(); for(int i = 0;i<100;i++){ //快捷输入法r.nextInt(输入最大范围-1); int num = r.nextInt(0-10);//范围实际上是0-9 System.out.println(num); } }
//获取一个随机的int数字(参数代表范围左闭右开)
int num = r.nextInt(3);//范围(0,3)也就是0-2
import java.util.Random public static void main(String[] args){ Random r = new Random(); int num = r.nextInt(biund:10); System.out.print("随机数是:"+num); }
猜数字游戏,有次数限制
public class Demo04RandomGame { public static void main(String[] args) { Random r = new Random(); int randomNum = r.nextInt(100) + 1; Scanner sc = new Scanner(System.in); //while循环 //int i = 0; //while(true) for (int i = 0;i <=5;i++) { System.out.println("请输入你猜测的数字:"); int guessNum = sc.nextInt();//键盘输入猜测的数字 if (i == 5) { System.out.println("Game over"); break; } if (randomNum > guessNum) { System.out.println("太小了,请重试。"); } else if (randomNum < guessNum) { System.out.println("太大了,请重试。"); } else { System.out.println("恭喜你,猜对了。"); break;//如果猜中,不在重试,跳出循环 } } System.out.println("游戏结束。"); } }
第四章 ArrayList类
4.1 引入--对象数组
任何数据类型都可以作为数组中的元素类型
题目:
定义一个数组,用来存储3个person对象。
数组有一个缺点:一旦创建程序运行期间,长度不可改变
public class Demo01Array { public static void main(String[] args) { //首先创建一个长度为3的数组,里面用来存放Person类型的对象 Person[] array =new Person[3]; Person one = new Person("迪丽热巴",3); Person two = new Person("古力娜扎",6); Person three = new Person("马尔扎哈",9); //将one当中的地址值赋值到数组的0号元素位置 array[0] = one; array[1] = two; array[2] = three; System.out.println(one);//地址值 System.out.println(two);//地址值 System.out.println(three);//地址值 System.out.println(array[1].getName());//古力娜扎 } }
4.2 ArrayList使用
1.作用
数组的长度不可以改变。
但是ArrayList集合的长度可以是随意变化的。
2.查看类
java.util.ArrayList
PS:
E,取自Element(元素)的首字母。出现E的地方,我们使用一种数据类型替换即可,表示我们将存储那种引用类型的元素。
代码如下:
ArrayList<String>;//全都是String类型字符串的数据
注意:
泛型只能是引用类型,不能是基本型。
3.查看构造方法
public ArrayList():构造一个内容为空的集合
基本格式:
//备注:从Java1.7后开始,右侧尖括号部分可以不写内容, //1.7之前右侧需要写,两侧类型必须相同 ArrayList<String> list = new ArrayList<>();
4.注意事项
对于ArrayList集合来说,直接打印的不是地址值,而是内容。
通过 对象.add();来添加数据
如果内容为空,得到的将是空的中括号。
代码如下:
import java.util.ArrayList;//导包 public static void main(String[] args){ ArrayList<String> list = new ArrayList<>(); Sysout.out.println(list);//[] list.add("马尔扎哈"); System.out.println(list);//马尔扎哈 }
5.常用方法
1.添加元素
备注:对于ArrayList集合来说,add添加动作一定成功的,所以返回值类型可用可不用。
但是对于其他集合(今后学习)来说,add添加动作不一定成功。
//向集合中添加元素,参数类型和泛型一致。 public boolean add(E e);
2.获取元素
//从集合中获取元素,参数是索引编号,返回值就是对应位置的元素 public E get(int index);
3.删除元素
//从集合中删除元素,参数就是索引编号,返回值就是被删除掉的元素 public E remove(int index);
4.获取集合长度
//获取集合的尺寸长度,返回值是集合中包含元素的个数 public int size();
代码如下:
public class Demo03ArrayListMethod { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); System.out.println(list); //向集合中添加元素: add boolean success = list.add("柳岩"); System.out.println(list); System.out.println("添加的动作是否成功:"+success);//true list.add("迪丽热巴"); list.add("古力娜扎"); list.add("玛尔扎哈"); list.add("霹雳克擦"); System.out.println(list); //从集合中获取元素:get.索引值 从0开始 String name = list.get(1); System.out.println(name); //从集合中删除元素:remove.索引值从0 开始 String whoRemooved = list.remove(4); System.out.println("被删除的人是:"+whoRemooved); System.out.println(list); //获取集合的长度尺寸,也就是元素个数 int size = list.size(); System.out.println("集合的长度是:"+size); } }
6.集合的遍历
快捷键:
遍历集合 快捷键:变量名.fori
public class Demo04ArrayListEach { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("迪丽热巴"); list.add("古力娜扎"); list.add("玛尔扎哈"); //遍历集合 快捷键:变量名.fori for (int i = 0;i<list.size();i++){ System.out.println(list.get(i)); } } }
4.3 存储基本数据类型
ArrayList 对象不能存储基本类型,只能存储引用类型数据。
如果希望向集合AlistList当中存储基本类型数据,必须使用基本类型的包装类(引用类型,包装类都位于java.long包下)
基本类型 | 包装类 | 特殊 |
---|---|---|
byte | Byte | |
short | Short | |
int | Integer | √ |
long | Long | |
float | Float | |
double | Double | |
char | Character | √ |
boolean | Boolean |
从JDK1.5+开始,支持自动装箱,自动拆箱。
自动装箱 :基本类型-->包装类型
自动拆箱 :包装类型-->基本类型
4.4 ArrayList练习
1.数值添加到集合
题目:生成6个1-33之间的随机整数,添加到集合,并遍历
import java.util.ArrayList;//导包 public static void main(String[] args){ ArrayList<Integer> list = new ArrayList<>(); Random r = new Random(); for(int i = 0;i<6;i++){ int num = r.nxtInt(33) + 1; list.add(num); } for(int i = 0;i<list.size();i++){ System.out.println(list.get(i)); } }
2.对象添加到集合
题目:自定义4个学生对象,添加到结合并遍历
定以学生类
public static void main(String[] args){ private String name; private int age; public Student(){ } public Student(String name,int age){ this.name = name; this.age = age; } public void setName(String name){ this.name = name; } public String getName(){ return name; } public void setAge(int age){ this.age = age; } public int getAge(){ return age; } }
import java. public static void main(String[] args){ ArrayList<Student> list = new ArrayList<>(); Student one = new Student("雷神",21); Student two = new Student("狼人",22); Student three = new Student("黑寡妇",23); Student four = new Student("蛇女",24); list.add(one); list.add(two); list.add(three); list.add(four); for(int i = 0;i<list.size();i++){ Student stu = list.get(i); System.out.println("姓名:"+getName+",年龄:"+getAge); } }
3.打印集合方法
题目:定义以指定格式打印集合的方法(ArrayList类型作为参数),使用{}扩起集合,使用@分隔每个元素。格式参照 {元素 @元素@元素}。
public static void main(String[] args){ ArrayList<String> list = new ArrayList<>(); list.add("张三丰"); list.add("张无忌"); list.add("陈真"); list.add("李连杰"); System.out.println(list); } /* 定义方法的三要素 返回值类型:没有结果 没有运算 只是打印 所以用void 方法名称:printArrayList 参数列表:ArrayList */ public static void printArryList(ArryList<String> list){ System.out.print("{"); for(int i = 0;i<list.size();i++){ String name = list.get(i); if(i == list.size() - 1){ System.out.print(name+"}"); }else{ System.out.print(name+"@"); } } }
4.获取集合方法
题目:定义获取所有偶数元素的方法(Arraylist类型作为返回值)
import java.util.ArrayList; import java.util,Random; public static void mian(String[] args){ //定义一个大集合存入20个随机数字 ArrayList<Integer> bigList = new ArrayList<>(); Random r = new Random(); for(int i = 0;i<20;i++){ int num = r.nextInt(100) + 1;//范围1-100 bigList.add(num); } ArrayList<Integer> smallList = getSmallList(bigList); System.out.println("偶数的个数是:"+smallList.size()); for(int i = 0;i < smallList.size();i++){ System.out.println(smallList(i)); } } public static ArrayList<Integer> getSmallList(ArrayList bigList){ //创建一个小集合,用来装偶数结果 ArrayList<Integer> smallList = new ArrayList<>(); for(int i = 0;i<bigList.size();i++){ int num = bigList.get(i); if(num % 2 == 0){ smallList.add(num); } } }
来源:https://www.cnblogs.com/anke-z/p/12363992.html