Scanner类

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

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

引用类型使用步骤

导包

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

格式:import 包名.类名;

创建对象

调用该类的成员方法,完成指定功能。

格式:变量名.方法名();

Scanner使用步骤

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

Random类

//1.导包
import java.util.Random;
public class Demo1 {
public static void main(String[] args) {
//创建随机数对象
Random r=new Random();
for(int i=0;i<30;i++){
//生成一个随机数(0-10之间的随机数(不包括10))
int number = r.nextInt(10);
//输出数据
System.out.println("number: "+number);
}
}
}

ArrayList类

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

ArrayList使用步骤

java.util.ArrayList < E > :该类需要 import导入使后使用。

< E > ,表示一种指定的数据类型,叫做泛型。 E ,取自Element(元素)的首字母。在出现 E 的地方,使用一种引用数据类型将其替换即可,表示我们将存储哪种引用类型的元素。代码如下:

ArrayList<String>,ArrayList<Student>

public ArrayList() :构造一个内容为空的集合。

基本格式:ArrayList<String> list=new ArrayList<String>();

在JDK 7后,右侧泛型的尖括号之内可以留空,但是<>仍然要写。简化格式:

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

public boolean add(E e) : 将指定的元素添加到此集合的尾部。

参数 E e ,在构造 ArrayList 对象时, < E > 指定了什么数据类型,那么 add(E e) 方法中,只能添加什么数据类型的对象。

使用ArrayList类,存储三个字符串元素,代码如下:

public class Demo1 {
public static void main(String[] args) {
//创建集合
ArrayList<String> list=new ArrayList<>();
System.out.println(list);
String s1="张三";
String s2="李四";
String s3="王五";
//将元素添加进集合
list.add(s1);
list.add(s2);
list.add(s3);
System.out.println(list);
}
}

常用方法和遍历

对于元素的操作,基本体现在——增、删、查。常用的方法有:

public boolean add(E e) :将指定的元素添加到此集合的尾部。

public E remove(int index) :移除此集合中指定位置上的元素。返回被删除的元素。

public E get(int index) :返回此集合中指定位置上的元素。返回获取的元素。

public int size() :返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界。

代码如下:

public class Demo1 {
public static void main(String[] args) {
//创建集合
ArrayList<String> list=new ArrayList<>();
list.add("Java");
list.add("Spring");
list.add("MyBatis");
//E get(int index) 返回此列表中指定位置的元素。
System.out.println(list.get(0));
System.out.println(list.get(1));
System.out.println(list.get(2));
//int size() 返回此列表中的元素数。
System.out.println(list.size());
//public E remove(int index)
String ele = list.remove(0);
System.out.println(ele);
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
}
}

存储基本数据类型

ArrayList 对象不能存储基本类型,只能存储引用类型的数据。类似 不能写,但是存储基本数据类型对应的包装类型是可以的。所以,想要存储基本类型数据, <> 中的数据类型,必须转换后才能编写,转换写法如下:

基本类型 基本包装类型
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

只有 Integer 和 Character 需要特殊记忆,其他基本类型只是首字母大写即可。

存储基本类型数据,代码如下:

public class Demo1 {
public static void main(String[] args) {
ArrayList<Integer> list=new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
System.out.println(list);
}
}

数值添加到集合练习

生成5个1~100之间的随机整数,添加到集合,并遍历

public class Demo1 {
public static void main(String[] args) {
//生成5个1~100之间的随机整数,添加到集合,并遍历
ArrayList<Integer> list=new ArrayList<>();
Random r=new Random();
for(int i=0;i<5;i++){
int number = r.nextInt(100)+1;
list.add(number);
}
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
}
}

对象添加到集合练习

自定义4个学生对象,添加到集合,并遍历

public class Demo1 {
public static void main(String[] args) {
//创建集合
ArrayList<Student> list=new ArrayList<>();
//创建学生对象
Student s1=new Student("张三",38);
Student s2=new Student("李四",45);
Student s3=new Student("王五",29);
Student s4=new Student("赵六",42);
//将元素添加到集合
list.add(s1);
list.add(s2);
list.add(s3);
list.add(s4);
for(int i=0;i<list.size();i++){
Student s = list.get(0);
System.out.println("姓名: "+s.getName()+";年龄: "+s.getAge());
}
}
}

