天道酬勤,学无止境

day07【Scanner类、Random类、ArrayList类】

第 1章 API

概述

API(Application Programming Interface),应用程序编程接口。Java API是一本程序员的 字典 ,是JDK中提供给我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可。所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用它们。

API 使用步骤

1. 打开帮助文档。

2. 点击显示,找到索引,看到输入框。

3. 你要找谁?在输入框里输入,然后回车。

4. 看包。java.lang下的类不需要导包,其他需要。

5. 看类的解释和说明。

6. 学习构造方法。

7 . 使用成员方法。

第 2章 Scanner类

了解了API的使用方式,我们通过Scanner类,熟悉一下查询API,并使用类的步骤。

2.1  什么是Scanner类

一个可以解析基本类型和字符串的简单文本扫描器。 例如,以下代码使用户能够从 System.in 中读取一个数:

备注:System.in 系统输入指的是通过键盘录入数据。

2.2  引用类型使用步骤

1. 导包

使用import关键字导包,在类的所有代码之前导包,引入要使用的类型,java.lang包下的所有类无需导入。 格式:

import 包名.类名;

举例:

java.util.Scanner;

2. 创建对象

使用该类的构造方法,创建一个该类的对象。 格式:

数据类型  变量名  =  new 数据类型(参数列表);

举例:

Scanner sc = new Scanner(System.in);

3. 调用方法

调用该类的成员方法,完成指定功能。 格式:

变量名.方法名();

举例:

int i = sc.nextInt(); // 接收一个键盘录入的整数

2.3 Scanner 使用步骤

1. 查看类

java.util.Scanner :该类需要import导入后使用。

2. 查看构造方法

public Scanner(InputStream source) : 构造一个新的  Scanner ,它生成的值是从指定的输入流扫描的。

3. 查看成员方法

public int nextInt() :将输入信息的下一个标记扫描为一个  int 值。

使用Scanner类,完成接收键盘录入数据的操作,代码如下:

//1. 导包

import java.util.Scanner;

public class Demo8 {

    public static void main(String[] args) {

        //2. 创建键盘录入数据的对象    

        Scanner sc = new Scanner(System.in);

        //3. 接收数据    

        System.out.println("请录入一个整数:");

        int i = sc.nextInt();

        //4. 输出数据    

        System.out.println("i:"+i);

    }

}

2.4  练习

求和

键盘录入两个数据并求和,代码如下:

import java.util.Scanner;

public class Test01Scanner {

  public static void main(String[] args) {

// 创建对象  

 Scanner sc = new Scanner(System.in);

    // 接收数据

    System.out.println("请输入第一个数据:");

    int a = sc.nextInt();

    System.out.println("请输入第二个数据:");

    int b = sc.nextInt();

    // 对数据进行求和

    int sum = a + b;

   System.out.println("sum:" + sum);

  }

}

取最值

键盘录入三个数据并获取最大值,代码如下:

package com.demo1;

import java.util.Scanner;

public class Demo8 {

    public static void main(String[] args) {

        // 创建对象

        Scanner sc = new Scanner(System.in);

        // 接收数据

        System.out.println("请输入第一个数据:");

        int a = sc.nextInt();

        System.out.println("请输入第二个数据:");

        int b = sc.nextInt();

        System.out.println("请输入第三个数据:");

        int c = sc.nextInt();

        // 如何获取三个数据的最大值

        int temp = (a > b ? a : b);

        int max = (temp > c? temp : c);

        System.out.println("max:" + max);

    }

}

2.5  匿名对象【了解】

概念

创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。虽然是创建对象的简化写法,但是应用场景非常有限。

匿名对象 :没有变量名的对象。

格式:new 类名(参数列表);

举例:new Scanner(System.in);

应用场景

1. 创建匿名对象直接调用方法,没有变量名。

new Scanner(System.in).nextInt(); 

2. 一旦调用两次方法,就是创建了两个对象,造成浪费,请看如下代码。

new Scanner(System.in).nextInt();

new Scanner(System.in).nextInt();

小贴士:一个匿名对象,只能使用一次。

3. 匿名对象可以作为方法的参数和返回值

作为参数:

class Test {

    public static void main(String[] args) {

        // 普通方式   

        Scanner sc = new Scanner(System.in);

        input(sc);

        //匿名对象作为方法接收的参数

        input(new Scanner(System.in));

    }

    public static void input(Scanner sc){

        System.out.println(sc);

    }

}

作为返回值

class Test2 {

    public static void main(String[] args) {

        // 普通方式   

        Scanner sc = getScanner();

    }



