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. commons-fileload图片文件上传工具 , servlet文件图片上传案列

    本案列是java  maven工程小项目,提供个大家学习! 1.在pom.xml文件中导入依赖: <!--文件上传依赖--><dependency> <groupId&g ...

  2. Redis 分布式锁(一)

    前言 本文力争以最简单的语言,以博主自己对分布式锁的理解,按照自己的语言来描述分布式锁的概念.作用.原理.实现.如有错误,还请各位大佬海涵,恳请指正.分布式锁分两篇来讲解,本篇讲解客户端,下一篇讲解r ...

  3. JVM系列之:详解java object对象在heap中的结构

    目录 简介 对象和其隐藏的秘密 Object对象头 数组对象头 整个对象的结构 简介 在之前的文章中,我们介绍了使用JOL这一神器来解析java类或者java实例在内存中占用的空间地址. 今天,我们会 ...

  4. Python协程之Gevent模块

    背景 进程是操作系统分配资源的最小单位,每个进程独享4G的内存地址空间,因此进程内数据是安全的,检查间的通信需要使用特定的方法.同理,正是因为进程是数据安全的,所以导致进程的切换是一个很麻烦效率不高的 ...

  5. springMVC -- 对接UEditor(富文本编辑器)

    工作中需要用到UEditor编辑文本,在与springMVC进行整合时,出现了一些问题,结果导致,在进行图片上传时出现如下提示: 上网查询了很多相关资料,此处简要记录下,防止以后遇到类似问题. 一种方 ...

  6. java HashMap、HashTable、ConcurrentHashMap区别

    HashTable 底层数组+链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式是在修改数据时锁住整个HashTable,效率低,ConcurrentHashMap做了相 ...

  7. php实现导出数据分类合并单元格功能

    <?php $conn = mysql_connect("localhost","root","root"); $db = mysql ...

  8. 使用Spring Validation优雅地校验参数

    写得好的没我写得全,写得全的没我写得好 引言 不知道大家平时的业务开发过程中 controller 层的参数校验都是怎么写的?是否也存在下面这样的直接判断? public String add(Use ...

  9. jboss在eclipse里一直是starting解决方法之一

    jboss\server\default\deploy\jboss-web.deployer\server.xml中的端口设置必须与eclipse中jboss的端口设置的一直.否则就算可以访问 一会在 ...

  10. Python os.renames() 方法

    概述 os.renames() 方法用于递归重命名目录或文件.类似rename().高佣联盟 www.cgewang.com 语法 renames()方法语法格式如下: os.renames(old, ...