【建议收藏合集整理】国一大佬带你,蓝桥杯Java组拿奖基础知识整理集合,看完,3天冲蓝桥杯省一。

news2024/11/25 12:56:54


前文引导

此文章为系统训练,建议反复观看,将所有例题的知识点掌握,文章结尾将分享新手如何通过3天达到冲击蓝桥杯省一的实力。

蓝桥杯Java知识点记忆(必须熟练记忆)

以下内容必须掌握

(1)输入输出

例题:题目 1267: A+B Problem

题目描述

输入两个自然数,输出他们的和。

输入格式

输出两个自然数 x,y。

输出格式

一个数,即x和y的和。

样例输入

123 500
样例输出
623

题解

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		while (scanner.hasNext()) {
			int a = scanner.nextInt();
			int b = scanner.nextInt();
			int c = a + b;
			System.out.println(c);
		}
	}
}

知识点记忆

这段代码涵盖了Java中的输入输出(IO)知识点,具体来说是使用了Scanner类和System.out.println方法。

  1. 导入Scanner类:

    import java.util.Scanner;

    这行代码是用来导入Java标准库中的Scanner类,Scanner类提供了一种简单的方式来从标准输入中获取用户输入。

  2. 定义main方法:

    public static void main(String[] args) {}

    这是Java程序的入口点,程序从这里开始执行。

  3. 创建Scanner对象:

    Scanner scanner = new Scanner(System.in);

    这行代码创建了一个Scanner对象,它与标准输入流(System.in)相关联,以便从键盘读取用户的输入。

  4. 读取整数输入:

    int a = scanner.nextInt();

    这行代码使用Scanner对象的nextInt()方法读取用户输入的整数,并将其存储在变量a中。

  5. 输出结果:

    System.out.println();

    这行代码使用System.out.println()方法将结果打印到标准输出流(通常是控制台)。在这个例子中,括号内没有参数,因此仅打印一个空行。

作业:对上面的输入输出,在自己练习三道题用于巩固。

(2)加减乘除

题目 2762: 计算(a+b)*c的值

题目描述

给定3个整数a、b、c,计算表达式(a+b)*c的值。

输入格式

输入仅一行,包括三个整数a、b、c, 数与数之间以一个空格分开。
(-10,000 < a,b,c < 10,000)

输出格式

输出一行,即表达式的值。

样例输入

2 3 5

样例输出

25

题解

import java.util.Scanner;
public class Main{
	public static void main(String[] args){
		Scanner scanner = new Scanner(System.in);	
		while(scanner.hasNext()){
			int a = scanner.nextInt();
			int b = scanner.nextInt();
			int c = scanner.nextInt();	
			System.out.println((a+b)*c);
		}
	}
}

 知识点记忆

详细讲解System.out.println()的使用

System.out.println() 是Java标准库中用于输出信息的方法。它的作用是将指定的内容打印到标准输出流(通常是控制台),并在最后添加一个换行符,以使输出的内容换行显示。下面来详细讲解它的使用方法:

基本用法

System.out.println(); // 打印空行,只输出一个换行符

以上代码将在控制台输出一个空行。

打印字符串

System.out.println("Hello, world!"); // 打印字符串,输出 Hello, world!

可以将需要输出的字符串作为参数传递给 System.out.println() 方法,它会将字符串内容打印到控制台。

打印变量或表达式的值

int number = 42; System.out.println("The answer is: " + number); // 打印带有变量值的字符串

可以将变量或表达式的值与其他文本一起打印出来。在上面的示例中,输出的结果将是 "The answer is: 42"。

打印多个值

int a = 10; int b = 20; System.out.println("a = " + a + ", b = " + b); // 打印多个变量的值

多个值可以通过字符串拼接的方式一起输出。在这个例子中,输出的结果将是 "a = 10, b = 20"。

格式化输出

double pi = 3.14159; System.out.printf("The value of pi is %.2f", pi); // 使用格式化输出

除了 System.out.println(),Java还提供了 System.out.printf() 方法来实现格式化输出。可以使用格式说明符指定输出的格式,例如 %.2f 表示保留两位小数输出。在上面的示例中,输出的结果将是 "The value of pi is 3.14"。

打印特殊字符

System.out.println("This is a tab:\t\tand this is a new line.\n"); // 打印特殊字符

在字符串中可以使用特殊的转义序列,如 \t 表示水平制表符(Tab),\n 表示换行符。上面的示例展示了如何在输出中使用这些特殊字符。

注意事项

  • System.out.println() 是线程安全的,可以在多线程环境下使用。
  • System.out.println() 总是会在输出内容的末尾添加一个换行符,以使输出内容换行显示。
  • 输出的内容可以是任意类型,Java会自动将其转换为字符串并输出。

