Java语法

基本概念

JDK,JREJVM的关系

image-20221025094728795

JDK选择

1.8版本

Java语法

1.1 内置数据类型

所有的变量和函数都要定义在class中

变量类型

image-20221025100310119

1.2 常量

使用final修饰

        final int n = 10;

1.3 强制类型转换

如下,和C++是相似的

package com.meowrain;

public class Main {
    public static void main(String[] args) {
        char a = 'A';
        int b = (int) a;
        System.out.println(b);

        System.out.println("Hello world!");
    }
}

1.4 表达式

和C++相似

1.5 输入输出

1.5.1 输入

方式1: 效率低,输入规模较小时使用

package com.meowrain;

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.next();//读入下一个字符串
        int x = sc.nextInt();//读入下一个帧数
        float y = sc.nextFloat();//读入下一个浮点数
        double t = sc.nextDouble();//读入下一个双精度浮点数
        byte u = sc.nextByte();//读入下一个Byte类型变量
    }
}

方式2: 效率较高,输入规模大时可以使用,注意需要抛异常

package com.meowrain;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str = br.readLine();
        char x = br.read();
        System.out.println(str);
        System.out.println(x); //输出这个字符的 ASCII码

    }
}
输出

正常输出

package com.meowrain;
public class Main {
    public static void main(String[] args) {
        double a = 10.532;
        System.out.println(a);
    }
}

格式化输出

案例:输出一个小数,保留两位小数

package com.meowrain;
public class Main {
    public static void main(String[] args) {
        double a = 10.532;
        System.out.printf("%.2f",a);
    }
}

1.6 if-else 结构

package com.meowrain;

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        System.out.println("输入年份:");
    Scanner sc = new Scanner(System.in);
    int year = sc.nextInt();
    if(year%4==0&&year%100!=0){
        System.out.println("闰年");
    }else {
        System.out.println("平年");
    }
    }
}

和c++相似

1.7 逻辑表达式

和C++一样

但是在JAVA中,两边条件只能时布尔值

switch语句

和C++一样

import java.util.Scanner;

public class test {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        switch (num) {
            case 1:
                System.out.println("yes");
                break;
            case 2:
                System.out.println("no");
                break;
            case 3:
                System.out.println("yes");
                break;
            default:
                System.out.println("good");
        }
    }

}