    public static Scanner getScanner(){

        //普通方式

        //Scanner sc = new Scanner(System.in); 

        //return sc;

        //匿名对象作为方法返回值

        return new Scanner(System.in);

    }

}

第 3章 Random类

3.1  什么是Random类

此类的实例用于生成伪随机数。

例如,以下代码使用户能够得到一个随机数:

Random r = new Random();

int i = r.nextInt();

3.2 Random 使用步骤

查看类

java.util.Random :该类需要 import导入使后使用。

查看构造方法

public Random() :创建一个新的随机数生成器。

查看成员方法

public int nextInt(int n) :返回一个伪随机数,范围在  0 (包括)和 指定值  n (不包括)之间的

int 值。

使用Random类,完成生成3个10以内的随机整数的操作,代码如下:

//1. 导包

import java.util.Random;

public class Demo01_Random {

    public static void main(String[] args) {

        //2. 创建键盘录入数据的对象

        Random r = new Random();

        for(int i = 0; i < 3; i++){

            //3. 随机生成一个数据

            int number = r.nextInt(10);

            //4. 输出数据

            System.out.println("number:"+ number);

        }

    }

}

备注:创建一个 Random 对象,每次调用 nextInt() 方法,都会生成一个随机数。

3.3  练习

获取随机数

获取1-n之间的随机数,包含n,代码如下:

// 导包

import java.util.Random;

public class Test01Random {

    public static void main(String[] args) {

        int n = 50;

        // 创建对象

        Random r = new Random();

        // 获取随机数

        int number = r.nextInt(n) + 1;

        // 输出随机数

        System.out.println("number:" + number);

    }

}

猜数字小游戏

游戏开始时,会随机生成一个1-100之间的整数 number 。玩家猜测一个数字 guessNumber ,会与 number 作比较,系统提示大了或者小了,直到玩家猜中,游戏结束。

小贴士:先运行程序代码,理解此题需求,经过分析后,再编写代码

// 导包

import java.util.Random;

public class Test02Random {

    public static void main(String[] args) {

        // 系统产生一个随机数1100之间的。

        Random r = new Random();

        int number = r.nextInt(100) + 1;

        while(true){

            // 键盘录入我们要猜的数据

            Scanner sc = new Scanner(System.in);

            System.out.println("请输入你要猜的数字(1100)");

            int guessNumber = sc.nextInt();

            // 比较这两个数据(if语句)

            if (guessNumber > number) {

                System.out.println("你猜的数据" + guessNumber + "大了");

            } else if (guessNumber < number) {

                System.out.println("你猜的数据" + guessNumber + "小了");

            } else {

                System.out.println("恭喜你,猜中了");

                break;

            }

        }

    }

}

第 4章 ArrayList类

4.1  引入——对象数组

使用学生数组,存储三个学生对象,代码如下:

public class Student {

    private String name;

    private int age;

    public Student() {

    }

    public Student(String name, int age) {

        this.name = name;

        this.age = age;

    }

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

    public int getAge() {

        return age;

    }

    public void setAge(int age) {

        this.age = age;

    }

}

public class Test01StudentArray {

    public static void main(String[] args) {

        //创建学生数组

        Student[] students = new Student[3];

        //创建学生对象

        Student s1 = new Student("曹操",40);

        Student s2 = new Student("刘备",35);

        Student s3 = new Student("孙权",30);

        //把学生对象作为元素赋值给学生数组

        students[0] = s1;

        students[1] = s2;

        students[2] = s3;

        //遍历学生数组

        for(int x=0; x<students.length; x++) {

            Student s = students[x];

            System.out.println(s.getName()+"‐‐‐"+s.getAge());

        }

    }

}

 

到目前为止,我们想存储对象数据,选择的容器,只有对象数组。而数组的长度是固定的,无法适应数据变化的需求。为了解决这个问题,Java提供了另一个容器 java.util.ArrayList 集合类,让我们可以更便捷的存储和操作对象数据。

4.2  什么是ArrayList类

java.util.ArrayList 是大小可变的数组的实现,存储在内的数据称为元素。此类提供一些方法来操作内部存储

的元素。  ArrayList 中可不断添加元素,其大小也自动增长。

4.3 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 Test02StudentArrayList {

    public static void main(String[] args) {

        //创建学生数组

        ArrayList<String> list = new ArrayList<>();

        //创建学生对象

        String s1 = "曹操";

        String s2 = "刘备";

        String s3 = "孙权";

        //打印学生ArrayList集合

        System.out.println(list);

        //把学生对象作为元素添加到集合

        list.add(s1);

        list.add(s2);

        list.add(s3);

        //打印学生ArrayList集合

        System.out.println(list);

    }

}

4.4  常用方法和遍历