通过灵活运用 System.out.println() 方法,可以方便地进行调试和输出信息,帮助理解程序的执行过程和结果。

作业:对上面的加减乘除,输入输出,在自己练习三道题用于巩固。

(3) 取余

题目 3009: 判断闰年

题目描述

判断某年是否是闰年。如果公元a年是闰年输出Y,否则输出N。

输入格式

输入只有一行,包含一个整数a(0 < a < 3000)。

输出格式

一行,如果公元a年是闰年输出Y,否则输出N。

样例输入

2006

样例输出

N

题解

import java.util.Scanner;
public class Main{
	public static void main(String[] args){
		Scanner scanner = new Scanner(System.in);
		while(scanner.hasNext()){		
			int a = scanner.nextInt();			
			 if(a % 4 == 0 && a % 100 != 0 || a % 400 == 0){			 
				 System.out.println("Y");
			 }		 
			 else{
				 System.out.println("N");
			 }	
		}	
	}
}

知识点记忆

详细的讲解一下Java里面的取余操作 

在 Java 中,取余操作使用 % 运算符,也称为模运算符。取余操作用于计算除法的余数。下面是取余操作的基本用法和一些示例:

int a = 10; int b = 3; int remainder = a % b; System.out.println("10 除以 3 的余数是:" + remainder); // 输出结果为:1

在这个示例中,a 除以 b 的余数是 1

取余操作也适用于负数。例如:

int c = -10; int d = 3; int remainder2 = c % d; System.out.println("-10 除以 3 的余数是:" + remainder2); // 输出结果为:-1

在这个示例中,-10 除以 3 的余数是 -1

需要注意的是,取余操作的结果的符号与被除数的符号相同。这意味着,如果被除数是正数,那么余数也是正数;如果被除数是负数,那么余数也是负数。取余操作的结果的绝对值永远不会超过除数的绝对值。

另外,Java 中的取余操作也适用于浮点数,但不建议在浮点数上使用取余操作,因为浮点数的精度问题可能导致不可预测的结果。通常情况下,应该避免在浮点数上执行取余操作。

 作业:对上面的取余操作,在自己练习三道题用于巩固。

(4) 字符串

 下面是使用Java字符串方法的一些具体例子:

1、使用 nextLine() 方法获取一行输入:

Scanner scan = new Scanner(System.in);
String s = scan.nextLine();
System.out.println("输入的字符串是:" + s);

2、使用 charAt(int index) 方法获取指定索引位置的字符:

String str = "Hello";
char c = str.charAt(2);
System.out.println("索引位置2的字符是:" + c); // 输出 "l"

3、使用 indexOf(int ch) 方法查找字符在字符串中的索引位置:

String text = "Hello World";
int index = text.indexOf('o');
System.out.println("字符 'o' 第一次出现的索引位置是:" + index); // 输出 "4"

4、使用 compareTo(String anotherString) 方法比较字符串的字典顺序:

String str1 = "abc";
String str2 = "def";
int result = str1.compareTo(str2);
System.out.println("比较结果:" + result); // 输出 "-3",因为 "abc" 在字典顺序上小于 "def"

5、使用 concat(String str) 方法连接两个字符串:

String s1 = "Hello";
String s2 = "World";
String result = s1.concat(s2);
System.out.println("连接后的字符串:" + result); // 输出 "HelloWorld"

6、使用 length() 方法获取字符串的长度:

String str = "Hello";
int length = str.length();
System.out.println("字符串的长度是:" + length); // 输出 "5"

7、使用 equals(Object anObject) 方法比较字符串是否相等:

String s1 = "hello";
String s2 = "world";
boolean isEqual1 = s1.equals(s2);
boolean isEqual2 = s1.equals("hello");
System.out.println("s1 equals s2: " + isEqual1); // 输出 "false"
System.out.println("s1 equals \"hello\": " + isEqual2); // 输出 "true"

8、substring(int beginIndex, int endIndex) 方法:截取字符串的子串,从指定的起始索引(包括)到指定的结束索引(不包括)。

String str = "Hello World";
String substr = str.substring(6); // 截取从索引6开始到字符串结束的子串
System.out.println("截取的子串:" + substr); // 输出 "World"

9、toLowerCase()toUpperCase() 方法:将字符串转换为小写或大写。

String str = "Hello";
String lowerCase = str.toLowerCase(); // 转换为小写
String upperCase = str.toUpperCase(); // 转换为大写
System.out.println("转换为小写:" + lowerCase); // 输出 "hello"
System.out.println("转换为大写:" + upperCase); // 输出 "HELLO"

10、trim() 方法:去除字符串前后的空格。

String str = "   Hello   ";
String trimmed = str.trim();
System.out.println("去除空格后的字符串:" + trimmed); // 输出 "Hello"

