IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java学习6-API+Scanner+匿名对象+Random+对象数组+Arraylist集合 -> 正文阅读

[Java知识库]Java学习6-API+Scanner+匿名对象+Random+对象数组+Arraylist集合

1. API概述和使用步骤

Application Programming Interface,应用程序编程接口

?

?主要看三点:包路径、构造方法摘要、方法摘要

String类在java.lang包下

2. Scanner

2.1 Scanner基本使用

盘输入类;

导包语句在package下面,public class上面写。

package Demo05;

// 1.导包
import java.util.Scanner;

/*
使用方法:
获取键盘输入的一个int数字:int num = sc.nextInt();
获取键盘输入的一个字符串:String str = sc.next();
 */

public class Demo01Scanner {
    public static void main(String[] args) {
        // 2.创建Scanner类
        // 备注: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);
    }
}

?

?2.2 键盘输入两个数字求和

package Demo05;

import java.util.Scanner;

public class Demo02ScannerSum {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第1个整数:");
        int num1 = sc.nextInt();
        System.out.println("请输入第2个整数:");
        int num2 = sc.nextInt();
        System.out.println("求和结果是:" + (num1 + num2));
    }
}

?

2.3 键盘输入的三个数字的最大值

package Demo05;

import java.util.Scanner;

public class Demo03SannerMax {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第1个整数:");
        int num1 = sc.nextInt();
        System.out.println("请输入第2个整数:");
        int num2 = sc.nextInt();
        System.out.println("请输入第3个整数:");
        int num3 = sc.nextInt();

        int max = num3 > (num1 > num2 ? num1 : num2) ? num3 : (num1 > num2 ? num1 : num2);
        System.out.println("最大的数是:" + max);
    }
}

?

3. 匿名对象

3.1 匿名对象介绍

package Demo06;

/*
创建对象的标准格式:
类名称 对象名 = new 类名称();

匿名对象就是只有右边的对象,没有左边的名字和赋值运算符:
new 类名称();

注意事项:匿名对象只能使用唯一的一次,下次再用不得不再创建一个新对象。
使用建议:如果确定有一个对象只需要使用唯一的一次,就可以用匿名对象。
 */

public class Demo01Annoymous {
    public static void main(String[] args) {
        Person one = new Person();
        one.name = "哈哈哈";
        one.showName();
        System.out.println("================");

        // 匿名对象
        new Person().name = "嘿嘿嘿";
        new Person().showName(); // 我叫:null
    }
}

?

?3.2 匿名对象作为方法的参数和返回值

ALT + ENTER可以直接设置一个变量:?

package Demo06;

import java.sql.SQLOutput;
import java.util.Scanner;

public class Demo02Annoymous {
    public static void main(String[] args) {
        // 普通使用方式
//        Scanner sc = new Scanner(System.in);
//        int num1 = sc.nextInt();
//
//        //匿名对象方式
//        int num2 = new Scanner(System.in).nextInt();
//        System.out.println("输入的是:" + num2);

        // 使用匿名对象来进行传参
        methodParam(new Scanner(System.in));

        // 使用匿名对象作为返回值
        Scanner sc = methodReturn();
        System.out.println("请输入一个整数:");
        System.out.println("输入的是:" + sc.nextInt());
    }

    public static void methodParam(Scanner sc){
        System.out.println("请输入一个整数:");
        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);
    }
}

?

4. Random

4.1 Random概述和基本使用

用来产生随机数字

package Demo07;

import java.util.Random;

public class Demo01Random {
    public static void main(String[] args) {
        Random r = new Random();

        int num = r.nextInt();
        System.out.println("随机数是:" + num);
    }
}

?

?4.2 Random生成指定范围内的随机数

package Demo07;

import java.util.Random;

public class Demo02Random {
    public static void main(String[] args) {
        Random r = new Random();
        for (int i = 0; i < 5; i++) {
            // 范围实际上是0-4
            int num = r.nextInt(5);
            System.out.println(num);
        }
    }
}