对于元素的操作,基本体现在——增、删、查。常用的方法有:

public boolean add(E e) :将指定的元素添加到此集合的尾部。

public E remove(int index) :移除此集合中指定位置上的元素。返回被删除的元素。

public E get(int index) :返回此集合中指定位置上的元素。返回获取的元素。

public int size() :返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界。

这些都是最基本的方法,操作非常简单,代码如下:

public class Demo01ArrayListMethod {

    public static void main(String[] args) {

        //创建集合对象

        ArrayList<String> list = new ArrayList<String>();

        //添加元素

        list.add("hello");

        list.add("world");

        list.add("java");

        //public E get(int index):返回指定索引处的元素

        System.out.println("get:"+list.get(0));

        System.out.println("get:"+list.get(1));

        System.out.println("get:"+list.get(2));

        //public int size():返回集合中的元素的个数

        System.out.println("size:"+list.size());

        //public E remove(int index):删除指定索引处的元素,返回被删除的元素

        System.out.println("remove:"+list.remove(0));

        //遍历输出

        for(int i = 0; i < list.size(); i++){

            System.out.println(list.get(i));

        }

    }

}

4.5  如何存储基本数据类型

ArrayList对象不能存储基本类型,只能存储引用类型的数据。类似 <int> 不能写,但是存储基本数据类型对应的包装类型是可以的。所以,想要存储基本类型数据, <> 中的数据类型,必须转换后才能编写,转换写法如下:

我们发现,只有 Integer 和 Character 需要特殊记忆,其他基本类型只是首字母大写即可。那么存储基本类型数据,代码如下:

public class Demo02ArrayListMethod {

    public static void main(String[] args) {

        ArrayList<Integer> list = new ArrayList<Integer>();

        list.add(1);

        list.add(2);

        list.add(3);

        list.add(4);

        System.out.println(list);

    }

}

4.6 ArrayList 练习

数值添加到集合

生成6个1~33之间的随机整数,添加到集合,并遍历

public class Test01ArrayList {

    public static void main(String[] args) {

        // 创建Random 对象

        Random random = new Random();

        // 创建ArrayList 对象

        ArrayList<Integer> list = new ArrayList<>();

        // 添加随机数到集合

        for (int i = 0; i < 6; i++) {

            int r = random.nextInt(33) + 1;

            list.add(r);

        }

        // 遍历集合输出

        for (int i = 0; i < list.size(); i++) {

            System.out.println(list.get(i));

        }

    }

}

对象添加到集合

自定义4个学生对象,添加到集合,并遍历

public class Test02ArrayList {

    public static void main(String[] args) {

        //创建集合对象

        ArrayList<Student> list = new ArrayList<Student>();

        //创建学生对象

        Student s1 = new Student("赵丽颖",18);

        Student s2 = new Student("唐嫣",20);

        Student s3 = new Student("景甜",25);

        Student s4 = new Student("柳岩",19);

        //把学生对象作为元素添加到集合中

        list.add(s1);

        list.add(s2);

        list.add(s3);

        list.add(s4);

        //遍历集合

        for(int x = 0; x < list.size(); x++) {

            Student s = list.get(x);

            System.out.println(s.getName()+"‐‐‐"+s.getAge());

        }

    }

}

打印集合方法

定义以指定格式打印集合的方法(ArrayList类型作为参数),使用{}扩起集合,使用@分隔每个元素。格式参照 {元素@元素@元素}。

public class Test03ArrayList {

    public static void main(String[] args) {

        // 创建集合对象

        ArrayList<String> list = new ArrayList<String>();

        // 添加字符串到集合中

        list.add("张三丰");

        list.add("宋远桥");

        list.add("张无忌");

        list.add("殷梨亭");

        // 调用方法

        printArrayList(list);

    }

    public static void printArrayList(ArrayList<String> list) {

        // 拼接左括号

        System.out.print("{");

        // 遍历集合

        for (int i = 0; i < list.size(); i++) {

            // 获取元素

            String s = list.get(i);

            // 拼接@符号

            if (i != list.size()  1) {

                System.out.print(s + "@");

            } else {

                // 拼接右括号

                System.out.print(s + "}");

            }

        }

    }

}

获取集合方法

定义获取所有偶数元素集合的方法(ArrayList类型作为返回值)

public class Test04ArrayList {

    public static void main(String[] args) {

        // 创建Random 对象

        Random random = new Random();

        // 创建ArrayList 对象

        ArrayList<Integer> list = new ArrayList<>();

        // 添加随机数到集合

        for (int i = 0; i < 20; i++) {

            int r = random.nextInt(1000) + 1;

            list.add(r);

        }

        // 调用偶数集合的方法

        ArrayList<Integer> arrayList = getArrayList(list);

        System.out.println(arrayList);

    }

