java第3天:Scanner,Random,ArrayList
第一章:Scanner从入门到放弃
1 API的概述和使用步骤
API简称应用程序编程接口,是JDK给我们提供好的可以直接使用的类和方法,是程序员随手使用的字典。
***
2 Scanner的概述
2-1 引用类型的一般使用步骤
1:导包
- import 包路径.类名称
- 如果需要导入的类和当前类在在同一个包下面,则不需要导入。
只有java.lang下的类不需要导包,其它都需要导包。
2:创建
格式:类 对象名 = new 类名称();
3 使用
对象名.成员变量
对象名.成员方法();
***
3 第一个Scanner的使用实例
代码块
package demo1;
//导包
import java.util.Scanner;
public class demo {
public static void main(String[] args) {
// 创建对象
Scanner scr = new Scanner(System.in);
System.out.println("请输入数字:");
// 调用方法
int num = scr.nextInt();
System.out.println("输入的数字是:"+scr);
}
}
4 利用Scanner输入两个数字,求和
代码块
package demo1;
import java.util.Scanner;
public class Student {
public static void main(String[] args) {
Scanner src = new Scanner(System.in);
System.out.println("请输入第一个数字:");
int num = src.nextInt();
System.out.println("请输入第二个数字:");
int num2 = src.nextInt();
System.out.println("两个数字的和是"+(num+num2));
}
}
5 匿名对象的说明
匿名对象只使用一次,如果有些对象只使用一次,那么就用匿名对象。
格式:类名称();
5-1 匿名对象的使用
package demo1;
public class demo {
public static void main(String[] args) {
new Student().name = "wangsiyu";
System.out.println(new Student().name);
思考:为什么打印出来的是空?是因为又重新new了一个匿名对象
}
}
6 匿名对象作为方法的参数和返回值
任何数据类型,都可以作为方法的参数和返回值
6-1 匿名对象作为参数
代码块
package demo1;
import java.util.Scanner;
public class demo {
public static void main(String[] args) {
method1(new Scanner(System.in));
// 这里method可以直接调用,是因为是static静态方法
}
public static void method1(Scanner src){
System.out.println(src.nextInt());
}
}
6-2 匿名对象作为方法的返回值
package demo1;
import java.util.Scanner;
public class demo {
public static void main(String[] args) {
Scanner src = method2();
System.out.println(src.nextInt());
}
public static Scanner method2(){
return new Scanner(System.in);
}
}
第二章:Random从入门到放弃
7 Random概述
- 用来生成随机数字
代码块
package demo1;
import java.util.Random;
public class randomdemo {
public static void main(String[] args) {
Random rdm = new Random();
System.out.println(rdm.nextInt());
}
}
8 Random生成指定范围的随机数
random.nextInt(20) 表示从[0,20)之间的随机数
package demo1;
import java.util.Random;
public class randomdemo {
public static void main(String[] args) {
Random rdm = new Random();
System.out.println(rdm.nextInt(20));
}
}
9 Random练习1:调用方法,要求键盘输入一个数字n,然后生成1—n之间的随机数
package demo1;
import java.util.Random;
import java.util.Scanner;
/*调用方法,要求键盘输入一个数字n,然后生成1—n之间的随机数*/
public class randomdemo {
public static void main(String[] args) {
System.out.println("请输入一个数字n,您将获得1-n之间的随机数");
Scanner scr = new Scanner(System.in);
int res = scr.nextInt();
method(res);
}
public static void method(int n){
System.out.println(new Random().nextInt(n));
}
}
# 10 Random练习2:给用户三次机会猜数字,每次提示数字比正确的大还是小,猜大小
package demo1;
import java.util.Random;
import java.util.Scanner;
/*调用方法,要求键盘输入一个数字n,然后生成1—n之间的随机数
public class randomdemo {
public static void main(String[] args) {
int finalNum = 429;
int count = 0;
System.out.println("请输入一个数字:");
while (count<3){
Scanner scr = new Scanner(System.in);
int num = scr.nextInt();
if(num>finalNum){
System.out.println("请输入小一点数字");
count++;
continue;
}
else if (num<finalNum){
System.out.println("请输入大一点数字");
count++;
continue;
}
else {
System.out.println("恭喜输入正确");
break;
}
}
}
}
第三章:ArrayList
11 数组对象
定义一个数组,存放3个Student对象
```
package demo1;
public class mystu {
public static void main(String[] args) {
Student[] array = new Student[3];
Student one = new Student();
Student two = new Student();
Student three = new Student();
array[0] = one;
array[0] = two;
array[0] = three;
array[0].setName("wangsiyu");
System.out.println(array[0].getName());
}
}
# 12 ArrayList集合概述
>数组array的长度是不可发生改变的,ArrayList的长度是可变的。
>ArrayList<E>中E代表泛型,泛型只能是引用类型,不可以是基本类型
>格式:ArrayList<String> list = new ArrayList<>();
package demo1;
import java.util.ArrayList;
public class arraylistdemo {
public static void main(String[] args) {
ArrayList list= new ArrayList<>();
list.add("wangsiyu");
list.add("nezha");
list.add("hognhaier");
System.out.println(list);
// [wangsiyu, nezha, hognhaier]
}
}
# 13 ArrayList集合常用方法和遍历
- 添加元素 add()
- 删除元素 remove(index)
- 查询元素 get(index)
- 获取集合长度size()
package demo1;
import java.util.ArrayList;
public class arraylistdemo {
public static void main(String[] args) {
ArrayList list= new ArrayList<>();
list.add("wangsiyu");
list.add("nezha");
list.add("hognhaier");
System.out.println(list);
// [wangsiyu, nezha, hognhaier]
list.remove(2);
System.out.println(list.get(0));
System.out.println(list);
}
}
###集合的遍历
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
# 14 集合存储基本数据类型的解决办法
>必须使用基本数据的包装类
基本数据类型|包装类
:-|:-|
byte|Byte
short|Short
int|Integer(特殊)
long|Long
float|Float
double|Double
char|Character
boolean|Boolean
***
# 15 练习题1
生成6个1-33之间的随机整数,添加到集合并遍历
package demo1;
//生成6个1-33之间的随机整数,添加到集合并遍历
import java.util.Random;
import java.util.ArrayList;
public class mystu {
public static void main(String[] args) {
// 创建一个集合
ArrayList list = new ArrayList<>();
for (int i = 0; i < 6; i++) {
// 创建一个随机数
Random rdm = new Random();
int res = rdm.nextInt(32);
list.add(res+1);
}
System.out.println(list);
}
}
# 16 练习题2 优化15,要求低耦合,可复用,并拿到集合最大值
package demo1;
//生成n个1-m之间的随机整数,添加到集合并遍历,并拿到集合最大值
import java.util.Random;
import java.util.ArrayList;
public class mystu {
public static void main(String[] args) {
// 创建一个集合
ArrayList finalarray = ranMethod(6,33);
int finalRes = orderMethod(finalarray);
System.out.println("集合是"+finalarray+"集合中的最大值是"+finalRes);
}
public static ArrayList<Integer> ranMethod(int n,int m){
// 其中n表示几位,m表示最大的取值数
ArrayList list = new ArrayList<>();
for (int i = 0; i < n; i++) {
// 创建一个随机数
Random rdm = new Random();
int res = rdm.nextInt(m);
list.add(res+1);
}
return list;
}
public static int orderMethod(ArrayList arrlist){
int max = arrlist.get(0);
for (int i = 0; i < arrlist.size(); i++) {
if(max<arrlist.get(i)){
max = arrlist.get(i);
}
}
return max;
}
}
# 17筛选随机数
要求:大集合存入20个100以内随机数,使用方法,筛选出偶数添加到另一个集合并打印
package demo1;
//大集合存入n个100以内随机数,
// 使用方法,筛选出偶数添加到另一个集合并打印
import java.util.Random;
import java.util.ArrayList;
public class demo3 {
public static void main(String[] args) {
System.out.println(methodEven(methodRandom(50)));
}
public static ArrayList methodRandom(int n){
// n代表个数
ArrayList list = new ArrayList<>();
Random rdm = new Random();
for (int i = 0; i < n; i++) {
int num = rdm.nextInt(100);
list.add(num);
}
return list;
}
public static ArrayList<Integer> methodEven(ArrayList<Integer> list){
ArrayList<Integer> smallArrayList = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
if(list.get(i)%2==0){
smallArrayList.add(list.get(i));
}
}
return smallArrayList;
}
}
```
18 学习心得
今天是学习java的第三天,哇塞,戴着耳机,听着音乐,在键盘上敲击代码的声音,仿佛我在控制这全世界,可以为所欲为,思想所到之地,万物皆可coding,不时被这种成就感冲击着我的天灵盖,这个世界会好吗?
java第3天:Scanner,Random,ArrayList的更多相关文章
- 转:java怎么用一行代码初始化ArrayList
java怎么用一行代码初始化ArrayList 您可以创建一个工厂方法: public static ArrayList<String> createArrayList(String .. ...
- 在Java中怎样把数组转换为ArrayList?
翻译自:How to Convert Array to ArrayList in Java? 本文分析了Stack Overflow上最热门的的一个问题的答案,提问者获得了很多声望点,使得他得到了在S ...
- java中把list列表转为arrayList以及arraylist数组截取的简单方法
java中把list列表转为arrayList以及arraylist数组截取的简单方法 package xiaobai; import java.util.ArrayList; import java ...
- Java集合(2)一 ArrayList 与 LinkList
目录 Java集合(1)一 集合框架 Java集合(2)一 ArrayList 与 LinkList Java集合(3)一 红黑树.TreeMap与TreeSet(上) Java集合(4)一 红黑树. ...
- Java集合类源码解析:ArrayList
目录 前言 源码解析 基本成员变量 添加元素 查询元素 修改元素 删除元素 为什么用 "transient" 修饰数组变量 总结 前言 今天学习一个Java集合类使用最多的类 Ar ...
- Java 容器 & 泛型:二、ArrayList 、LinkedList和Vector比较
Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket 继续上一篇的容器文章认识容器,泥瓦匠慢慢带你们走进List的容器解说.今天泥瓦匠想说说 ArrayLi ...
- Java如何用一行代码初始化ArrayList
参考链接: 1.Initialization of an ArrayList in one line 2.java怎么用一行代码初始化ArrayList
- Java集合(1):ArrayList
Java容器类的用途是“保存对象”,分为两类:Map——存储“键值对”组成的对象:Collection——存储独立元素.Collection又可以分为List和Set两大块.List保持元素的顺序(有 ...
- java中ThreadLocalRandom类和Random类的使用
package frank; import java.lang.*; import java.util.*;//工具类一般都在util里面 import java.util.concurrent.Th ...
随机推荐
- CF - 1106 E Lunar New Year and Red Envelopes DP
题目传送门 题解: 首先要处理出每个时间点会选择哪一个线段. 对于这个问题,可以用multiset去维护信息. 当时间线开始的时候,往mutiset里面插入这个信息,当时间线结束的时候,删除这个信息. ...
- Swift从入门到精通第八篇 - 方法 初识
方法(学习笔记) 环境Xcode 11.0 beta4 swift 5.1 方法 结构体.枚举.类都可以定义方法(实例方法.类型方法) 实例方法(Instance Methods) 实例方法只能用实例 ...
- 爬虫基本知识之C/S交互
概念 爬虫就是对网页的获取. 一般获取的网页中又有通向其他网页的通路,我们叫做超链接,那么就可以通过这样的通路获取更多其他的网页,就像一只在网路上爬行的蜘蛛,所以俗称爬虫. 爬虫的工作原理和浏览器浏览 ...
- RHEL7破解密码操作步骤
首先查看系统是什么版本 cat /etc/redhat-release 第1步:然后重启Linux系统并出现引导界面时,按下键盘上的e键进入内核编辑界面. 第2步:在Linux16 参数这行的最后面追 ...
- yum rpm apt-get wget 辨析
1)wget: 类似于迅雷,是一种下载工具,通过HTTP.HTTPS.FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理名字是World Wide Web”与“get”的结合.类似于cur ...
- FreeSql (二十四)Linq To Sql 语法使用介绍
原本不支持 IQueryable 主要出于使用习惯的考虑,如果继承 IQueryable,编写代码的智能总会提示出现一堆你不想使用的方法(对不起,我有强迫症),IQueryable 自身提供了一堆没法 ...
- IDEA 配置Springboot项目热部署
实现的方式概述 注意以下的热部署方式在IDEA是默认没有打开自动编译的,手动编译需要快捷键(Ctrl+Shift+F9),自动编译的修改配置如下:(注意刷新不要太快,会有1-2秒延迟) File-Se ...
- 从零开始入门 K8s| K8s 的应用编排与管理
作者 | 张振 阿里巴巴高级技术专家 一.资源元信息 1. Kubernetes 资源对象 我们知道,Kubernetes 的资源对象组成:主要包括了 Spec.Status 两部分.其中 Spec ...
- logback配置方法
logback是一个通用可靠.快速灵活的日志框架,它替代了log4j,和slf4j组成新的日志系统. slf4j是一个日志门面,为其他各种日志框架提供了统一的接口,代码中使用slf4j可以避免对某一种 ...
- [Leetcode] 第324题 摆动排序II
一.题目描述 给定一个无序的数组 nums,将它重新排列成 nums[0] < nums[1] > nums[2] < nums[3]... 的顺序. 示例 1: 输入: nums ...