Skip to content

01-Java 入门与基础语法

对应原始资料:day01-Java入门&IDEA&基础语法

一、Java 语言概述

1. Java 的特点

  • 面向对象:以类和对象为基本组织单位。
  • 跨平台:一次编译,到处运行(依赖 JVM)。
  • 分布式、健壮、多线程、高性能

2. JDK / JRE / JVM 的关系

  • JVM(Java Virtual Machine):Java 虚拟机,负责把字节码翻译成机器指令,是跨平台的根本。
  • JRE(Java Runtime Environment):运行环境 = JVM + 核心类库。
  • JDK(Java Development Kit):开发工具包 = JRE + 开发工具(javac、java、javadoc 等)。
JDK = JRE + 开发工具
JRE = JVM + 核心类库

二、第一个程序 HelloWorld

java
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

编译与运行:

bash
javac HelloWorld.java   # 生成 HelloWorld.class
java HelloWorld         # 运行

注意:public class 的类名必须和文件名一致;一个 .java 文件只能有一个 public class

三、注释

java
// 单行注释

/*
   多行注释
*/

/**
 * 文档注释(可被 javadoc 解析生成帮助文档)
 */

四、关键字与保留字

  • 关键字:Java 赋予特殊含义的单词,全部小写(如 classpublicstaticvoidiffor)。
  • 保留字:现有版本未使用,未来可能使用(如 gotoconst)。
  • 标识符命名规范
    • 由字母、数字、下划线、$ 组成,不能以数字开头。
    • 小驼峰:变量、方法名(myName)。
    • 大驼峰:类名(StudentManager)。
    • 常量:全大写,单词间用下划线(MAX_VALUE)。

五、常量与字面量

类型示例
整数100b1010(二进制)、012(八进制)、0xA(十六进制)
浮点数3.142.5e2
字符'A''中''\n'
字符串"Hello"
布尔truefalse
空常量null(不能直接打印)

六、数据类型

1. 基本数据类型(4 类 8 种)

分类类型字节数取值范围
整数byte1-128~127
short2-32768~32767
int(默认)4±21 亿
long8很大,字面量加 L
浮点float4字面量加 F
double(默认)8
字符char20~65535
布尔boolean1true/false

2. 引用数据类型

字符串、数组、类、接口、Lambda 等。

注意: String 不是基本类型,是引用类型(类)。

七、变量

java
int a = 10;
double pi = 3.14;
char c = 'A';
boolean flag = true;
long l = 10000000000L;
float f = 3.14F;

变量的作用域:从定义处开始,到它所属的 {} 结束。

八、类型转换

1. 自动类型转换(小 → 大)

byte → short → int → long → float → doublechar → int

java
double d = 10;   // int 自动转 double

2. 强制类型转换(大 → 小)

java
int a = (int) 3.14;   // a = 3,可能丢失精度

3. byte/short 运算陷阱

byteshortchar 参与运算时会自动提升为 int

java
byte b1 = 3, b2 = 4;
byte b3 = (byte)(b1 + b2);   // 必须强转,否则编译报错

九、键盘录入 Scanner

java
import java.util.Scanner;

Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String s = sc.next();
double d = sc.nextDouble();

练习建议

  1. 安装 JDK 8 与 IDEA,跑通 HelloWorld。
  2. 定义各种基本类型变量并打印,观察自动/强制类型转换的结果。
  3. 用 Scanner 录入个人信息(姓名、年龄、身高)并格式化输出。