一些Java基本语法的基本介绍,语法更新结束会紧跟项目实战,后续会持续在该专栏进行更新!!!
目录
[3.2do while循环](#3.2do while循环)
前言
一些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基本语法的基本介绍,语法更新结束会紧跟项目实战,后续会持续在该专栏进行更新!!!