Java基础07

Scanner类、Random类、ArrayList类的详解

API概述

API(Application Programming Interface),应用程序编程接口。Java API是一本程序员的 字典 ,是JDK中提供给
我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学
习这些类如何使用即可。所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用它们。

Scanner类

什么是Scanner类

一个可以解析基本类型和字符串的简单文本扫描器。 例如,以下代码使用户能够从 System.in 中读取一个数:

		Scanner sc = new Scanner(System.in);
		int i = sc.nextInt();

引用类型使用步骤

1、导包
使用import关键字导包,在类的所有代码之前导包,引入要使用的类型,java.lang包下的所有类无需导入。 格式:

			import 包名.类名;

2、创建对象
举例:

Scanner sc = new Scanner(System.in);

3、调用方法

变量名.方法名();

Scanner使用步骤

举例:

//1. 导包
import java.util.Scanner;
public class Demo01_Scanner {
    public static void main(String[] args) {
        //2. 创建键盘录入数据的对象
        Scanner sc = new Scanner(System.in);
 
        //3. 接收数据
        System.out.println("请录入一个整数:");
        int i = sc.nextInt();
 
        //4. 输出数据
        System.out.println("i:"+i);
    }
}

匿名对象【了解】

创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。虽然是创建对象的简化写法,但是应用场景非常有限。
举例:

	new Scanner(System.in)

匿名对象可以作为方法的参数和返回值。

Random类

什么是Random类

此类的实例用于生成伪随机数。
使用格式:

   		 Random r = new Random();
   		int i = r.nextInt();

注意:如果你想生成某个范围内的随机数,则需要给出范围。public int nextInt(int n) :返回一个伪随机数,范围在 0 (包括)和 指定值 n (不包括)之间的 int 值。
比如xxx.nextInt(10)就是生成0-9的随机数,如果要生成1-10数字则在后面加1即可。
举例代码:

/1. 导包
import java.util.Random;
public class Demo01_Random {
    public static void main(String[] args) {
        //2. 创建键盘录入数据的对象
        Random r = new Random();
 
        for(int i = 0; i < 3; i++){
            //3. 随机生成一个数据
            int number = r.nextInt(10);
            //4. 输出数据
            System.out.println("number:"+ number);
        }       
    }
}

ArrayList类(对象数组)

什么是ArrayLiat类

java.util.ArrayList 是大小可变的数组的实现,存储在内的数据称为元素。此类提供一些方法来操作内部存储的元素。ArrayList 中可不断添加元素,其大小也自动增长。

创建的基本格式

ArrayList<String> list = new ArrayList<String>();

常用方法和遍历

public boolean add(E e) :将指定的元素添加到此集合的尾部。
public E remove(int index) :移除此集合中指定位置上的元素。返回被删除的元素。
public E get(int index) :返回此集合中指定位置上的元素。返回获取的元素。
public int size() :返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界。
代码展示:


4.5 如何存储基本数据类型 
ArrayList对象不能存储基本类型,只能存储引用类型的数据。类似 <int> 不能写,但是存储基本数据类型对应的
包装类型是可以的。所以,想要存储基本类型数据, <> 中的数据类型,必须转换后才能编写,转换写法如下:
    //打印学生ArrayList集合
    System.out.println(list);
  }
}
public class Demo01ArrayListMethod {
  public static void main(String[] args) {
    //创建集合对象
    ArrayList<String> list = new ArrayList<String>();
 
    //添加元素
    list.add("hello");
    list.add("world");
    list.add("java");
 
    //public E get(int index):返回指定索引处的元素
    System.out.println("get:"+list.get(0));
    System.out.println("get:"+list.get(1));
    System.out.println("get:"+list.get(2));
 
    //public int size():返回集合中的元素的个数
    System.out.println("size:"+list.size());
 
    //public E remove(int index):删除指定索引处的元素,返回被删除的元素
    System.out.println("remove:"+list.remove(0));
 
    //遍历输出
    for(int i = 0; i < list.size(); i++){
      System.out.println(list.get(i));
    }
  }
}

注意:ArrayList对象不能存储基本类型,只能存储引用类型的数据。类似 不能写,但是存储基本数据类型对应的包装类型是可以的。所以,想要存储基本类型数据, <> 中的数据类型,必须转换后才能编写,转换写法如下(自动拆装箱):
在这里插入图片描述
只有 Integer 和 Character 需要特殊记忆,其他基本类型只是首字母大写即可。那么存储基本类型数据,代码如下:


4.6 ArrayList练习 
数值添加到集合 
生成61~33之间的随机整数,添加到集合,并遍历
 
public class Demo02ArrayListMethod {
  public static void main(String[] args) {
    ArrayList<Integer> list = new ArrayList<Integer>();
    list.add(1);
    list.add(2);
    list.add(3);
    list.add(4);
 
    System.out.println(list);     
  }
}

打印集合方法

代码展示:

public class Test03ArrayList {
  public static void main(String[] args) {
    // 创建集合对象
    ArrayList<String> list = new ArrayList<String>();
 
    // 添加字符串到集合中
		    list.add("张三丰");
		    list.add("宋远桥");
		    list.add("张无忌");    
		    list.add("殷梨亭");      // 调用方法    
		    printArrayList(list);  
  }    
      public static void printArrayList(ArrayList<String> list) {     
      // 拼接左括号    
		       System.out.print("{");    
		        // 遍历集合     
		       for (int i = 0; i < list.size(); i++) {      
		        // 获取元素       
		       String s = list.get(i);      
		        // 拼接@符号       
		       if (i != list.size()1) {         
		       System.out.print(s + "@");      
		        } else {         
		        // 拼接右括号        
		         System.out.print(s + "}");       
        		 }   
       		 }  
       } 
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值