第一章: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的更多相关文章

  1. 转:java怎么用一行代码初始化ArrayList

    java怎么用一行代码初始化ArrayList 您可以创建一个工厂方法: public static ArrayList<String> createArrayList(String .. ...

  2. 在Java中怎样把数组转换为ArrayList?

    翻译自:How to Convert Array to ArrayList in Java? 本文分析了Stack Overflow上最热门的的一个问题的答案,提问者获得了很多声望点,使得他得到了在S ...

  3. java中把list列表转为arrayList以及arraylist数组截取的简单方法

    java中把list列表转为arrayList以及arraylist数组截取的简单方法 package xiaobai; import java.util.ArrayList; import java ...

  4. Java集合(2)一 ArrayList 与 LinkList

    目录 Java集合(1)一 集合框架 Java集合(2)一 ArrayList 与 LinkList Java集合(3)一 红黑树.TreeMap与TreeSet(上) Java集合(4)一 红黑树. ...

  5. Java集合类源码解析:ArrayList

    目录 前言 源码解析 基本成员变量 添加元素 查询元素 修改元素 删除元素 为什么用 "transient" 修饰数组变量 总结 前言 今天学习一个Java集合类使用最多的类 Ar ...

  6. Java 容器 & 泛型:二、ArrayList 、LinkedList和Vector比较

    Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket 继续上一篇的容器文章认识容器,泥瓦匠慢慢带你们走进List的容器解说.今天泥瓦匠想说说 ArrayLi ...

  7. Java如何用一行代码初始化ArrayList

    参考链接: 1.Initialization of an ArrayList in one line 2.java怎么用一行代码初始化ArrayList

  8. Java集合(1):ArrayList

    Java容器类的用途是“保存对象”,分为两类:Map——存储“键值对”组成的对象:Collection——存储独立元素.Collection又可以分为List和Set两大块.List保持元素的顺序(有 ...

  9. java中ThreadLocalRandom类和Random类的使用

    package frank; import java.lang.*; import java.util.*;//工具类一般都在util里面 import java.util.concurrent.Th ...

随机推荐

  1. atcoder E - Jigsaw(思维)

    题目链接:http://agc017.contest.atcoder.jp/tasks/agc017_e 题解:这题很巧妙运用了cnt[i]抽象的表示了上下互补的状态,最后上面突出的一定要处理完.下面 ...

  2. HDU-1532 网络流裸题

    HDU-1532 题意简单的来说就是从1点到n点,最大的流量是多少. 代码: #include<bits/stdc++.h> using namespace std; #define Fo ...

  3. open的正确使用

    open一个对象的时候,不确定他是图片还是文本啊 #----------------------- import io   with open('photo.jpg', 'rb') as inf:   ...

  4. Vue组件间通信方式

    一.Props传递数据 在父组件中使用子组件,本质通过v-bind绑定属性传入子组件,子组件通过props接收父组件传入的属性 <template> <div> 父组件:{{m ...

  5. Matlab2016b破解安装教程——超详细

    一.MATLAB是什么 MATLAB :是美国MathWorks公司出品的商业数学软件,用于算法开发.数据可视化.数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simuli ...

  6. 基于通用jar、动态配置、组件编排的会员任务中心系统设计

    # 一.聊聊本文想说什么:   为更好帮助商家的会员快速成长,保持用户活性,完善用户的成长体系,有赞用户中心-会员成长团队基于现有的业务场景,设计了一套较完备任务中心系统.同时也有很多通用技术组件能够 ...

  7. Node.js之模块机制

    > 文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. ![file](https://img2018.cnblogs.com/blog/830272/20 ...

  8. python里面的xlrd模块详解

    那我就一下面积个问题对xlrd模块进行学习一下: 1.什么是xlrd模块? 2.为什么使用xlrd模块? 3.怎样使用xlrd模块? 1.什么是xlrd模块? ♦python操作excel主要用到xl ...

  9. Django中自定义模型管理器(Manager)及方法

    1.自定义管理器(Manager) 在语句Book.objects.all()中,objects是一个特殊的属性,通过它来查询数据库,它就是模型的一个Manager.每个Django模型至少有一个ma ...

  10. Java位运算符&、|、^、>>、<<、~、>>>

    如果要搞懂Java中的位运算符,首先要搞懂二进制的运算,之前一篇有介绍详细请看 二进制运算-十进制与二进制的转换 Java中的位运算符有:&(按位与).|(按位或).^(按位异或).>& ...