    public static ArrayList<Integer> getArrayList(ArrayList<Integer> list) {

        // 创建小集合,来保存偶数

        ArrayList<Integer> smallList = new ArrayList<>();

        // 遍历list

        for (int i = 0; i < list.size(); i++) {

            // 获取元素

            Integer num = list.get(i);

            // 判断为偶数,添加到小集合中

            if (num % 2 == 0){

                smallList.add(num);

            }

        }

        // 返回小集合

        return smallList;

    }

}

 

 

 

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • day07_Scanner类,Random类,ArrayList类
    Scanner类的功能:可以实现键盘输入数据到程序中 引用类型的一般步骤: 1.导包 import 包路径.类名称; 如果需要使用的目标类,和当前类位于同一个包中,则可以省略导入语句 只有java.lang包下的内容不需要导包,其他的都需要import语句。 2.创建 类名称 对象名 = new 类名称(); 3.使用 对象名.成员方法名() package cn.itcast.day07.demo01; import java.util.Scanner; /*获取键盘输入的一个数字:int num = sc.nextInt(); 获取键盘输入的一个字符串:String str=sc.next(); */ public class Demo01Scanner { public static void main(String[] args) { Scanner sc = new Scanner(System.in);//System.in代表从键盘输入 int num=sc.nextInt(); System.out.println("输入的Int数字是:"+num); String str=sc.next(); System.out.println("输入的字符串是:"+str); } } 匿名对象 package cn.itcast.day07.demo02; /*
  • day07 【Scanner类、Random类、ArrayList类】
    day07 【Scanner类、Random类、ArrayList类】 第 1章 API第 2章 Scanner类2.1 什么是Scanner类2.2 引用类型使用步骤2.3 Scanner 使用步骤2.5 匿名对象 第 3章 Random类3.1 什么是Random类3.2 Random 使用步骤 第 4章 ArrayList类4.1 引入——对象数组4.2 什么是ArrayList类4.3 ArrayList 使用步骤4.4 常用方法和遍历4.5 如何存储基本数据类型 第 1章 API 概述 API(Application Programming Interface),应用程序编程接口。Java API是一本程序员的 字典 ,是JDK中提供给 我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学 习这些类如何使用即可。所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用它们 第 2章 Scanner类 了解了API的使用方式,我们通过Scanner类,熟悉一下查询API,并使用类的步骤 2.1 什么是Scanner类 一个可以解析基本类型和字符串的简单文本扫描器。 例如,以下代码使用户能够从 System.in 中读取一个数 Scanner sc = new Scanner(System.in); int i
  • javaSE基础笔记_Day07_Scanner类,Random类,Arraylist类
    目录 1. API(Application Programming Interface) 字典应用程序编程接口引用类型使用步骤: 2. Scanner类Scanner使用步骤查看类:查看构造方法:查看成员方法: 匿名对象 3. Random类此类的实例用于生成一个伪随机数Random使用步骤查看类:java.util.Random查看构造方法`:public Random():创建一个新的随机数生成器`查看成员方法:`public int nextInt(int n):返回一个伪随机数,范围在{0}和指定值之间的int值` 4. ArrayList类引入--对象数组ArrayList的使用概念:使用步骤: 常用方法和遍历如何存储基本数据类型 1. API(Application Programming Interface) 字典 应用程序编程接口 api其实就是jdk中核心类库的说明文档对于jdk中的核心类库只需要知道如何使用,无须关心他是如何实现的主要查看类的解释说明,构造方法以及使用成员方法 引用类型使用步骤: 导包:可与创建对象同时进行创建对象:数据类型 变量名 = new 数据类型(参数列表)调用方法:变量名.方法名 例如:int i = sc.nextInt();//接收一个键盘键入的整数 2. Scanner类 Scanner使用步骤 查看类: Scanner sc =
  • 07.【Java基础之Scanner类、Random类、ArrayList类】
    一、API 二、Scanner类 三、Random类 四、ArrayList类 备注: 只为分享和自用。 来源:源自文档、截图。 来源:https://blog.csdn.net/weixin_43925504/article/details/102500949
  • 温故而知新(3)-Java基础之常用工具类的使用
    Scanner类 一个可以解析基本类型和字符串的简单文本扫描器。 例如,以下代码使用户能够从 System.in 中读取一个数: Scanner sc = new Scanner(System.in); int i = sc.nextInt(); 备注:System.in 系统输入指的是通过键盘录入数据。 例子: import java.util.Scanner; public class Test01Scanner { public static void main(String[] args) { // 创建对象 Scanner sc = new Scanner(System.in); // 接收数据 System.out.println("请输入第一个数据:"); int a = sc.nextInt(); System.out.println("请输入第二个数据:"); int b = sc.nextInt(); // 对数据进行求和 int sum = a + b; System.out.println("sum:" + sum); } } Random类 用于生成一个随机数 Random r = new Random(); int i = r.nextInt(); 如果想在一定范围内生成随机数,这需要加入参数 Random r = new Random(); int
  • 如何通过传递特定日期来确定星期几?(How to determine day of week by passing specific date?)
    问题 例如,我的日期为:“ 23/2/2010”(2010年2月23日)。 我想将其传递给将返回星期几的函数。 我怎样才能做到这一点? 在此示例中,该函数应返回String “ Tue”。 另外,如果只需要按日排序,那么如何检索呢? 回答1 是的。 根据您的具体情况: 您可以使用java.util.Calendar : Calendar c = Calendar.getInstance(); c.setTime(yourDate); int dayOfWeek = c.get(Calendar.DAY_OF_WEEK); 如果您需要输出为Tue而不是3(星期几从1的星期日开始索引,请参阅Calendar.SUNDAY),而不是通过日历,只需重新格式化字符串即可: new SimpleDateFormat("EE").format(date) ( EE意思是“星期几,简短版本”) 如果输入为字符串而不是Date ,则应使用SimpleDateFormat进行解析: new SimpleDateFormat("dd/M/yyyy").parse(dateString) 您可以使用joda-time的DateTime并调用dateTime.dayOfWeek()和/或DateTimeFormat 。 编辑:由于Java 8,您现在可以使用java.time包,而不是joda-time
  • 用Java模拟一个银行ATM系统
    用Java模拟一个银行ATM系统 系统功能介绍:全部代码示例截图 系统功能介绍: 使用面向对象的编程思想,尽可能模拟真实世界中的银行ATM业务流程。 main方法里通过调用一行代码,完成整个业务流程的顺序调用。 加入了身份证号,手机号等元素,虽然他们不涉及银行卡的业务处理,但它们是真实世界中办理银行卡的必需条件,这些在代码中也有所体现。 为了尽可能使得随机生成的身份证号码和手机号码和银行卡号切合实际,还手动设计了一个工具类,用来生成随机的号码。 其中涉及到的知识,包括但不限于static修饰符的使用,集合的使用,权限修饰符的控制,类与类之间关系的设计,类构建的属性初始化控制,Scanner输入控制,工具类BigDecimal和DecimalFormat的使用,随机数的生成等。 但其实最难的还是设计,类与类之间关系的设计,类的属性和方法的设计,它们都至关重要,它们可以说是面向对象编程的核心。一旦属性或方法设计得不合理,程序即使可以运行,但它的开发过程必然是违背人的正常思维的,也会使得后期的更改和维护变得异常棘手。 编写这个程序相对来讲还是很有挑战性的,虽然用到的知识不多,但也很考究你的设计能力和思维能力。 全部代码 银行系统类BankSystem: public class BankSystem { private static ATM_Machine atm = new ATM
  • [Java] API(一些常用的简单API的常用方法)
    文章目录 第一章 API概述API 使用步骤 第二章 Scanner类2.1 什么是Scanner类2.2 引用类型使用步骤1.导包2.创建3.引用 2.3 Scanner类的创建与使用2.4 匿名对象 第三章 Random类第四章 ArrayList类4.1 对象数组4.2 ArrayList的含义4.3 ArrayList的使用步骤4.4 ArrayList常用方法4.5 ArrayList集合储存基本数据类型4.6 ArrayList的练习题 第五章 字符串类5.1 字符串的概述和特点5.2 字符串的构造方法和常见的创建方式5.3 字符串的常量池5.4 字符串的常用方法比较字符串的大小获取字符串的相关方法字符串的截取方法字符串当中转换相关的方法字符串切割的相关方法 第六章 static关键字6.1 static关键字概述6.2 static关键字修饰成员6.3 static关键字修饰成员方法6.4 静态成员的共享的内存图6.5 静态代码块第七章 数组工具类 Arrays第八章 数学工具类Math 第一章 API 概述 API[Application Programming Interface],. 应用编程接口。Java API是一本程序员的字典,是JDK中提供给我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的
  • 大数据基础:JavaSE
    优秀是一种习惯 大数据基础:JavaSE Java 语言背景Java语言跨平台的原理JVM,JRE,JDK关系DOS命令HelloWorld案例详解编程中可能会出现的问题注释关键字常量变量数据类型数据类型转化自动转换/隐式转换强制转换 基础面试题键盘录入标识符运算符分类算数运算符字符参与运算:ASCII自增自减运算符 字符串参与加法运算赋值运算符比较(关系)运算符逻辑运算符短路逻辑运算符短路和非短路之间的区别 三元运算符 流程控制语句分类:顺序结构选择结构(if语句, switch.case语句)单分支双分支多分支switch(byte,short,char,int,枚举,String)...case 值:... 循环语句for循环while循环do...while循环 三种循环之间区别死循环循环跳出随机数数组动态初始化静态初始化动态初始化和静态初始化数组元素的访问内存分配数组操作常见的两个小问题 数组遍历方法方法的调用无参无返回值的方法有参无返回值的方法无参有返回值的方法有参有返回值的方法 方法的重载方法练习题进制为什么要学进制?二进制八进制十六进制不同进制的书写格式:二进制转十进制十六进制转十进制十进制转二进制 快速进制转换 8421码二进制快速转八进制二进制快速转十六进制 原码反码补码位算符异或运算的特点数据交换反转 二维数组动态初始化静态初始化
  • Java常用API之Scanner、Random、ArrayList
    Scanner 解析基本类型和字符串的简单文本扫描器 导包语句 import java.util.Scanner; 在package语句后面,类定义前面。 public static void main(String[] args) { Scanner sc=new Scanner(System.in); //获取键盘输入的int数字,int num=sc.nextInt(); //获取键盘输入的字符串,String str=sc.next(); int num=sc.nextInt(); System.out.println(num); String str=sc.next(); System.out.println(str); } Random 用来生成随机数字 import java.util.Random; 利用java实现猜数字游戏,利用二分法很容易猜出来数字。 public static void main(String[] args) { Random r=new Random(); int RandomNum=r.nextInt(100); Scanner sc=new Scanner(System.in); System.out.println("游戏开始:"); int guessNum=sc.nextInt(); while(guessNum
  • 大数据基础:JavaEE
    优秀是一种习惯 大数据基础:JavaEE Java 语言背景Java语言跨平台的原理JVM,JRE,JDK关系DOS命令HelloWorld案例详解编程中可能会出现的问题注释关键字常量变量数据类型数据类型转化自动转换/隐式转换强制转换 基础面试题键盘录入标识符运算符分类算数运算符字符参与运算:ASCII自增自减运算符 字符串参与加法运算赋值运算符比较(关系)运算符逻辑运算符短路逻辑运算符短路和非短路之间的区别 三元运算符 流程控制语句分类:顺序结构选择结构(if语句, switch.case语句)单分支双分支多分支switch(byte,short,char,int,枚举,String)...case 值:... 循环语句for循环while循环do...while循环 三种循环之间区别死循环循环跳出随机数数组动态初始化静态初始化动态初始化和静态初始化数组元素的访问内存分配数组操作常见的两个小问题 数组遍历方法方法的调用无参无返回值的方法有参无返回值的方法无参有返回值的方法有参有返回值的方法 方法的重载方法练习题进制为什么要学进制?二进制八进制十六进制不同进制的书写格式:二进制转十进制十六进制转十进制十进制转二进制 快速进制转换 8421码二进制快速转八进制二进制快速转十六进制 原码反码补码位算符异或运算的特点数据交换反转 二维数组动态初始化静态初始化
  • Java复习打卡day29
    Java复习打卡day29 设计模式之行为模式策略模式观察者模式迭代器模式模版模式 设计模式之行为模式 策略模式 策略模式 在我们上小学、中学的时候,每当考试卷发下来的时候,都会有很多错题,数学老师在分析哪些难题的时候通常都会先说: “这道题有三种解法,接下来我将一一向你们展示……”这些解题方法通常都有他们的适用场景…… 小红一家放假准备到三亚去旅游,他们总共计划了三种出行方案:飞机、火车、私家车。如果分别单独执行这三种方法也能到达 三亚,但是最终的决定权还是在爸爸的手中,爸爸会根据当天的天气、行李的多少、用时的长短来进行选择…… 上面的案例,便涉及到了策略模式。 该模式定义了一些列的算法,并且将算法封装了起来,使不同的算法之间是可以相互替换的,算法内部的变化也不会影响用对算法的使用。 策略模式是对象行为模式,他通过将算法封装,把算法的使用和执行分离开来,并委派给不同的对象管理。 策略模式的优缺点: 优点: 1.多重条件语句难以管理,策略类能有效地避免多重条件语句。 2.策略模式提供了一系列可供重用的代码,恰当使用继承可以将代码的公共部分转移到父类中,提高代码的复用度。 3.策略模式可以提供相同行为的不同实现,用户可以灵活地选择。 4.完美的支持了开闭原则,可以实现在增加功能的时候,不对原功能产生修改。 5.在环境类中使用算法,在具体策略类中实现算法
  • Java全套课程修炼之Java小白入门篇
    温馨提示: 1、本文并非Java的唯一学习路线,程序羊仅仅是怀着分享的动力来汇总,仅供参考。如有争议,请及时联系程序羊。 2、看完此文之后,能不能全都学会,程序羊不敢保证,但是,唯一可以知道的一点就是,您至少应该知道按什么学习路线去学习Java了,并且可以学到一些,或许你还没有了解到的知识。 3、如果您觉得本文对您有用,可以收藏好,并给程序羊点个赞,以示鼓励,喜欢的朋友也可以点个关注喔,程序羊会不定时给您更新更多的干货。 阶段1 Java语言基础 1-1-Java基础语法 第1节 java运行环境 1_1_1_01_Java语言发展史 1_1_1_02_计算机进制转换 1_1_1_03_计算机存储单元 1_1_1_04_命令提示符_基本介绍 1_1_1_05_命令提示符_常用命令 1_1_1_06_Java语言的跨平台性 1_1_1_07_JDK、JRE与JVM 1_1_1_08_JDK的下载与安装 1_1_1_09_环境变量的配置 第2节 HelloWorld案例 1_1_2_10_HelloWorld程序的代码编 1_1_2_11_HelloWorld程序的编译 1_1_2_12_HelloWorld的常见问题 1_1_2_13_程序注释与HelloWorld 第3节 关键字&标识符 1_1_3_14_关键字的概念与特征 1_1_3_15_标识符的概念与规则 第4节 常量&变量
  • 大数据基础:JavaSE_day待续
    优秀是一种习惯 大数据基础:JavaSE_day07 Java 语言背景Java语言跨平台的原理JVM,JRE,JDK关系DOS命令HelloWorld案例详解编程中可能会出现的问题注释关键字常量变量数据类型数据类型转化自动转换/隐式转换强制转换 基础面试题键盘录入标识符运算符分类算数运算符字符参与运算:ASCII自增自减运算符 字符串参与加法运算赋值运算符比较(关系)运算符逻辑运算符短路逻辑运算符短路和非短路之间的区别 三元运算符 流程控制语句分类:顺序结构选择结构(if语句, switch.case语句)单分支双分支多分支switch(byte,short,char,int,枚举,String)...case 值:... 循环语句for循环while循环do...while循环 三种循环之间区别 ==记==死循环循环跳出随机数数组动态初始化静态初始化动态初始化和静态初始化数组元素的访问内存分配数组操作常见的两个小问题 数组遍历方法方法的调用无参无返回值的方法有参无返回值的方法无参有返回值的方法有参有返回值的方法 方法的重载方法练习题进制为什么要学进制?二进制八进制十六进制不同进制的书写格式:二进制转十进制十六进制转十进制十进制转二进制 快速进制转换 8421码二进制快速转八进制二进制快速转十六进制 原码反码补码位算符异或运算的特点数据交换反转 二维数组动态初始化静态初始化
  • java学习笔记day04—Scanner
    API概述和使用步骤 Scanner的使用 匿名类 匿名对象作为方法参数和返回值 Random类 ArrayList集合 基本数据类型 来源:https://blog.csdn.net/weixin_44517301/article/details/104095061
  • 大数据基础:JavaSE
    优秀是一种习惯 大数据基础:JavaSE Java 语言背景Java语言跨平台的原理JVM,JRE,JDK关系DOS命令HelloWorld案例详解编程中可能会出现的问题注释关键字常量变量数据类型数据类型转化自动转换/隐式转换强制转换 基础面试题键盘录入标识符运算符分类算数运算符字符参与运算:ASCII自增自减运算符 字符串参与加法运算赋值运算符比较(关系)运算符逻辑运算符短路逻辑运算符短路和非短路之间的区别 三元运算符 流程控制语句分类:顺序结构选择结构(if语句, switch.case语句)单分支双分支多分支switch(byte,short,char,int,枚举,String)...case 值:... 循环语句for循环while循环do...while循环 三种循环之间区别死循环循环跳出随机数数组动态初始化静态初始化动态初始化和静态初始化数组元素的访问内存分配数组操作常见的两个小问题 数组遍历方法方法的调用无参无返回值的方法有参无返回值的方法无参有返回值的方法有参有返回值的方法 方法的重载方法练习题进制为什么要学进制?二进制八进制十六进制不同进制的书写格式:二进制转十进制十六进制转十进制十进制转二进制 快速进制转换 8421码二进制快速转八进制二进制快速转十六进制 原码反码补码位算符异或运算的特点数据交换反转 二维数组动态初始化静态初始化
  • 用Java玩扑克牌24点游戏
    一.问题描述: 24点游戏是经典的纸牌益智游戏。 常见游戏规则: 从扑克中每次取出4张牌。使用加减乘除,第一个能得出24者为赢。(其中,J代表11,Q代表12,K代表13,A代表1),按照要求编程解决24点游戏。 基本要求: 随机生成4个代表扑克牌牌面的数字字母,程序自动列出所有可能算出24的表达式,用擅长的语言(C/C++/Java或其他均可)实现程序解决问题。 1.程序风格良好(使用自定义注释模板) 2.列出表达式无重复。 二.题目分析: 1、输入要生成的组数n。 2、为每组生成4个随机数,存入card集合。 2、穷举每组整数的所有可能计算组合,然后对每个组合求值,把四个数字的运算拆分为为两个数字的运算运算,两个数运算的结果又作为一个新数字和另一个数字进行运算,直至四个数都参与运算。 3.输出所有的满足条件的表达式。 三.流程设计 四.算法实现: Print类: import java.util.ArrayList; // 输出表达式类 public class Print { ArrayList<Integer> num = new ArrayList<Integer>(); ArrayList<String> signe = new ArrayList<String>(); // 重载add()方法对集合增加元素 public void add(int n) { num
  • Math类习题
    # 基础题目 ## 第一题:需求实现 * 反转键盘录入的字符串。 * 代码实现,效果如图所示: ![](img\1.jpg) * 开发提示: * 使用字符数组保存原始字符,利用Random类生成随机索引。 * 参考答案: ```java public class Test1 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String next = scanner.next(); System.out.println("录入的字符串:" + next); String s = reverseStr(next); System.out.println("反转的字符串:"+ s); } public static String reverseStr(String str){ String s = ""; char[] chars = str.toCharArray(); for (int i = chars.length - 1; i >= 0; i--) { s +=chars[i] ; } return s; } } ``` ## 第二题:需求实现 * 键盘录入QQ号码,验证格式的正确性。 * 必须是5—12位数字。 * 0不能开头。 * 代码实现,效果如图所示
  • Java SE 学习记录——进阶版02
    @学习记录 开始学习Java 遵从同学的指导,从Java se开始学习 黑马的JavaSE零基础入门【Collection、泛型】 第一章 Collection集合 1.1 集合概述 day13-02 Collection集合概述 1.2 集合框架 day13-03 Collection集合概述 纠错:顶层而不是底层 1.3 Collection常用功能 day13-04 Collection集合常用功能 package day13.Demo01; import java.util.ArrayList; import java.util.Collection; /* java.util.Collection接口 所有单列集合的最顶层的接口,里边定义了所有单列集合共性的方法 任意的单列集合都可以使用Collection接口中的方法 共性的方法: public boolean add(E e); 把给定的对象添加到当前集合中 public void clear(); 清空集合中所有的元素 public boolean remove(E e); 把给定的对象在当前集合中删除 public boolean contains(E e); 判断当前集合中是否包含给定的对象 public boolean isEmpty(); 判断当前集合是否为空 public int size()
  • Java学习笔记——Java集合
    文章目录 一、数据结构1.1、线性结构1.1.1、数组1.1.2、链表1.1.3、队列1.1.4、栈 1.2、非线性结构1.2.1、哈希表1.2.2、树和二叉树1.2.2.1、树1.2.2.2、二叉树1.2.2.3、排序二叉树1.2.2.4、平衡二叉树1.2.2.4.1、左旋1.2.2.4.2、右旋1.2.2.4.3、左左1.2.2.4.4、左右1.2.2.4.5、右左1.2.2.4.6、右右 1.2.2.5、红黑树 二、Collection集合2.1、集合框架概述2.2、集合的分类 三、List接口3.1、List常用API3.1.1、添加操作3.1.2、删除操作3.1.3、修改操作3.1.4、查询操作 四、ArrayList类五、LinkedList类六、Stack和Vector类七、集合的遍历7.1、for循环7.2、使用迭代器7.3、for-each遍历(增强for循环)7.4、forEach的函数式编程遍历7.5、并发修改异常 八、Set接口8.1、Set集合的特点8.2、Set接口常用的实现类8.3、HashSet8.3.1、HashSet原理8.3.2、HashSet常用方法 8.4、TreeSet8.4.1、TreeSet底层数据结构详解8.4.2、Comparable接口8.4.3、Comparator接口 九、Map接口9.1、Map常用的API9.1.1