java基础--Scanner类、Random类、ArrayList 类(IDEA版)
第一章 Scanner类
Scanner类的功能:
可以实现键盘输入数据,到程序当中。
备注:
System.in 系统输入指的是通过键盘录入数据。
引用类型的一般使用步骤:
- 导包
import 包路径.类名称;
如果需要使用的目标类,和当前类位于同一个包下,则可以省略导包语句不写。
只有java.lang包下的内容不需要导包,其他的包都需要import语句。 - 创建
类名称 对象名 = new 类名称(); - 使用
对象名.成员方法名()
获取键盘输入的一个int数字:int num = sc.nextInt();
获取键盘输入的一个字符串:String str = sc.next();
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);
匿名对象【了解】
创建对象的标准格式:
类名称 对象名 = new 类名称();
匿名对象就是只有右边的对象,没有左边的名字和赋值运算符。
new 类名称();
注意事项:匿名对象只能使用唯一的一次,下次再用不得不再创建一个新对象。
使用建议:如果确定有一个对象只需要使用唯一的一次,就可以用匿名对象。
public static void main(String[] args) {// 左边的one就是对象的名字Person one = new Person();one.name = "高圆圆";one.showName(); // 我叫高圆圆System.out.println("===============");// 匿名对象new Person().name = "赵又廷";new Person().showName(); // 我叫:null}
1.普通的使用方式
Scanner sc = new Scanner(System.in);int num = sc.nextInt();
2.匿名对象的方式
int num = new Scanner(System.in).nextInt();System.out.println("输入的是:" + num);
3.使用一般的写法传入参数
Scanner sc = new Scanner(System.in);
methodParam(sc);
4.使用匿名对象来传入参数
methodParam(new Scanner(System.in));
public static void methodParam(Scanner sc) {int num = sc.nextInt();System.out.println("输入的是:" + num);}
5.使用匿名对象作为方法的返回值
Scanner sc = methodReturn();int num = sc.nextInt();System.out.println("输入的是:" + num);public static Scanner methodReturn() {Scanner sc = new Scanner(System.in);return sc;return new Scanner(System.in);}
第二章:random类
Random类用来生成随机数字。使用起来也是三个步骤:
使用方法
- 导包
import java.util.Random; - 创建
Random r = new Random(); // 小括号当中留空即可 - 使用
获取一个随机的int数字(范围是int所有范围,有正负两种):int num = r.nextInt()
获取一个随机的int数字(参数代表了范围,左闭右开区间):int num = r.nextInt(3)
实际上代表的含义是:[0,3),也就是0~2
第三章:ArrayList类
数组有一个缺点:一旦创建,程序运行期间长度不可以发生改变。
所以使用集合:ArrayList
使用数组储存对象
public static void main(String[] args) {// 首先创建一个长度为3的数组,里面用来存放Person类型的对象Person[] array = new Person[3];Person one = new Person("迪丽热巴", 18);Person two = new Person("古力娜扎", 28);Person three = new Person("玛尔扎哈", 38);// 将one当中的地址值赋值到数组的0号元素位置array[0] = one;array[1] = two;array[2] = three;System.out.println(array[0]); // 地址值System.out.println(array[1]); // 地址值System.out.println(array[2]); // 地址值System.out.println(array[1].getName()); // 古力娜扎}
数组的长度不可以发生改变。
但是ArrayList集合的长度是可以随意变化的。
对于ArrayList来说,有一个尖括号代表泛型。
泛型:也就是装在集合当中的所有元素,全都是统一的什么类型。
注意:泛型只能是引用类型,不能是基本类型。
注意事项:
对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。
如果内容是空,得到的是空的中括号:[]
实例:
public static void main(String[] args) {// 创建了一个ArrayList集合,集合的名称是list,里面装的全都是String字符串类型的数据// 备注:从JDK 1.7+开始,右侧的尖括号内部可以不写内容,但是<>本身还是要写的。ArrayList<String> list = new ArrayList<>();System.out.println(list); // []// 向集合当中添加一些数据,需要用到add方法。list.add("赵丽颖");System.out.println(list); // [赵丽颖]list.add("迪丽热巴");list.add("古力娜扎");list.add("玛尔扎哈");System.out.println(list); // [赵丽颖, 迪丽热巴, 古力娜扎, 玛尔扎哈]// list.add(100); // 错误写法!因为创建的时候尖括号泛型已经说了是字符串,添加进去的元素就必须都是字符串才行}
ArrayList当中的常用方法有:
public boolean add(E e):向集合当中添加元素,参数的类型和泛型一致。返回值代表添加是否成功。 备注:对于ArrayList集合来说,add添加动作一定是成功的,所以返回值可用可不用。
但是对于其他集合(今后学习)来说,add添加动作不一定成功。public E get(int index):从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素。
public E remove(int index):从集合当中删除元素,参数是索引编号,返回值就是被删除掉的元素。
public int size():获取集合的尺寸长度,返回值是集合中包含的元素个数。
示例:
public static void main(String[] args) {ArrayList<String> list = new ArrayList<>();System.out.println(list); // []// 向集合中添加元素:addboolean success = list.add("柳岩");System.out.println(list); // [柳岩]System.out.println("添加的动作是否成功:" + success); // truelist.add("高圆圆");list.add("赵又廷");list.add("李小璐");list.add("贾乃亮");System.out.println(list); // [柳岩, 高圆圆, 赵又廷, 李小璐, 贾乃亮]// 从集合中获取元素:get。索引值从0开始String name = list.get(2);System.out.println("第2号索引位置:" + name); // 赵又廷// 从集合中删除元素:remove。索引值从0开始。String whoRemoved = list.remove(3);System.out.println("被删除的人是:" + whoRemoved); // 李小璐System.out.println(list); // [柳岩, 高圆圆, 赵又廷, 贾乃亮]// 获取集合的长度尺寸,也就是其中元素的个数int size = list.size();System.out.println("集合的长度是:" + size);}
集合的遍历
public static void main(String[] args) {ArrayList<String> list = new ArrayList<>();list.add("迪丽热巴");list.add("古力娜扎");list.add("玛尔扎哈");// 遍历集合for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}
如果希望向集合ArrayList当中存储基本类型数据,必须使用基本类型对应的“包装类”。
基本类型 包装类(引用类型,包装类都位于java.lang包下)
byte Byte
short Short
int Integer 【特殊】
long Long
float Float
double Double
char Character 【特殊】
boolean Boolean
从JDK 1.5+开始,支持自动装箱、自动拆箱。
自动装箱:基本类型 --> 包装类型
自动拆箱:包装类型 --> 基本类型
public class Demo05ArrayListBasic {public static void main(String[] args) {ArrayList<String> listA = new ArrayList<>();// 错误写法!泛型只能是引用类型,不能是基本类型
// ArrayList<int> listB = new ArrayList<>();ArrayList<Integer> listC = new ArrayList<>();listC.add(100);listC.add(200);System.out.println(listC); // [100, 200]int num = listC.get(1);System.out.println("第1号元素是:" + num);}
java基础--Scanner类、Random类、ArrayList 类(IDEA版)相关推荐
- Java基础语法(九)——String类
文章目录 Java基础语法(九)--String类 一.定义方式 二.内存 三.字符串比较相等 四.字符串常量池 (1) 直接赋值 (2)采用构造方法 (3)intern 的使用 五.理解字符串不可变 ...
- java写一个外网访问的接口_【JAVA基础】一个案例搞懂类、对象、重载、封装、继承、多态、覆盖、抽象和接口概念及区别(中篇)...
0 前言 初学JAVA时,总会对一些概念一知半解,相互混淆,不明其设计的用意,如类.对象.重载.封装.继承.多态.覆盖.抽象类.接口概念.为便于理解和巩固,本文将基于一个案例及其变形,展现各个概念的定 ...
- Scanner、Random和ArrayList的基本使用规则;猜数字的小游戏程序与随机不重复点名的程序
介绍Scanner类.Random类.ArrayList类的基本使用,完成案例随机不重复点名的程序 Scanner Scanner类是一个文本扫描器类,对字符串文本进行扫描操作. Scanner主要作 ...
- 综合案例:使用Scanner,Random,ArrayList完成一个不重复的点名程序
第一步:我们要使用Arrays.asList创建一个固定数组 List<String> list = Arrays.asList("玉桂狗", "库洛米&qu ...
- java random api_API中的Scanner、Random、ArrayList、String类
API概述 API(Application Programmming Interface)应用程序编程接口,javaAPI对于程序员来说就是一本可以检索查找的[字典],是JDK官方提供给程序开发者使用 ...
- Java基础-Scanner类
java.util.Scanner是java5的新特征,我们可以通过Scanner类来获取用户的输入 基本语法: Scanner s = new Scanner(System.in); 下面演示简单数 ...
- 14 Java集合(集合框架+泛型+ArrayList类+LinkedList类+Vector类+HashSet类等)
本篇主要是集合框架基础和List集合,Map集合等等后续更 集合 14.1 集合框架 14.1.1 概念 14.1.2 集合架构 14.2 Collection接口 14.2.1 常用方法 14.3 ...
- java输入scanner 报错_Java常用类:Scanner类
一.简介 java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入. 二.创建对象 示例: Scanner scanner = new Scanner(Sy ...
- Java基础(三)对象与类
1.类的概念:类是构造对象的模板或蓝图.由类构造对象的过程称为创建类的实例. 2.封装的概念:封装(有时称为数据隐藏)是与对象有关的一个重要概念.对象中的数据称为实例域,操纵数据的过程称为方法.对于每 ...
最新文章
- 【问题收录】INSTALL_FAILED_NO_MATCHING_ABIS
- 秒杀业务架构优化之路--转
- 5月16 JSON的一些知识点及AJAX的应用
- Linux iptables:规则原理和基础
- 264中 POC的计算方法
- 无锡东亭计算机培训班,锡山区东亭办公自动化培训、电脑培训班有哪些?
- Docker实现隔离
- CMU 15-213 Introduction to Computer Systems学习笔记(4) Machine-Level Programming-Basic
- flex builder
- 计算机硬盘根目录是什么,解决方案:硬盘根目录是什么意思?它存储在哪里?...
- 默孚龙电滑环,360度旋转防止绕线
- 数学中的 argmax 和 argmin 什么意思
- Oracle_Basic_Concept(RolePriviledge)
- Python 打造微信群聊天机器人(带操作界面)
- 阿里云域名备案问题 注销主体步骤
- Python 通过文本生成词云
- 2022-2028年中国第三方电子支付市场投资分析及前景预测报告
- 基于阿里云容器镜像服务加速K8S镜像下载(二)
- 机器学习方法汇总——泰坦尼克号之灾难分析
- U盘数据恢复软件,如何从U盘恢复删除的文件
热门文章
- css的常见6种布局方式
- 数据库中schema与catalog简介
- iOS巅峰之已经上架App在appStore上搜索不到的解决方案
- EXCEL调用网站api查询IP归属
- 今天,值得回忆的一天
- c语言中存贮班级学生的变量,C语言----变量教案.docx
- 劳拉快跑:假如你今天晚一秒钟出门的话……
- 太极熊猫服务器怎么都在维护,太极熊猫3进不去怎么办 太极熊猫3登录不了解决方法-APK8安卓网...
- 考研必知 报考时间|报名照|网上确认|初试复试注意事项
- 【我的OpenGL学习进阶之旅】收集到的关于如何在OpenGL ES上使用MSAA(Multisample Anti-aliasing)实现抗锯齿效果的资料和源码