11、replace(char oldChar, char newChar) 方法:替换字符串中的字符。

String str = "Hello World";
String replaced = str.replace('o', 'x'); // 将字符 'o' 替换为 'x'
System.out.println("替换后的字符串:" + replaced); // 输出 "Hellx Wxrld"

12、startsWith(String prefix)endsWith(String suffix) 方法:检查字符串是否以指定的前缀或后缀开头或结尾。

String str = "Hello World";
boolean startsWithHello = str.startsWith("Hello");
boolean endsWithWorld = str.endsWith("World");
System.out.println("是否以Hello开头:" + startsWithHello); // 输出 "true"
System.out.println("是否以World结尾:" + endsWithWorld); // 输出 "true"
(5)StringBuilder

 下面是使用Java字符串StringBuilder方法的一些具体例子:

当涉及到大量字符串操作或需要频繁修改字符串内容时,使用 StringBuilder 类可以提高效率。下面是一些使用Java字符串 StringBuilder 方法的具体例子:

追加字符串:

StringBuilder sb = new StringBuilder("Hello");
sb.append(" World"); // 追加字符串
System.out.println(sb.toString()); // 输出 "Hello World"

插入字符串:

StringBuilder sb = new StringBuilder("Hello");
sb.insert(5, "World"); // 在索引5处插入字符串
System.out.println(sb.toString()); // 输出 "HelloWorld"

替换字符串:

StringBuilder sb = new StringBuilder("Hello World");
sb.replace(6, 11, "Java"); // 替换索引6到索引11之间的字符串为"Java"
System.out.println(sb.toString()); // 输出 "Hello Java"

删除字符:

StringBuilder sb = new StringBuilder("Hello World");
sb.delete(6, 11); // 删除索引6到索引11之间的字符
System.out.println(sb.toString()); // 输出 "Hello"

反转字符串:

StringBuilder sb = new StringBuilder("Hello");
sb.reverse(); // 反转字符串
System.out.println(sb.toString()); // 输出 "olleH"

获取长度和容量:

StringBuilder sb = new StringBuilder("Hello");
int length = sb.length(); // 获取字符串长度
int capacity = sb.capacity(); // 获取字符串容量
System.out.println("长度:" + length); // 输出 "5"
System.out.println("容量:" + capacity); // 输出 "16",初始容量为16

清空字符串:

StringBuilder sb = new StringBuilder("Hello");
sb.delete(0, sb.length()); // 清空字符串内容
System.out.println(sb.toString()); // 输出 ""
(6)排序库的使用

下面是使用Java排序库使用的一些具体例子:

Java 提供了多种排序算法和排序库,其中比较常用的是 Arrays.sort() 方法和 Collections.sort() 方法,分别用于对数组和集合进行排序。

使用 Arrays.sort() 对数组排序:

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] arr = {5, 2, 9, 1, 6};
        Arrays.sort(arr); // 对数组进行升序排序
        System.out.println("升序排序后的数组:" + Arrays.toString(arr));
    }
}

使用 Collections.sort() 对集合排序:

import java.util.ArrayList;
import java.util.Collections;

public class Main {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();
        list.add(5);
        list.add(2);
        list.add(9);
        list.add(1);
        list.add(6);

        Collections.sort(list); // 对集合进行升序排序
        System.out.println("升序排序后的集合:" + list);
    }
}

如果需要对自定义对象进行排序,需要实现 Comparable 接口或者使用 Comparator 比较器。下面是一个使用 Comparable 接口进行对象排序的例子:

import java.util.ArrayList;
import java.util.Collections;

class Person implements Comparable<Person> {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public int compareTo(Person other) {
        return Integer.compare(this.age, other.age);
    }

    public String toString() {
        return name + " (" + age + ")";
    }
}

public class Main {
    public static void main(String[] args) {
        ArrayList<Person> people = new ArrayList<>();
        people.add(new Person("Alice", 25));
        people.add(new Person("Bob", 30));
        people.add(new Person("Charlie", 20));

        Collections.sort(people); // 对Person对象按年龄升序排序
        System.out.println("按年龄升序排序后的Person对象:" + people);
    }
}

这些是基本的排序方法,根据具体情况选择合适的方式进行排序。

(7)队列的使用

这里是关于基础队列方法的知识点整理:

  1. add(element) 方法:将元素添加到队列的末尾。如果添加成功,则返回 true;如果队列已满,抛出异常。
  2. poll() 方法:移除并返回队列的头部元素。如果队列为空,则返回 null。
  3. peek() 方法:返回队列的头部元素,但不移除。如果队列为空,则返回 null。
  4. empty() 方法:检查队列是否为空。如果队列为空,则返回 true;否则返回 false。

举例说明

使用 add(element) 方法添加元素到队列:

