<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>1.Java基础 on Luoj`s Markdown</title>
    <link>https://luojmarkdown.pages.dev/posts/%E5%AE%89%E5%8D%93%E5%BA%94%E7%94%A8/1.java%E5%9F%BA%E7%A1%80/</link>
    <description>Recent content in 1.Java基础 on Luoj`s Markdown</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Mon, 08 Jun 2026 16:06:00 +0800</lastBuildDate>
    <atom:link href="https://luojmarkdown.pages.dev/posts/%E5%AE%89%E5%8D%93%E5%BA%94%E7%94%A8/1.java%E5%9F%BA%E7%A1%80/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>04-Java进阶特性</title>
      <link>https://luojmarkdown.pages.dev/posts/%E5%AE%89%E5%8D%93%E5%BA%94%E7%94%A8/1.java%E5%9F%BA%E7%A1%80/04-%E8%BF%9B%E9%98%B6%E7%89%B9%E6%80%A7/</link>
      <pubDate>Mon, 08 Jun 2026 16:06:00 +0800</pubDate>
      <guid>https://luojmarkdown.pages.dev/posts/%E5%AE%89%E5%8D%93%E5%BA%94%E7%94%A8/1.java%E5%9F%BA%E7%A1%80/04-%E8%BF%9B%E9%98%B6%E7%89%B9%E6%80%A7/</guid>
      <description>&lt;h1 id=&#34;java-进阶特性&#34;&gt;Java 进阶特性&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;参考指导书 2.4 Java 进阶特性&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;学习清单&#34;&gt;学习清单&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 异常处理（try-catch-finally, throws, 自定义异常）&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; IO 流（File, InputStream, OutputStream, Reader, Writer）&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 多线程（Thread, Runnable, 线程池 ExecutorService）&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Lambda 表达式（Java 8+）&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Stream API（Java 8+）&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 注解（Annotation）&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 反射（Reflection）&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;1-异常处理&#34;&gt;1. 异常处理&lt;/h2&gt;
&lt;h3 id=&#34;11-为什么需要异常&#34;&gt;1.1 为什么需要异常&lt;/h3&gt;
&lt;p&gt;没有异常机制的语言（比如 C）靠返回值来判断错误：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-c&#34; data-lang=&#34;c&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; result &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;doSomething&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (result &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)  { &lt;span style=&#34;color:#75715e&#34;&gt;/* 错误 1 */&lt;/span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (result &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;)  { &lt;span style=&#34;color:#75715e&#34;&gt;/* 错误 2 */&lt;/span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// 正常逻辑和错误处理混在一起，层层 if 嵌套，可读性极差
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Java 的异常机制把&lt;strong&gt;正常逻辑&lt;/strong&gt;和&lt;strong&gt;错误处理&lt;/strong&gt;分开——代码沿着&amp;quot;快乐路径&amp;quot;写，错误交给 catch 块处理。&lt;/p&gt;
&lt;h3 id=&#34;12-异常体系&#34;&gt;1.2 异常体系&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Throwable
├── Error             严重错误，程序无法处理（OutOfMemoryError、StackOverflowError）
└── Exception         可处理的异常
    ├── RuntimeException（运行期异常）  不强制处理，如 NullPointerException、ArrayIndexOutOfBoundsException
    └── 其他（编译期异常）               必须显式处理，如 IOException、SQLException
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;编译期异常 vs 运行期异常&lt;/strong&gt;：&lt;/p&gt;</description>
    </item>
    <item>
      <title>03-Java核心API</title>
      <link>https://luojmarkdown.pages.dev/posts/%E5%AE%89%E5%8D%93%E5%BA%94%E7%94%A8/1.java%E5%9F%BA%E7%A1%80/03-%E6%A0%B8%E5%BF%83api/</link>
      <pubDate>Mon, 08 Jun 2026 16:05:00 +0800</pubDate>
      <guid>https://luojmarkdown.pages.dev/posts/%E5%AE%89%E5%8D%93%E5%BA%94%E7%94%A8/1.java%E5%9F%BA%E7%A1%80/03-%E6%A0%B8%E5%BF%83api/</guid>
      <description>&lt;h1 id=&#34;java-核心-api&#34;&gt;Java 核心 API&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;参考指导书 2.3 Java 核心 API&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;学习清单&#34;&gt;学习清单&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; String 与 StringBuilder&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 包装类（Integer, Long, Double 等）&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Math 类&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 日期与时间（Date, Calendar, LocalDateTime）&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 集合框架