?

4.3 生成1-n 之间的随机数

4.4 猜数字小游戏

?

package Demo07;

import java.util.Random;
import java.util.Scanner;

public class RandomGame {
    public static void main(String[] args) {
        Random r = new Random();
        int randomNum = r.nextInt(100) + 1;
        Scanner sc = new Scanner(System.in);
        while (true){
            System.out.println("请输入你猜测的数字:");
            int guessNum = sc.nextInt();
            if (guessNum < randomNum){
                System.out.println("猜小了,请重试!");
            } else if (guessNum > randomNum){
                System.out.println("猜大了,请重试!");
            } else {
                System.out.println("恭喜你,猜中啦!");
                break;
            }
        }
    }
}

5. 对象数组

package Demo08;
/*
题目:
定义一个数组,用来存储3个Person对象
数组有一个缺点,一旦创建,程序运行期间长度不可以发生改变
 */
public class Demo01Array {
    public static void main(String[] args) {
        Person[] array = new Person[3];
        Person one = new Person("哈哈哈",10);
        Person two = new Person("嘿嘿嘿",20);
        Person three = new Person("呵呵呵",30);
        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());
    }
}

?Demo08.Person@75412c2f
Demo08.Person@282ba1e
Demo08.Person@13b6d03
嘿嘿嘿

Process finished with exit code 0

6. Arraylist集合

6.1 Arraylist概述和基本使用

?

package Demo08;

import java.util.ArrayList;

public class Demo02ArrayList {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        System.out.println(list); // []
        // 向集合添加一些数据
        list.add("哈哈哈");
        System.out.println(list); // [哈哈哈]
        list.add("嘿嘿嘿");
        list.add("呵呵呵");
        list.add("吼吼吼");
        System.out.println(list); // [哈哈哈, 嘿嘿嘿, 呵呵呵, 吼吼吼]
    }
}

[]
[哈哈哈]
[哈哈哈, 嘿嘿嘿, 呵呵呵, 吼吼吼]

Process finished with exit code 0

?6.2?Arraylist常用方法和遍历

?

package Demo08;

import java.util.ArrayList;

public class Demo03ArrayMethod {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        System.out.println(list); // []

        // 向集合中添加元素:add
        boolean success = list.add("hhh");
        System.out.println(list);
        System.out.println("添加的动作是否成功:" + success);
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
        list.add("ddd");
        System.out.println(list); // [hhh, aaa, bbb, ccc, ddd]

        // 从集合中删除元素:remove。索引值从0开始。
        String whoRemoved = list.remove(2);
        System.out.println("被删除的是:" + whoRemoved); // bbb
        System.out.println(list);

        // 获取集合的长度尺寸,也就是其中的元素个数
        int size = list.size();
        System.out.println("集合的长度是:" + size);

        // 遍历集合
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
    }
}

[]
[hhh]
添加的动作是否成功:true
[hhh, aaa, bbb, ccc, ddd]
被删除的是:bbb
[hhh, aaa, ccc, ddd]
集合的长度是:4
hhh
aaa
ccc
ddd

Process finished with exit code 0

?6.3 ArrayList集合存储基本数据类型

泛型必须是引用类型,不能是基本类型

?

package Demo08;

import java.util.ArrayList;

public class Demo04ArrayListBasic {
    public static void main(String[] args) {
        ArrayList<String> listA = new ArrayList<>();
//        // 错误写法,泛型只能是引用类型,不能是基本类型
//        ArrayList<int> listB = new ArrayList<int>();
        ArrayList<Integer> listC = new ArrayList<>();
        listC.add(100);
        listC.add(200);
        System.out.println(listC);
        int num = listC.get(1);
        System.out.println("第1号元素是:" + num);
    }
}

[100, 200]
第1号元素是:200

Process finished with exit code 0

?6.4 ArrayList练习1 - 存储随机数字

package Demo08;