import java.util.LinkedList;
import java.util.Queue;

public class QueueExample {
    public static void main(String[] args) {
        Queue<Integer> queue = new LinkedList<>();

        // 添加元素到队列
        queue.add(5);
        queue.add(10);
        queue.add(15);

        // 输出队列中的元素
        System.out.println("队列中的元素:" + queue); // 输出 "[5, 10, 15]"
    }
}

使用 poll() 方法移除并返回队列头部元素:

import java.util.LinkedList;
import java.util.Queue;

public class QueueExample {
    public static void main(String[] args) {
        Queue<Integer> queue = new LinkedList<>();

        // 添加元素到队列
        queue.add(5);
        queue.add(10);
        queue.add(15);

        // 移除并返回队列头部元素
        int element = queue.poll();
        System.out.println("移除的队列头部元素:" + element); // 输出 "5"

        // 输出剩余队列中的元素
        System.out.println("剩余队列中的元素:" + queue); // 输出 "[10, 15]"
    }
}

使用 peek() 方法返回队列头部元素但不移除:

import java.util.LinkedList;
import java.util.Queue;

public class QueueExample {
    public static void main(String[] args) {
        Queue<Integer> queue = new LinkedList<>();

        // 添加元素到队列
        queue.add(5);
        queue.add(10);
        queue.add(15);

        // 返回队列头部元素但不移除
        int frontElement = queue.peek();
        System.out.println("队列头部元素:" + frontElement); // 输出 "5"

        // 输出队列中的元素
        System.out.println("队列中的元素:" + queue); // 输出 "[5, 10, 15]"
    }
}

使用 empty() 方法检查队列是否为空:

import java.util.LinkedList;
import java.util.Queue;

public class QueueExample {
    public static void main(String[] args) {
        Queue<Integer> queue = new LinkedList<>();

        // 添加元素到队列
        queue.add(5);
        queue.add(10);
        queue.add(15);

        // 检查队列是否为空
        boolean isEmpty = queue.isEmpty();
        System.out.println("队列是否为空:" + isEmpty); // 输出 "false"

        // 清空队列
        queue.clear();
        isEmpty = queue.isEmpty();
        System.out.println("清空后队列是否为空:" + isEmpty); // 输出 "true"
    }
}

这些例子演示了基础队列方法的使用,包括添加元素、移除元素、获取队列头部元素以及检查队列是否为空。

(8)栈的使用

基础栈方法包括以下几个:

  1. push(element) 方法:将元素压入栈顶。
  2. pop() 方法:从栈顶弹出元素并返回。
  3. peek() 方法:查看栈顶元素但不移除。
  4. isEmpty() 方法:判断栈是否为空。

你可以通过这些方法来操作栈,实现数据的压入、弹出、查看栈顶元素以及判断栈是否为空。

举例说明

使用 push(element) 方法将元素压入栈顶:

import java.util.Stack;

public class StackExample {
    public static void main(String[] args) {
        Stack<Integer> stack = new Stack<>();

        // 将元素压入栈顶
        stack.push(5);
        stack.push(10);
        stack.push(15);

        // 输出栈中的元素
        System.out.println("栈中的元素:" + stack); // 输出 "[5, 10, 15]"
    }
}

使用 pop() 方法从栈顶弹出元素:

import java.util.Stack;

public class StackExample {
    public static void main(String[] args) {
        Stack<Integer> stack = new Stack<>();

        // 将元素压入栈顶
        stack.push(5);
        stack.push(10);
        stack.push(15);

        // 弹出栈顶元素并返回
        int element = stack.pop();
        System.out.println("弹出的栈顶元素:" + element); // 输出 "15"

        // 输出剩余栈中的元素
        System.out.println("剩余栈中的元素:" + stack); // 输出 "[5, 10]"
    }
}

使用 peek() 方法查看栈顶元素但不移除:

import java.util.Stack;

public class StackExample {
    public static void main(String[] args) {
        Stack<Integer> stack = new Stack<>();

        // 将元素压入栈顶
        stack.push(5);
        stack.push(10);
        stack.push(15);

        // 查看栈顶元素但不移除
        int topElement = stack.peek();
        System.out.println("栈顶元素:" + topElement); // 输出 "15"

        // 输出栈中的元素
        System.out.println("栈中的元素:" + stack); // 输出 "[5, 10, 15]"
    }
}

使用 isEmpty() 方法判断栈是否为空:

import java.util.Stack;

public class StackExample {
    public static void main(String[] args) {
        Stack<Integer> stack = new Stack<>();

        // 判断栈是否为空
        boolean isEmpty = stack.isEmpty();
        System.out.println("栈是否为空:" + isEmpty); // 输出 "true"

        // 将元素压入栈顶
        stack.push(5);
        stack.push(10);

        // 再次判断栈是否为空
        isEmpty = stack.isEmpty();
        System.out.println("栈是否为空:" + isEmpty); // 输出 "false"
    }
}

