【Spring Boot 教程:从入门到精通】掌握 Spring Boot 开发技巧与窍门(一)-java语法(1)

一些Java基本语法的基本介绍,语法更新结束会紧跟项目实战,后续会持续在该专栏进行更新!!!

目录

前言

一、基本概念

1.JDK、JRE、JVM的关系:

2.JDK版本选择

3.Java代码的编译运行流程

4.JSE、JEE、JME的区别

二、Java语法

1.变量、运算符、输入与输出

1.1内置数据类型

1.2常量

1.3类型转化

1.4表达式

1.5输入

1.6输出

2.判断语句

1.if-else语句

2.switch语句

3.逻辑运算符与条件表达式

3.循环语句

3.1while循环

[3.2do while循环](#3.2do while循环)

3.3for循环

总结


前言

一些Java基本语法的基本介绍,语法更新结束会紧跟项目实战,后续会持续在该专栏进行更新!!!


提示:以下是本篇文章正文内容,下面案例可供参考

一、基本概念

1.JDK、JRE、JVM的关系:

  • JDK:Java Development Kit,Java开发工具包
  • JRE: Java Runtime Environment,Java运行环境
  • JVM:Java Virtual Machine,Java虚拟机
  • JDK包含JRE,JRE包含JVM

2.JDK版本选择

  • 目前JDK1.8(也叫JDK8,注意不是JDK18)用得最多

3.Java代码的编译运行流程

  • 将Java源码编译成Java字节码。
  • 使用JVM将Java字节码转化成机器码。
  • JVM作用:跨平台、内存管理、安全。

4.JSE、JEE、JME的区别

  • JSE: Java Standard Edition,标准版
  • JEE:Java Enterprise Edition,企业版
  • JME: Java Mirco Edition,移动版
  • Spring是JEE的轻量级替代品
  • SpringBoot是Spring + 自动化配置

二、Java语法

1.变量、运算符、输入与输出

类似于C#,Java的所有变量和函数都要定义在class中。

1.1内置数据类型

|-------------|---------|--------------------|
| 类型 | 字节数 | 举例 |
| byte | 1 | 123 |
| short | 2 | 12345 |
| int | 4 | 123456789 |
| long | 8 | 1234567891011L |
| float | 4 | 1.2F |
| double | 8 | 1.2, 1.2D |
| boolean | 1 | true,false |
| char | 2 | 'A' |

1.2常量

使用final修饰:

java 复制代码
final int N = 110;

1.3类型转化

  • 显示转化:int x = (int)'A';
  • 隐式转化:double x = 12, y = 4 * 3.3;

1.4表达式

java 复制代码
int a = 1, b = 2, c = 3;
int x = (a + b) * c;
x ++;

1.5输入

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

java 复制代码
Scanner sc = new Scanner(System.in);
String str = sc.next();  // 读入下一个字符串
int x = sc.nextInt();  // 读入下一个整数
float y = sc.nextFloat();  // 读入下一个单精度浮点数
double z = sc.nextDouble();  // 读入下一个双精度浮点数
String line = sc.nextLine();  // 读入下一行

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

java 复制代码
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str = br.readLine();
        System.out.println(str);
    }
}

1.6输出

方式1,效率较低,输出规模较小时使用。

java 复制代码
System.out.println(123);  // 输出整数 + 换行
System.out.println("Hello World");  // 输出字符串 + 换行
System.out.print(123);  // 输出整数
System.out.print("hcy\n");  // 输出字符串
System.out.printf("%04d %.2f\n", 4, 123.456D);  // 格式化输出,float与double都用%f输出

方式2,效率较高,输出规模较大时使用。注意需要抛异常。

java 复制代码
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;

public class Main {
    public static void main(String[] args) throws Exception {
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        bw.write("Hello World\n");
        bw.flush();  // 需要手动刷新缓冲区
    }
}

2.判断语句

1.if-else语句

java 复制代码
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int year = sc.nextInt();
        if (year % 100 == 0) {
            if (year % 400 == 0)
                System.out.printf("%d是闰年\n", year);
            else
                System.out.printf("%d不是闰年\n", year);
        } else {
            if (year % 4 == 0)
                System.out.printf("%d是闰年\n", year);
            else
                System.out.printf("%d不是闰年\n", year);
        }
    }
}

2.switch语句

java 复制代码
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int day = sc.nextInt();
        String name;
        switch (day) {
            case 1:
                name = "Monday";
                break;
            case 2:
                name = "Tuesday";
                break;
            case 3:
                name = "Wednesday";
                break;
            case 4:
                name = "Thursday";
                break;
            case 5:
                name = "Friday";
                break;
            case 6:
                name = "Saturday";
                break;
            case 7:
                name = "Sunday";
                break;
            default:
                name = "not valid";
        }
        System.out.println(name);
    }
}

3.逻辑运算符与条件表达式

java 复制代码
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int year = sc.nextInt();
        if (year % 100 != 0 && year % 4 == 0 || year % 400 == 0)
            System.out.printf("%d是闰年\n", year);
        else
            System.out.printf("%d不是闰年\n", year);
    }
}

3.循环语句

3.1while循环

java 复制代码
int i = 0;
while (i < 5) {
    System.out.println(i);
    i ++ ;
}

3.2do while循环

java 复制代码
int i = 0;
do {
    System.out.println(i);
    i ++ ;
} while (i < 5);

do while语句与while语句非常相似。唯一的区别是,do while语句限制性循环体后检查条件。不管条件的值如何,我们都要至少执行一次循环。

3.3for循环

java 复制代码
for (int i = 0; i < 5; i ++ ) {  // 普通循环
    System.out.println(i);
}

int[] a = {0, 1, 2, 3, 4};
for (int x: a) {  // forEach循环
    System.out.println(x);
}

总结

一些Java基本语法的基本介绍,语法更新结束会紧跟项目实战,后续会持续在该专栏进行更新!!!

相关推荐
陈大爷(有低保)18 分钟前
UDP Socket聊天室(Java)
java·网络协议·udp
kinlon.liu32 分钟前
零信任安全架构--持续验证
java·安全·安全架构·mfa·持续验证
王哲晓1 小时前
Linux通过yum安装Docker
java·linux·docker
java6666688881 小时前
如何在Java中实现高效的对象映射:Dozer与MapStruct的比较与优化
java·开发语言
Violet永存1 小时前
源码分析:LinkedList
java·开发语言
执键行天涯1 小时前
【经验帖】JAVA中同方法,两次调用Mybatis,一次更新,一次查询,同一事务,第一次修改对第二次的可见性如何
java·数据库·mybatis
Adolf_19931 小时前
Flask-JWT-Extended登录验证, 不用自定义
后端·python·flask
Jarlen1 小时前
将本地离线Jar包上传到Maven远程私库上,供项目编译使用
java·maven·jar
蓑 羽1 小时前
力扣438 找到字符串中所有字母异位词 Java版本
java·算法·leetcode
叫我:松哥1 小时前
基于Python flask的医院管理学院,医生能够增加/删除/修改/删除病人的数据信息,有可视化分析
javascript·后端·python·mysql·信息可视化·flask·bootstrap