&lt;ul&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; List（ArrayList, LinkedList）&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Set（HashSet, TreeSet）&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Map（HashMap, TreeMap）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 泛型（Generics）&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;1-string-与-stringbuilder&#34;&gt;1. String 与 StringBuilder&lt;/h2&gt;
&lt;h3 id=&#34;11-string-的不可变性&#34;&gt;1.1 String 的不可变性&lt;/h3&gt;
&lt;p&gt;String 是 Java 中最特殊的类之一：&lt;strong&gt;一旦创建，内容永远不能改&lt;/strong&gt;。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;String s &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hello&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;s &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; s &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; World&amp;#34;&lt;/span&gt;;    &lt;span style=&#34;color:#75715e&#34;&gt;// 看起来像是改了 s，实际是创建了一个新对象&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;&amp;quot;Hello&amp;quot;&lt;/code&gt; 那个对象本身没变——&lt;code&gt;s + &amp;quot; World&amp;quot;&lt;/code&gt; 在内存中创建了一个全新的 &lt;code&gt;&amp;quot;Hello World&amp;quot;&lt;/code&gt; 对象，然后把 &lt;code&gt;s&lt;/code&gt; 指向了它。原来的 &lt;code&gt;&amp;quot;Hello&amp;quot;&lt;/code&gt; 如果没被引用，就等着被垃圾回收。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;为什么要把 String 设计成不可变？&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>02-Java面向对象编程</title>
      <link>https://luojmarkdown.pages.dev/posts/%E5%AE%89%E5%8D%93%E5%BA%94%E7%94%A8/1.java%E5%9F%BA%E7%A1%80/02-%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%BC%96%E7%A8%8B/</link>
      <pubDate>Mon, 08 Jun 2026 16:04:00 +0800</pubDate>
      <guid>https://luojmarkdown.pages.dev/posts/%E5%AE%89%E5%8D%93%E5%BA%94%E7%94%A8/1.java%E5%9F%BA%E7%A1%80/02-%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%BC%96%E7%A8%8B/</guid>
      <description>&lt;h1 id=&#34;java-面向对象编程&#34;&gt;Java 面向对象编程&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;参考指导书 2.2 面向对象编程（OOP）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;学习清单&#34;&gt;学习清单&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 类与对象&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 构造方法&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 封装（private, default, protected, public）&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 继承（extends）&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 多态（方法重载、方法重写）&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 抽象类（abstract class）&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 接口（interface）&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 内部类（成员内部类、静态内部类、匿名内部类、局部内部类）&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 枚举（enum）&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;1-类与对象&#34;&gt;1. 类与对象&lt;/h2&gt;