这些例子演示了基础栈方法的使用,包括将元素压入栈顶、弹出栈顶元素、查看栈顶元素、判断栈是否为空等操作。

(9)List 和Map

List 和Map知识点和例子

List 和 Map 是 Java 中常用的集合类,用于存储和操作数据。List 是有序集合,可以存储重复元素;Map 是键值对的集合,每个键对应一个值,键不能重复。以下是关于 List 和 Map 的知识点和例子:

List 知识点:

  1. ArrayList:基于数组实现的 List,支持动态扩容。
  2. LinkedList:基于链表实现的 List,适合频繁插入、删除操作。
  3. Vector:线程安全的 List,性能略低于 ArrayList。

List 常用方法:

  • add(element):向列表尾部添加元素。
  • get(index):获取指定位置的元素。
  • remove(index):移除指定位置的元素。
  • size():获取列表大小。
  • isEmpty():判断列表是否为空。

List 示例:

import java.util.ArrayList;
import java.util.List;

public class ListExample {
    public static void main(String[] args) {
        List<String> arrayList = new ArrayList<>();

        // 添加元素
        arrayList.add("Apple");
        arrayList.add("Banana");
        arrayList.add("Cherry");

        // 获取元素
        String fruit = arrayList.get(1);
        System.out.println("第二个元素:" + fruit); // 输出 "Banana"

        // 移除元素
        arrayList.remove(0);
        System.out.println("移除第一个元素后:" + arrayList); // 输出 "[Banana, Cherry]"

        // 判断是否为空
        boolean isEmpty = arrayList.isEmpty();
        System.out.println("列表是否为空:" + isEmpty); // 输出 "false"

        // 获取列表大小
        int size = arrayList.size();
        System.out.println("列表大小:" + size); // 输出 "2"
    }
}

Map 知识点:

  1. HashMap:基于哈希表实现的 Map,查找速度快,无序。
  2. TreeMap:基于红黑树实现的 Map,键有序。
  3. LinkedHashMap:继承自 HashMap,保持元素插入顺序。

Map 常用方法:

  • put(key, value):添加键值对。
  • get(key):根据键获取值。
  • remove(key):移除指定键的键值对。
  • containsKey(key):判断是否包含指定键。
  • size():获取键值对数量。

Map 示例:

import java.util.HashMap;
import java.util.Map;

public class MapExample {
    public static void main(String[] args) {
        Map<String, Integer> hashMap = new HashMap<>();

        // 添加键值对
        hashMap.put("Apple", 5);
        hashMap.put("Banana", 10);
        hashMap.put("Cherry", 15);

        // 获取值
        int quantity = hashMap.get("Banana");
        System.out.println("Banana 的数量:" + quantity); // 输出 "10"

        // 移除键值对
        hashMap.remove("Cherry");
        System.out.println("移除 Cherry 后:" + hashMap); // 输出 "{Apple=5, Banana=10}"

        // 判断是否包含键
        boolean containsKey = hashMap.containsKey("Apple");
        System.out.println("是否包含 Apple 键:" + containsKey); // 输出 "true"

        // 获取键值对数量
        int size = hashMap.size();
        System.out.println("键值对数量:" + size); // 输出 "2"
    }
}

这些知识点和示例涵盖了 List 和 Map 的基本概念和常用操作,希望能帮助到你理解它们的用法。

(10)一维数组二维数组

一维数组和二维数组都是 Java 中常见的数据结构,用于存储一组数据。下面是关于一维数组和二维数组的知识点和示例:

一维数组(Array)知识点:

  1. 定义:一维数组是具有相同数据类型的元素按顺序排列的集合。
  2. 长度:一维数组的长度在创建时就确定,无法改变。
  3. 访问元素:通过索引访问数组元素,索引从 0 开始。
  4. 初始化:可以使用静态初始化或动态初始化来创建数组。
  5. 遍历:常用的遍历方法包括使用 for 循环或增强型 for 循环。

一维数组示例:

public class ArrayExample {
    public static void main(String[] args) {
        // 静态初始化一维数组
        int[] array1 = {1, 2, 3, 4, 5};

        // 动态初始化一维数组
        int[] array2 = new int[5];
        array2[0] = 10;
        array2[1] = 20;
        array2[2] = 30;
        array2[3] = 40;
        array2[4] = 50;

        // 访问元素
        System.out.println("第一个数组的第三个元素:" + array1[2]); // 输出 "3"
        System.out.println("第二个数组的第四个元素:" + array2[3]); // 输出 "40"

        // 遍历数组
        System.out.println("第一个数组元素:");
        for (int i = 0; i < array1.length; i++) {
            System.out.print(array1[i] + " ");
        }
        System.out.println();

        System.out.println("第二个数组元素:");
        for (int num : array2) {
            System.out.print(num + " ");
        }
        System.out.println();
    }
}