java_Scanner类、Random类、ArrayList 类的使用的更多相关文章

  1. Date日期类,Canlendar日历类,Math类,Random随机数学类

    Date日期类,SimpleDateFormat日期格式类 Date  表示特定的时间,精确到毫秒 常用方法 getTime() setTime() before() after() compareT ...

  2. Java API —— ArrayList类 & Vector类 & LinkList类

    1.ArrayList类     1)ArrayList类概述         · 底层数据结构是数组,查询快,增删慢         · 线程不安全,效率高     2)ArrayList案例   ...

  3. Scanner类、Random类、ArrayList 类

    1.1 什么是Scanner类一个可以解析基本类型和字符串的简单文本扫描器. 例如,以下代码使用户能够从 System.in 中读取一个数: Scanner sc = new Scanner(Syst ...

  4. 01 语言基础+高级:1-3 常用API第一部分_day07【Scanner类、Random类、ArrayList类】

    day07[Scanner类.Random类.ArrayList类] Scanner类Random类ArrayList类 教学目标 能够明确API的使用步骤能够使用Scanner类获得键盘录入数据能够 ...

  5. java自学第4期——:Scanner类、匿名对象介绍、Random类、ArrayList集合、标准类格式、String类、static静态、Arrays工具类、Math类(1)

    一.Scanner类 1.api简介: 应用程序编程接口 2.Scanner类: 作用:获取键盘输入的数据 位置: java.util.Scanner. 使用:使用成员方法nextInt() 和 ne ...

  6. Scanner类、匿名对象、Random类、ArrayList集合、String类、static静态类、math类和Arrays工具类

    一.Scanner类 1.除了八种基本数据类型,其他都是引用类型: 引用类型使用三步骤: 2.Scanner类 引用jdk提供的类,Scanner在java.util包下,不在java.lang包(S ...

  7. 集合 ArrayList 类

    集合的基本信息: System.Collections   系统类中的收藏类,定义各种对象(如列表,队列,位数组,哈希表和字典)的集合 常用的集合为ArrayList类:特殊集合一般会用到Queue队 ...

  8. Java中ArrayList类详解

    1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和ILis ...

  9. 实用的随机数生成类Random:测试(随机产生100个不重复的正整数)

    实用的随机数生成类Random:测试(使用Random类随机生成100个不重复的正整数) 一.之前我们使用随机数用的是Math类的random()方法: tips: 产生随机数(0~9中任意整数)的方 ...

随机推荐

  1. 安卓移动端line-height垂直居中出现偏移的解决方法

    目前移动端在项目使用的rem,安卓手机上line-height属性,让它的值等于height,结果发现是不居中的. 出现此问题的原因是Android在排版计算的时候参考了primyfont字体的相关属 ...

  2. Xamarin.Android调用百度地图

    下载百度地图API Android SDK 在Visual Studio中创建绑定库(Android)项目 将jar文件添加到Jars文件夹中 生成该项目,如果遇到变量名称之类的问题,可在Transf ...

  3. day6:双向循环练习&pass_break_continue&for循环

    双向循环练习 1.打印10行10列的小星星(两个循环) # j 外循环用来控制行数 j = 0 while j < 10: # i 打印一行十个星星 i = 0 while i < 10: ...

  4. 快速突击 Spring Cloud Gateway

    认识 Spring Cloud Gateway Spring Cloud Gateway 是一款基于 Spring 5,Project Reactor 以及 Spring Boot 2 构建的 API ...

  5. 压缩并上传图片到阿里云(jfinal)

    /** * 获取上传文件 * * @param r * @Return: com.oreilly.servlet.multipart.FilePart */public static FilePart ...

  6. vue & 百度地图:在地图上绘制多边形

    <template> <div class="hello"> <div style="margin-bottom:10px"> ...

  7. 如何使用ABP进行软件开发(2) 领域驱动设计和三层架构的对比

    简述 上一篇简述了ABP框架中的一些基础理论,包括ABP前后端项目的分层结构,以及后端项目中涉及到的知识点,例如DTO,应用服务层,整洁架构,领域对象(如实体,聚合,值对象)等. 笔者也曾经提到,AB ...

  8. Hadoop之HDFS常用文件操作命令

    命令基本格式:hadoop fs -cmd < args > 1. ls 列出hdfs文件系统根目录下的目录和文件hadoop fs -ls /dirhadoop fs -ls -R /d ...

  9. 带你理解Lock锁原理

    同样是锁,先说说synchronized和lock的区别: synchronized是java关键字,是用c++实现的:而lock是用java类,用java可以实现 synchronized可以锁住代 ...

  10. 5G UE能力-UE capability information解析(ENDC)

    本文主要以EN-DC(双连接),mmw(毫米波)的接入过程中的为例,其他以此类推,整理不易,望多推荐 第一次UE能力问询 第一次能力问询主要是基站向UE问询4G和3G能力 第一次UE能力上报 第一次U ...