基本类型与变量¶
从最基础的开始。这一章你会建立 Java 的强类型心智——它和 JS 最大的体感差异。
Java 的 8 种基本类型¶
JS 只有 number(什么整数小数都塞进去)。Java 把数值拆得很细,每种占的内存不同:
| 类型 | 含义 | 范围 | JS 对照 |
|---|---|---|---|
byte |
8 位整数 | -128 ~ 127 | 无 |
short |
16 位整数 | ±3.2 万 | 无 |
int |
32 位整数(最常用) | ±21 亿 | number 的整数部分 |
long |
64 位整数 | 极大 | number |
float |
32 位浮点 | — | number |
double |
64 位浮点(默认小数) | — | number 的小数部分 |
char |
单个字符 | 'A' |
长度为 1 的 string |
boolean |
真 / 假 | true / false |
boolean |
前端人记忆法
平时写整数用 int,写大数用 long(字面量加 L:10000000000L),
写小数用 double,判断真假用 boolean。这就够覆盖 90% 场景。
变量:类型必须写在前面¶
类型一旦声明就锁死,编译器在编译期就检查——这正是 Java "啰嗦但安全"的根源。
引用类型:String¶
基本类型之外的值都是引用类型(对象),最常见的是 String:
一个可运行的完整示例¶
下面这段代码是仓库里真实可编译的文件 TypesDemo.java——文档直接引用它的内容,
改了代码这里自动同步:
package com.javaglm.language.ch04;
/**
* 第 04 章 · 基本类型与变量 —— 可运行示例。
*
* <p>本文件被 docs/02-language/04-types-variables.md 通过 mkdocs snippet 直接引用:
* 文档页面展示的内容 == 这里编译的那份,改一处自动同步、零漂移。
*
* <p>运行方式:{@code mvn exec:java}(本模块)或 IDEA 里点运行按钮。
*/
public class TypesDemo {
public static void main(String[] args) {
// 1. 基本类型:类型必须写在变量名前面(对比 JS 的 let count = 10)
int count = 10;
long bigNumber = 10000000000L; // long 字面量要加后缀 L
double price = 19.99;
boolean isOpen = true;
char first = 'T'; // 单引号 = 单个字符;双引号才是字符串
System.out.println("count = " + count);
System.out.println("bigNumber = " + bigNumber);
System.out.println("price = " + price);
System.out.println("isOpen = " + isOpen);
System.out.println("first = " + first);
// 2. 引用类型:String(双引号)
String name = "Tom";
System.out.println("name = " + name);
// 3. ★ 前端人最大的坑:字符串比较内容必须用 .equals(),绝不能用 ==
String a = new String("hi");
String b = new String("hi");
System.out.println("a == b ? " + (a == b)); // false(比较的是地址)
System.out.println("a.equals(b) ? " + a.equals(b)); // true (比较的是内容)
// 4. 类型一旦声明就锁死:取消下面这行注释会导致编译报错(incompatible types)
// count = "十"; // ✗ int 永远不能装字符串
}
}
上面这段代码是怎么进来的
Markdown 里只写了一行 --8<-- "language/ch04-types/.../TypesDemo.java",
mkdocs 渲染时把那个真实 .java 文件的内容原样嵌入。这就是"所见即所编译"。
想自己跑这段代码¶
cd code/language/ch04-types
mvn compile exec:java -Dexec.mainClass="com.javaglm.language.ch04.TypesDemo"
或在 IDEA 里打开 code/ 目录,找到 TypesDemo.java,点旁边的绿色运行按钮。
下一章(编写中):流程控制。先看 第二篇路线图。