二维数组(Array of Arrays)知识点:

  1. 定义:二维数组是一种特殊的数组,每个元素又是一个一维数组。
  2. 行和列:二维数组有行和列的概念,每行表示一个一维数组。
  3. 初始化:可以使用静态初始化或动态初始化来创建二维数组。
  4. 访问元素:通过两个索引访问二维数组中的元素。

二维数组示例:

public class TwoDimensionalArrayExample {
    public static void main(String[] args) {
        // 静态初始化二维数组
        int[][] array1 = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

        // 动态初始化二维数组
        int[][] array2 = new int[3][3];
        array2[0][0] = 1;
        array2[0][1] = 2;
        array2[0][2] = 3;
        array2[1][0] = 4;
        array2[1][1] = 5;
        array2[1][2] = 6;
        array2[2][0] = 7;
        array2[2][1] = 8;
        array2[2][2] = 9;

        // 访问元素
        System.out.println("第一个数组的第二行第三列元素:" + array1[1][2]); // 输出 "6"
        System.out.println("第二个数组的第一行第一列元素:" + array2[0][0]); // 输出 "1"

        // 遍历二维数组
        System.out.println("第一个数组元素:");
        for (int i = 0; i < array1.length; i++) {
            for (int j = 0; j < array1[i].length; j++) {
                System.out.print(array1[i][j] + " ");
            }
            System.out.println();
        }

        System.out.println("第二个数组元素:");
        for (int[] row : array2) {
            for (int num : row) {
                System.out.print(num + " ");
            }
            System.out.println();
        }
    }
}

这些知识点和示例可以帮助你理解和使用 Java 中的一维数组和二维数组。

(11)哈希表set的使用

当谈到Java中的哈希表时,我们通常指的是HashSet,它是基于哈希表实现的Set接口的一个类。下面是关于Java哈希表(HashSet)的使用知识点和示例代码:

知识点:

  1. 哈希表(HashSet)特点

    • 不允许存储重复元素。
    • 不保证集合中元素的顺序,即不保证集合中元素的存储顺序和插入顺序一致。
    • 允许存储null元素。
  2. 底层实现

    • HashSet底层是由HashMap实现的,HashSet中的元素被存储为HashMap的key,value统一为一个占位对象(通常为PRESENT)。
  3. 添加元素

    • 使用add()方法向HashSet中添加元素。
  4. 判断元素是否存在

    • 使用contains()方法判断HashSet中是否包含某个元素。
  5. 删除元素

    • 使用remove()方法从HashSet中删除指定元素。
  6. 遍历元素

    • 可以使用增强for循环或迭代器来遍历HashSet中的元素。

示例代码:

import java.util.HashSet;

public class HashSetExample {
    public static void main(String[] args) {
        // 创建一个HashSet
        HashSet<String> set = new HashSet<>();

        // 添加元素
        set.add("apple");
        set.add("banana");
        set.add("orange");

        // 判断元素是否存在
        boolean containsBanana = set.contains("banana");
        System.out.println("Contains 'banana': " + containsBanana);

        // 删除元素
        set.remove("orange");

        // 遍历集合
        System.out.println("Elements in set:");
        for (String element : set) {
            System.out.println(element);
        }
    }
}

在这个示例中,我们创建了一个HashSet对象,向其中添加了几个元素,然后检查了是否包含指定元素,删除了一个元素,并且最后遍历了HashSet中的所有元素。 

当HashSet为空时,可以使用isEmpty()方法进行判断

import java.util.HashSet;

public class HashSetExample {
    public static void main(String[] args) {
        // 创建一个空的HashSet
        HashSet<String> set = new HashSet<>();

        // 添加元素
        set.add("apple");
        set.add("banana");
        set.add("orange");

        // 判断HashSet是否为空
        if (set.isEmpty()) {
            System.out.println("HashSet is empty");
        } else {
            System.out.println("HashSet is not empty");

            // 遍历集合
            System.out.println("Elements in set:");
            for (String element : set) {
                System.out.println(element);
            }
        }
    }
}
(12)scanner不同类型的输入方法和不同类型的输出方法

使用 Scanner 类可以方便地从控制台或文件中获取各种类型的输入数据。以下是一些常见的 Scanner 不同类型输入方法的示例:

1. 读取整数

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.print("请输入一个整数:");
        int num = scanner.nextInt();
        System.out.println("你输入的整数是:" + num);
        
        scanner.close();
    }
}

