一些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基本语法的基本介绍,语法更新结束会紧跟项目实战,后续会持续在该专栏进行更新!!!