import java.util.ArrayList;
import java.util.Random;

public class Demo05ArrayListRandom {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();
        Random r = new Random();
        for (int i = 0; i < 6; i++) {
            list.add(r.nextInt(33) + 1);
        }
        for (int i = 0; i < list.size(); i++) {
            System.out.println("list 第" + i + "号元素是:" + list.get(i));
        }
    }
}

?list 第0号元素是:22
list 第1号元素是:15
list 第2号元素是:9
list 第3号元素是:33
list 第4号元素是:20
list 第5号元素是:8

Process finished with exit code 0

6.5?ArrayList练习2 - 存储自定义对象

?

?

package Demo08;

import java.util.ArrayList;

public class ArrayListStudemt {
    public static void main(String[] args) {
        ArrayList<Student> list = new ArrayList<>();
        Student one = new Student("aaa",18);
        Student two = new Student("bbb",19);
        Student three = new Student("ccc",17);
        Student four = new Student("ddd",20);
        list.add(one);
        list.add(two);
        list.add(three);
        list.add(four);
        for (int i = 0; i < list.size(); i++) {
//            System.out.println(list.get(i)); // 输出地址
            System.out.println("姓名:" + list.get(i).getName() + ",年龄:" + list.get(i).getAge());
        }
    }

}

?姓名:aaa,年龄:18
姓名:bbb,年龄:19
姓名:ccc,年龄:17
姓名:ddd,年龄:20

Process finished with exit code 0

6.6 ArrayList练习3 - 按指定格式遍历集合字符串

package Demo08;

import java.util.ArrayList;

/*
题目:定义指定格式打印集合的方法(ArrayList类型作为参数),使用()括起集合,使用@分隔每个元素。
格式参照(元素@元素@元素)
ArrayList集合作为方法参数
 */
public class Demo06ArrayListPrint {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
        System.out.println("普通打印list集合:");
        System.out.println(list);
        System.out.println("特殊格式打印List集合:");
        listPrint(list);

    }
    public static void listPrint(ArrayList<String> list){
        System.out.print("{");
        for (int i = 0; i < list.size(); i++) {
            if (i != list.size() - 1){
                System.out.print(list.get(i) + "@");
            }else {
                System.out.println(list.get(i) + "}");
            }
        }
    }
}

?普通打印list集合:
[aaa, bbb, ccc]
特殊格式打印List集合:
{aaa@bbb@ccc}

Process finished with exit code 0

???????6.7 ArrayList练习4 - 筛选集合中的随机数

?

package Demo08;

import java.util.ArrayList;
import java.util.Random;

/*
ArrayList集合方法返回值
 */

public class Demo07ArrayListReturn {
    public static void main(String[] args) {
        ArrayList<Integer> bigList = new ArrayList<>();
        ArrayList<Integer> smallList = new ArrayList<>();
        Random r = new Random();
        for (int i = 0; i < 20; i++) {
            bigList.add(r.nextInt(20) + 1);
        }
        System.out.println("大集合元素:" + bigList);
        smallList = returnSmallList(bigList);
        System.out.println("小集合元素:" + smallList);
        System.out.println("偶数元素个数:" + smallList.size());
    }
    public static ArrayList<Integer> returnSmallList(ArrayList<Integer> bigList){
        ArrayList<Integer> smallList = new ArrayList<>();
        for (int i = 0; i < bigList.size(); i++) {
            if (bigList.get(i) % 2 == 0){
                smallList.add(bigList.get(i));
            }
        }
        return smallList;
    }
}

大集合元素:[18, 13, 1, 2, 14, 10, 5, 2, 18, 10, 19, 10, 9, 6, 11, 18, 8, 19, 12, 13]
小集合元素:[18, 2, 14, 10, 2, 18, 10, 10, 6, 18, 8, 12]
偶数元素个数:12

Process finished with exit code 0

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-04-09 18:09:53  更:2022-04-09 18:10:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:51:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码