2. 读取浮点数

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.print("请输入一个浮点数:");
        double num = scanner.nextDouble();
        System.out.println("你输入的浮点数是:" + num);
        
        scanner.close();
    }
}

3. 读取字符串

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.print("请输入一个字符串:");
        String str = scanner.nextLine();
        System.out.println("你输入的字符串是:" + str);
        
        scanner.close();
    }
}

4. 读取布尔值

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.print("请输入一个布尔值(true/false):");
        boolean bool = scanner.nextBoolean();
        System.out.println("你输入的布尔值是:" + bool);
        
        scanner.close();
    }
}

5. 读取字符

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.print("请输入一个字符:");
        char ch = scanner.next().charAt(0);
        System.out.println("你输入的字符是:" + ch);
        
        scanner.close();
    }
}

以上是一些常见的使用 Scanner 类不同类型输入方法的示例。根据你的需求,可以选择适当的方法来读取不同类型的输入数据。记得在使用完 Scanner 后调用 close() 方法来关闭输入流。


 在Java中,可以使用不同的输出方法将数据打印到控制台或文件中,具体取决于输出的数据类型和格式。以下是一些常见的输出方法示例:

1. 输出整数

public class Main {
    public static void main(String[] args) {
        int num = 10;
        System.out.println("整数输出:" + num);
    }
}

2. 输出浮点数

public class Main {
    public static void main(String[] args) {
        double num = 3.14;
        System.out.println("浮点数输出:" + num);
    }
}

3. 输出字符串

public class Main {
    public static void main(String[] args) {
        String str = "Hello, world!";
        System.out.println("字符串输出:" + str);
    }
}

4. 格式化输出

public class Main {
    public static void main(String[] args) {
        String name = "Alice";
        int age = 30;
        double height = 1.75;
        System.out.printf("姓名:%s,年龄:%d,身高:%.2f\n", name, age, height);
    }
}

以上是一些常见的Java输出方法示例,你可以根据需要选择适合的方法来打印输出你的数据。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1582902.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CRM集成:解锁业务增长与客户关系管理的关键

预计从2021年至2028年&#xff0c;CRM领域的市场规模将大幅跃升&#xff0c;从约580亿美元增长至1290亿美元。这一显著的增长并非偶然&#xff0c;而是源于CRM平台为企业带来的巨大价值。客户关系管理平台助力销售高效开发潜在客户&#xff0c;客户成功经理有效支持客户&#x…

多维 HighCharts

1&#xff1a;showHighChart.html <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><!-- js脚本都是官方的,后两个是highchart脚本 --><script type"text/javascript" src"jquery1.7.1.mi…

蓝桥杯-求阶乘

问题描述 满足 N!的末尾恰好有 区 个o的最小的 N 是多少? 如果这样的 N 不存在输出 -1。 输入格式 一个整数 区。 输出格式 一个整数代表答案。 样例输入 样例输出 10 评测用例规模与约定 对于 30% 的数据,1<K<106 对于 100% 的数据,1<K<1018 运行限制 最大运行时…

lua学习笔记14(协程的学习)

print("*****************************协程的学习*******************************") --创建1 coroutine.create(function()) 使用1 coroutine.resume(co) -- 创建2 co2coroutine.wrap(fun) 使用2 co2() --协程的挂起函数 coroutine.yield() --协程的状态 --c…

生成随机图片验证码

随着互联网的不断发展&#xff0c;安全性问题日益突出。为了保障用户账号的安全性&#xff0c;很多网站都引入了验证码机制。验证码是一种区分用户是计算机还是人的公共全自动程序&#xff0c;可以有效防止恶意攻击和自动化脚本的滥用。本文将介绍如何使用Python生成随机图片验…

liunx环境变量学习总结

环境变量 在操作系统中&#xff0c;环境变量是一种特殊的变量&#xff0c;它们为运行的进程提供全局配置信息和系统环境设定。本文将介绍如何自定义、删除环境变量&#xff0c;特别是对重要环境变量PATH的管理和定制&#xff0c;以及与环境变量相关的函数使用。 自定义环境变…

多模态小记:CLIP、BLIP与BLIP2

CLIP 使用网络上爬取得到的大量图文对进行对比学习&#xff0c;图文匹配的是正样本&#xff0c;图文不匹配的是负样本&#xff0c;使匹配样本的embedding之间的距离尽可能小&#xff0c;不匹配样本间的距离尽可能大。 缺点&#xff1a;网上爬的数据质量差&#xff0c;不能进行…

个人求职简历(精选8篇)

HR浏览一份简历也就25秒左右&#xff0c;如果你连「好简历」都没有&#xff0c;怎么能找到好工作呢&#xff1f; 如果你不懂得如何在简历上展示自己&#xff0c;或者觉得怎么改简历都不出彩&#xff0c;那请你一定仔细读完。 互联网运营个人简历范文> 男 22 本科 AI简历…