&lt;h3 id=&#34;核心概念&#34;&gt;核心概念&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;类（Class）&lt;/strong&gt;：对象的模板/蓝图，定义了属性和行为&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;对象（Object）&lt;/strong&gt;：类的具体实例，通过 &lt;code&gt;new&lt;/code&gt; 关键字创建&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;属性（Field）&lt;/strong&gt;：类中的变量，描述对象的状态&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;方法（Method）&lt;/strong&gt;：类中的函数，描述对象的行为&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;最小示例&#34;&gt;最小示例&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Person&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;// 属性（成员变量）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    String name;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; age;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;// 方法&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;introduce&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        System.&lt;span style=&#34;color:#a6e22e&#34;&gt;out&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;println&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;I&amp;#39;m &amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; name &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;, &amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; age &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; years old.&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// 使用&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Person p &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; Person();    &lt;span style=&#34;color:#75715e&#34;&gt;// 创建对象&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;p.&lt;span style=&#34;color:#a6e22e&#34;&gt;name&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Zhang San&amp;#34;&lt;/span&gt;;       &lt;span style=&#34;color:#75715e&#34;&gt;// 给属性赋值&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;p.&lt;span style=&#34;color:#a6e22e&#34;&gt;age&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; 20;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;p.&lt;span style=&#34;color:#a6e22e&#34;&gt;introduce&lt;/span&gt;();              &lt;span style=&#34;color:#75715e&#34;&gt;// 调用方法&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;内存模型&#34;&gt;内存模型&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Person p = new Person();
       ↑         ↑
    栈上的引用   堆上的对象（实际数据）
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;code&gt;p&lt;/code&gt; 是栈上的一个引用变量（4/8 字节），指向堆中真正的 Person 对象。&lt;code&gt;new&lt;/code&gt; 干了三件事：堆上分配内存 → 初始化默认值 → 返回引用地址。&lt;/p&gt;</description>
    </item>
    <item>
      <title>01-Java基础语法</title>
      <link>https://luojmarkdown.pages.dev/posts/%E5%AE%89%E5%8D%93%E5%BA%94%E7%94%A8/1.java%E5%9F%BA%E7%A1%80/01-%E5%9F%BA%E7%A1%80%E8%AF%AD%E6%B3%95/</link>
      <pubDate>Mon, 08 Jun 2026 16:03:00 +0800</pubDate>
      <guid>https://luojmarkdown.pages.dev/posts/%E5%AE%89%E5%8D%93%E5%BA%94%E7%94%A8/1.java%E5%9F%BA%E7%A1%80/01-%E5%9F%BA%E7%A1%80%E8%AF%AD%E6%B3%95/</guid>
      <description>&lt;h1 id=&#34;java-基础语法&#34;&gt;Java 基础语法&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;参考指导书 2.1 基础语法&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;学习清单&#34;&gt;学习清单&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; JDK 安装与环境配置&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 第一个 Java 程序：Hello World&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 基本数据类型（int, long, float, double, boolean, char, byte, short）&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 变量与常量&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 运算符（算术、关系、逻辑、位、三元）&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 流程控制（if-else, switch, for, while, do-while）&lt;/li&gt;
&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 数组（一维数组、二维数组）&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;1-jdk-安装与环境配置&#34;&gt;1. JDK 安装与环境配置&lt;/h2&gt;
&lt;h3 id=&#34;jdk-vs-jre&#34;&gt;JDK vs JRE&lt;/h3&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;概念&lt;/th&gt;
          &lt;th&gt;全称&lt;/th&gt;
          &lt;th&gt;作用&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;JDK&lt;/td&gt;
          &lt;td&gt;Java Development Kit&lt;/td&gt;
          &lt;td&gt;开发者工具包，包含 &lt;strong&gt;javac（编译器）&lt;/strong&gt; + java（运行器） + JRE&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;JRE&lt;/td&gt;
          &lt;td&gt;Java Runtime Environment&lt;/td&gt;
          &lt;td&gt;运行 Java 程序的环境，只有 java 没有 javac&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;JVM&lt;/td&gt;
          &lt;td&gt;Java Virtual Machine&lt;/td&gt;
          &lt;td&gt;执行字节码的虚拟机，JDK 和 JRE 都包含&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;编译与运行流程&#34;&gt;编译与运行流程&lt;/h3&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;.java 源文件  ──javac 编译──▶  .class 字节码  ──java 运行──▶  JVM 执行
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;环境检查&#34;&gt;环境检查&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;java -version       &lt;span style=&#34;color:#75715e&#34;&gt;# 查看 JDK 版本&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;javac -version      &lt;span style=&#34;color:#75715e&#34;&gt;# 查看编译器版本&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id=&#34;2-第一个-java-程序hello-world程序基本规则详解&#34;&gt;2. 第一个 Java 程序：Hello World（程序基本规则详解）&lt;/h2&gt;
&lt;h3 id=&#34;最小代码&#34;&gt;最小代码&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// HelloWorld.java&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;HelloWorld&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;static&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;void&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;(String&lt;span style=&#34;color:#f92672&#34;&gt;[]&lt;/span&gt; args) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        System.&lt;span style=&#34;color:#a6e22e&#34;&gt;out&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;println&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hello, World!&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;逐行解析&#34;&gt;逐行解析&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;public class HelloWorld&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
