java_Scanner类、Random类、ArrayList 类的使用
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 类的使用的更多相关文章
- Date日期类,Canlendar日历类,Math类,Random随机数学类
Date日期类,SimpleDateFormat日期格式类 Date 表示特定的时间,精确到毫秒 常用方法 getTime() setTime() before() after() compareT ...
- Java API —— ArrayList类 & Vector类 & LinkList类
1.ArrayList类 1)ArrayList类概述 · 底层数据结构是数组,查询快,增删慢 · 线程不安全,效率高 2)ArrayList案例 ...
- Scanner类、Random类、ArrayList 类
1.1 什么是Scanner类一个可以解析基本类型和字符串的简单文本扫描器. 例如,以下代码使用户能够从 System.in 中读取一个数: Scanner sc = new Scanner(Syst ...
- 01 语言基础+高级:1-3 常用API第一部分_day07【Scanner类、Random类、ArrayList类】
day07[Scanner类.Random类.ArrayList类] Scanner类Random类ArrayList类 教学目标 能够明确API的使用步骤能够使用Scanner类获得键盘录入数据能够 ...
- java自学第4期——:Scanner类、匿名对象介绍、Random类、ArrayList集合、标准类格式、String类、static静态、Arrays工具类、Math类(1)
一.Scanner类 1.api简介: 应用程序编程接口 2.Scanner类: 作用:获取键盘输入的数据 位置: java.util.Scanner. 使用:使用成员方法nextInt() 和 ne ...
- Scanner类、匿名对象、Random类、ArrayList集合、String类、static静态类、math类和Arrays工具类
一.Scanner类 1.除了八种基本数据类型,其他都是引用类型: 引用类型使用三步骤: 2.Scanner类 引用jdk提供的类,Scanner在java.util包下,不在java.lang包(S ...
- 集合 ArrayList 类
集合的基本信息: System.Collections 系统类中的收藏类,定义各种对象(如列表,队列,位数组,哈希表和字典)的集合 常用的集合为ArrayList类:特殊集合一般会用到Queue队 ...
- Java中ArrayList类详解
1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和ILis ...
- 实用的随机数生成类Random:测试(随机产生100个不重复的正整数)
实用的随机数生成类Random:测试(使用Random类随机生成100个不重复的正整数) 一.之前我们使用随机数用的是Math类的random()方法: tips: 产生随机数(0~9中任意整数)的方 ...
随机推荐
- 安卓移动端line-height垂直居中出现偏移的解决方法
目前移动端在项目使用的rem,安卓手机上line-height属性,让它的值等于height,结果发现是不居中的. 出现此问题的原因是Android在排版计算的时候参考了primyfont字体的相关属 ...
- Xamarin.Android调用百度地图
下载百度地图API Android SDK 在Visual Studio中创建绑定库(Android)项目 将jar文件添加到Jars文件夹中 生成该项目,如果遇到变量名称之类的问题,可在Transf ...
- day6:双向循环练习&pass_break_continue&for循环
双向循环练习 1.打印10行10列的小星星(两个循环) # j 外循环用来控制行数 j = 0 while j < 10: # i 打印一行十个星星 i = 0 while i < 10: ...
- 快速突击 Spring Cloud Gateway
认识 Spring Cloud Gateway Spring Cloud Gateway 是一款基于 Spring 5,Project Reactor 以及 Spring Boot 2 构建的 API ...
- 压缩并上传图片到阿里云(jfinal)
/** * 获取上传文件 * * @param r * @Return: com.oreilly.servlet.multipart.FilePart */public static FilePart ...
- vue & 百度地图:在地图上绘制多边形
<template> <div class="hello"> <div style="margin-bottom:10px"> ...
- 如何使用ABP进行软件开发(2) 领域驱动设计和三层架构的对比
简述 上一篇简述了ABP框架中的一些基础理论,包括ABP前后端项目的分层结构,以及后端项目中涉及到的知识点,例如DTO,应用服务层,整洁架构,领域对象(如实体,聚合,值对象)等. 笔者也曾经提到,AB ...
- Hadoop之HDFS常用文件操作命令
命令基本格式:hadoop fs -cmd < args > 1. ls 列出hdfs文件系统根目录下的目录和文件hadoop fs -ls /dirhadoop fs -ls -R /d ...
- 带你理解Lock锁原理
同样是锁,先说说synchronized和lock的区别: synchronized是java关键字,是用c++实现的:而lock是用java类,用java可以实现 synchronized可以锁住代 ...
- 5G UE能力-UE capability information解析(ENDC)
本文主要以EN-DC(双连接),mmw(毫米波)的接入过程中的为例,其他以此类推,整理不易,望多推荐 第一次UE能力问询 第一次能力问询主要是基站向UE问询4G和3G能力 第一次UE能力上报 第一次U ...