最新! Gemini 1.5 Pro: 现已在 180 多个国家/地区发布;提供本地音频理解、系统说明、JSON 模式等功能!

概述 不久前&#xff0c;Gemini团队在Google AI Studio中推出了先进的Gemini 1.5 Pro模型&#xff0c;邀请开发者们进行体验和测试。社区成员利用Gemini模型的100万个上下文窗口进行的调试、创新和学习成果&#xff0c;令我们感到惊喜不已。 4月9号&#xff0c;Gemini团队骄傲…

C语言:指针详解(2)

目录 一、数组名的理解 二、使用指针访问数组 三、一维数组传参的本质 四、冒泡排序 五、二级指针 六、指针数组 正文开始 一、数组名的理解 在上一篇博客中我们在使用指针访问数组的内容时有这样的代码&#xff1a; int arr[10] {1,2,3,4,5,6,7,8,9,10}; int *p &…

基于ollama和CPU运行本地gguf量化模型

前言 本文先以Windows电脑运行为例&#xff0c;Linux同理 本案运行配置&#xff1a; Win11/CPU i5/RAM 32G &#xff08;实际运行使用约占用10G&#xff09; 假设你已经下载好了需要的xxx.gguf模型文件&#xff0c;本案&#xff1a; wizardcoder-python-13b-v1.0.Q5_K_M.gguf…

【Ubuntu】远程连接乌班图的方式-命令行界面、图形界面

​​​​​​系统环境&#xff1a;ubuntu-22.04.2-amd64.iso 连接工具&#xff1a;MobaXterm、windows自带远程桌面mstsc.exe 重置root密码&#xff1a;Ubuntu默认root密码是随机的&#xff0c;需要使用命令sudo passwd 进行重置。 一、命令行界面-SSH连接 1.1 SSH服务安装 …

实现多文件合并和去重的MapReduce作业

实现多文件合并和去重的MapReduce作业 问题描述 我们有多个文本文件&#xff0c;每个文件包含一些文本行。我们的目标是将这些文件合并成一个文件&#xff0c;并去除重复的行&#xff0c;最终得到一个去重后的文本文件。 输入文件A数据如下&#xff1a; 输入文件B数据如下&…

完全可定制的富文本编辑器:逻辑清晰,插件赋能 | 开源日报 No.218

ianstormtaylor/slate Stars: 28.8k License: MIT slate 是一个完全可定制的框架&#xff0c;用于构建富文本编辑器。 可以构建类似 Medium、Dropbox Paper 或 Google Docs 的富文本编辑器通过一系列插件实现所有逻辑&#xff0c;避免代码复杂度受到 Draft.js、Prosemirror 和…

行锁升级表锁如何避免?表锁后如何排查?

一、那些场景会造成行锁升级表锁 说明&#xff1a; InnoDB引擎3种行锁算法&#xff08;Record Lock、Gap Lock、Next-key Lock&#xff09;都是锁定的索引。 当触发X锁&#xff08;写锁&#xff09;的where条件 无索引 或 索引失效 时&#xff0c;查询的方式就变成全表扫描&…

【机器学习】科学库使用第4篇:Matplotlib,学习目标【附代码文档】

机器学习&#xff08;科学计算库&#xff09;完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;机器学习&#xff08;常用科学计算库的使用&#xff09;基础定位、目标&#xff0c;机器学习概述定位,目标,学习目标,学习目标,1 人工智能应用场景,2 人工智能小…

AI实时换天解决方案:重塑汽车与旅行拍摄新视界

在汽车拍摄与旅行摄影领域&#xff0c;天空作为画面中的重要元素&#xff0c;往往决定着整体视觉效果的成败。美摄科技作为业界领先的AI视觉技术提供商&#xff0c;近日推出了全新的AI实时换天解决方案&#xff0c;为用户带来了前所未有的创意空间与效率提升。 传统的换天技术…

【简单讲解下WebView的使用与后退键处理】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

分布式文件系统——MinIo

1. 文件系统和分布式文件系统 1.1 文件系统 文件系统是负责管理和存储文件的系统软件&#xff0c;操作系统通过文件系统提供的接口去存取文件&#xff0c;用户通过操作系统访问磁盘上的文件。 1.2 分布式文件系统 一个计算机无法存储海量的文件&#xff0c;通过网络将若干计算…

Xshell连接CentOS7教程

一、在CentOS7中单击右键&#xff0c;打开命令行终端&#xff1a; 二、输入ifconfig命令之后&#xff0c;找到CentOS的ip地址&#xff1a; 三、打开Xshell&#xff0c;命令行中输入 “ssh 用户名上述查到的ip地址 ”&#xff0c;之后输入密码即可连接成功&#xff1a; 四、测试…