Java 的核心语法是学习 Java 编程的起点,主要包括变量与数据类型、运算符、流程控制(条件判断 + 循环)等基础内容。下面从最基础的部分开始,系统地讲解这些核心语法,并配以清晰的示例和流程图参考。
1. 变量与数据类型(Variables & Data Types)
Java 是强类型语言,所有变量使用前必须先声明类型。
基本数据类型(Primitive Types)
| 类型 | 关键字 | 占用字节 | 取值范围 | 默认值 | 说明 |
|---|---|---|---|---|---|
| 整数 | byte | 1 | -128 ~ 127 | 0 | 很小的整数 |
| 整数 | short | 2 | -32,768 ~ 32,767 | 0 | 短整数 |
| 整数 | int | 4 | -2³¹ ~ 2³¹-1(约±21亿) | 0 | 最常用的整数类型 |
| 整数 | long | 8 | -2⁶³ ~ 2⁶³-1 | 0L | 大整数,后缀 L/l |
| 浮点数 | float | 4 | ±3.4E±38(约6~7位有效数字) | 0.0f | 单精度,后缀 F/f |
| 浮点数 | double | 8 | ±1.7E±308(约15位有效数字) | 0.0 | 双精度,最常用 |
| 字符 | char | 2 | ‘’ ~ ‘\uFFFF’(Unicode) | ‘’ | 单个字符,用单引号 |
| 布尔 | boolean | ~1bit | true / false | false | 逻辑值 |
数据类型层级示意图参考(直观理解基本类型与引用类型的区别):
以下是几种常见的数据类型分类图:
变量声明与初始化示例
publicclassVariables{publicstaticvoidmain(String[]args){// 声明 + 初始化intage=25;doubleheight=1.75;chargender='男';booleanisStudent=true;Stringname="重阳";// String 是引用类型(不是基本类型)// 可以分开声明和赋值longpopulation;population=14_000_000_000L;// 数字分隔符 Java7+ 支持System.out.println("姓名:"+name);System.out.println("年龄:"+age+"岁");}}2.运算符(Operators)
| 类别 | 运算符 | 说明 | 优先级 |
|---|---|---|---|
| 算术 | + - * / % ++ – | 加减乘除取模 自增自减 | 高 |
| 关系(比较) | > < >= <= == != | 比较大小/相等 | 中 |
| 逻辑 | && || ! | 与 或 非 | 中 |
| 位运算 | & | ^ ~ << >> >>> | 位与/或/异或/非 左右移 | 低 |
| 赋值 | = += -= *= /= %= <<= >>= &= |= ^= | 赋值及复合赋值 | 最低 |
| 三元 | 条件 ? 表达式1 : 表达式2 | 简洁的 if-else | 中 |
三元运算符示例:
intscore=85;Stringresult=score>=60?"及格":"不及格";System.out.println(result);// 输出:及格3. 流程控制(Control Flow)
3.1 条件判断
if / else if / else
intscore=76;if(score>=90){System.out.println("优秀");}elseif(score>=80){System.out.println("良好");}elseif(score>=60){System.out.println("及格");}else{System.out.println("不及格");}if-else 流程图参考(非常清晰的结构图):
以下是几种 if 语句的流程示意图:
switch 语句(Java 17+ 支持增强型 switch 表达式)
// 传统写法Stringseason="夏天";switch(season){case"春天":System.out.println("万物复苏");break;case"夏天":System.out.println("炎热难耐");break;default:System.out.println("其他季节");}3.2 循环语句
Java 提供三种循环结构:
| 循环类型 | 特点 | 适用场景 | 至少执行次数 |
|---|---|---|---|
| for | 计数循环,结构清晰 | 已知循环次数 | 0~n 次 |
| while | 先判断后执行 | 不确定循环次数 | 0~n 次 |
| do-while | 先执行后判断 | 至少执行一次 | 至少1次 |
三种循环结构对比示意图:
示例代码(三种循环对比)
publicclassLoopsDemo{publicstaticvoidmain(String[]args){// 1. for 循环 - 打印 1~5System.out.println("for 循环:");for(inti=1;i<=5;i++){System.out.print(i+" ");}System.out.println();// 2. while 循环 - 猜数字(简化版)System.out.println("while 循环:");intcount=0;while(count<3){System.out.println("第"+(count+1)+"次");count++;}// 3. do-while 循环 - 至少执行一次System.out.println("do-while 循环:");intnum=0;do{System.out.println("这一次 num = "+num);num++;}while(num<0);// 条件不成立但仍执行一次}}循环控制语句:
break:跳出当前整个循环continue:跳过本次循环,继续下一次break label/continue label:跳出/继续指定标签的循环(多层循环时使用)
小结:Java 核心语法学习路径建议
| 阶段 | 重点内容 | 建议练习 |
|---|---|---|
| Day 1-2 | 变量、数据类型、运算符 | 各种类型变量声明与运算 |
| Day 3-4 | if-else / switch / 三元运算符 | 成绩分级、菜单选择 |
| Day 5-7 | for / while / do-while | 九九乘法表、求和、猜数字游戏 |
| Day 8+ | 综合练习 + break/continue | 打印图案、统计、筛选 |
如果你想深入某个部分(例如:嵌套循环打印图案、switch 表达式新语法、循环优化等),或者想要完整的综合练习题,可以告诉我,我会继续展开讲解!