Java快速入门

Java数据类型

基本数据类型

  • 整数类型:byte,short,int,long
  • 浮点数类型:float,double
  • 字符类型:char
  • 布尔类型:boolean

引用数据类型

  • 字符串类型 String
    1. +连接字符串和其他数据类型
    2. 从Java 13开始,字符串可以用"""..."""表示多行字符串
  • 数组类型 Array
    1. 数组所有元素初始化为默认值,整型都是0,浮点型是0.0,布尔型是false
    2. 数组一旦创建后,大小就不可改变。

流程控制


输入和输出(print和Scanner)
  • Java提供的输出包括:System.out.println() / print() / printf(),其中printf()可以格式化输出

  • Java提供Scanner对象来方便输入,读取对应的类型可以使用:scanner.nextLine() / nextInt() / nextDouble()

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in); // 创建Scanner对象
            System.out.print("Input your name: ");
            String name = scanner.nextLine(); // 读取一行输入并获取字符串
            System.out.print("Input your age: ");
            int age = scanner.nextInt(); // 读取一行输入并获取整数
            System.out.printf("Hi, %s, you are %d\n", name, age); // 格式化输出
        }
    }
    

判断引用类型相等(equals)
  • 在Java中,判断值类型的变量是否相等,可以使用==运算符。但是,判断引用类型的变量是否相等,==表示“引用是否相等”,或者说,是否指向同一个对象。

  • 要判断引用类型的变量内容是否相等,必须使用equals()方法。

注意:执行语句s1.equals(s2)时,如果变量s1null,会报NullPointerException

要避免NullPointerException错误,可以利用短路运算符&&

public static void main(String[] args) {
    String s1 = null;
    if (s1 != null && s1.equals("hello")) {
        System.out.println("hello");
    }
}

switch表达式(-> 和 yield)

1. ->

使用switch时,如果遗漏了break,就会造成严重的逻辑错误,而且不易在源代码中发现错误。从Java 12开始,switch语句升级为更简洁的表达式语法,使用类似模式匹配(Pattern Matching)的方法,保证只有一种路径会被执行,并且不需要break语句:

public class Main {
    public static void main(String[] args) {
        String fruit = "apple";
        switch (fruit) {
        case "apple" -> System.out.println("Selected apple");	//用 -> 写法跟方便
        case "pear" -> System.out.println("Selected pear");
        case "mango" -> {
            System.out.println("Selected mango");
            System.out.println("Good choice!");
        }
        default -> System.out.println("No fruit selected");
        }
    }
}

注意新语法使用->,如果有多条语句,需要用{}括起来。

2.yield

大多数时候,在switch表达式内部,我们会返回简单的值。

但是,如果需要复杂的语句,我们也可以写很多语句,放到{...}里,然后,用yield返回一个值作为switch语句的返回值:

public static void main(String[] args) {
        String fruit = "orange";
        int opt = switch (fruit) {
            case "apple" -> 1;
            case "pear", "mango" -> 2;
            default -> {
                int code = fruit.hashCode();
                yield code; // yeild 指定了switch语句返回值
            }
        };
        System.out.println("opt = " + opt);
    }

数组操作

遍历数组
  • 遍历数组可以使用for循环,for循环可以访问数组索引,

  • for each循环直接迭代每个数组元素,但无法获取索引;

  • 使用Arrays.toString()可以快速获取数组内容

  • 打印多维数组可以使用Arrays.deepToString()

数组的排序

Java的标准库已经内置了排序功能,我们只需要调用JDK提供的Arrays.sort()就可以排序:

public class Main {
    public static void main(String[] args) {
        int[] ns = { 28, 12, 89, 73, 65, 18, 96, 50, 8, 36 };
        Arrays.sort(ns);
        System.out.println(Arrays.toString(ns));
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值