恬宝乖乖 發表於 2026-3-31 18:17:00

Java学习笔记:开发初体验:HelloWorld

<p>一般初学者开发第一个Java程序,我们习惯称之为:<code>HelloWorld</code>。</p>
<h2 id="1-java程序的开发步骤">1. Java程序的开发步骤</h2>
<p>Java程序开发一般分为三步:<strong>编写</strong>、<strong>编译</strong>、<strong>运行</strong>。</p>
<ul>
<li>将Java代码编写到以<code>.java</code>结尾的源文件中。</li>
<li>通过<code>javac.exe</code>命令对源文件(.java)进行编译,编译后在当前源文件所在目录会自动生成一个或多个以<code>.class</code>结尾的字节码文件。</li>
<li>通过<code>java.exe</code>命令对生成的字节码文件(.class)进行解释运行。</li>
</ul>
<p><img src="https://img2024.cnblogs.com/blog/3382744/202603/3382744-20260331170156613-1642825621.png"></p>
<h3 id="11-编写java源代码">1.1 编写Java源代码</h3>
<ul>
<li>
<p>使用文本编辑器(记事本、EditPlus、NotePad++)或IDE)(Eclipse、IntelliJ IDEA)。</p>
</li>
<li>
<p>创建以<code>.java</code>为扩展名的源文件。如:<code>HelloWorld.java</code>。</p>
</li>
<li>
<p>在源文件中编写Java代码:</p>
<pre><code class="language-java">class HelloWorld {
public static void main(String[] args) {
    System.out.println("Hello,World!");
}
}
</code></pre>
</li>
</ul>
<h3 id="12-编译源代码">1.2 编译源代码</h3>
<ul>
<li>
<p>打开cmd命令行终端,切换到源文件所在目录。</p>
</li>
<li>
<p>使用<code>javac</code>命令编译:</p>
<pre><code class="language-bash">javac HelloWorld.java
</code></pre>
</li>
<li>
<p>编译成功后会生成字节码文件<code>HelloWorld.class</code>。</p>
</li>
</ul>
<h3 id="13-解释运行">1.3 解释运行</h3>
<ul>
<li>
<p>使用<code>java</code>命令启动Java虚拟机(JVM)执行字节码文件(.class)。</p>
<pre><code class="language-bash">java HelloWorld
</code></pre>
<p>注意:不加<code>.class</code>后缀。</p>
<p>如图所示:JVM执行过程<br>
<img src="https://img2024.cnblogs.com/blog/3382744/202603/3382744-20260331170033334-235884854.png"></p>
</li>
<li>
<p>程序输出结果:</p>
<pre><code class="language-text">Hello,World!
</code></pre>
</li>
</ul>
<h2 id="2-总结常见错误问题">2. 总结:常见错误问题</h2>
<ul>
<li>
<p>Java是一门严格区分大小写的编程语言。</p>
</li>
<li>
<p>每个类或方法都是以大括号成对出现;每个执行语句结束都以;结束。格式:</p>
<pre><code class="language-text">类 {
      方法 {
            执行语句;
      }
}
</code></pre>
<ul>
<li>一定要有缩进。只要遇到{}就缩进,每一级缩进一个Tab键。</li>
<li>{}的左半部分在行尾,右半部分单独一行,与和它成对的"{"的行首对齐</li>
</ul>
</li>
</ul>
<h3 id="21-中文乱码">2.1 中文乱码</h3>
<p>出现中文乱码的问题,是因为Java源文件的字符编码和cmd命令行终端的字符编码不一致导致的。</p>
<p><strong>解决方案1:修改Java源文件的字符编码与cmd命令行终端一致</strong></p>
<ul>
<li>查看cmd命令行终端字符集:</li>
</ul>
<p><img src="https://img2024.cnblogs.com/blog/3382744/202603/3382744-20260331173855036-1633240423.png"></p>
<ul>
<li>使用文本编辑器修改字符集:</li>
</ul>
<p><img src="https://img2024.cnblogs.com/blog/3382744/202603/3382744-20260331174049290-696969759.png"></p>
<p><strong>解决方案2:修改cm命令行终端字符编码与Java源文件保持一致</strong></p>
<p>在Windows系统中,CMD默认编码通常为GBK(代码页936)。如果需要将其修改为UTF-8(代码页65001),可以通过以下方法实现。</p>
<ul>
<li>
<p><strong>临时修改</strong><br>
此方法仅对当前CMD窗口有效,关闭后设置失效。</p>
<ul>
<li>
<p>打开CMD窗口。输入以下命令:</p>
<pre><code class="language-bash">chcp 65001
</code></pre>
</li>
<li>
<p>执行后,当前CMD窗口的编码即切换为UTF-8。</p>
</li>
</ul>
</li>
<li>
<p><strong>永久修改</strong><br>
通过修改注册表,可以使CMD默认编码为UTF-8。</p>
<ul>
<li>
<p>按下 <code>Win + R</code>,输入 <code>regedit</code> 打开注册表编辑器。</p>
</li>
<li>
<p>导航到以下路径:</p>
<pre><code class="language-text">HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
</code></pre>
</li>
<li>
<p>在右侧窗格中: 右键选择“新建” &gt; “字符串值”。 将名称设置为 <code>autorun</code>。 双击 <code>autorun</code>,在“数值数据”中输入: <code>chcp 65001</code></p>
</li>
<li>
<p>关闭注册表编辑器并重新打开CMD窗口,编码将默认设置为<code>UTF-8</code>。</p>
</li>
</ul>
</li>
<li>
<p><strong>通过系统设置更改</strong><br>
适用于Windows 10/11较新版本。</p>
<ol>
<li>
<p>打开“设置”应用。点击“时间和语言”,选择“语言”。</p>
</li>
<li>
<p>在“管理语言设置”中,勾选 “使用Unicode UTF-8提供全球语言支持”。</p>
</li>
<li>
<p>重启系统以生效。</p>
</li>
</ol>
</li>
</ul>
<blockquote>
<p><strong>注意事项</strong>:<br>
临时修改适合快速测试,永久修改适合长期使用。<br>
修改注册表前建议备份,以防误操作影响系统稳定性。<br>
如果不希望每次打开CMD显示提示信息,可将 autorun 的值改为:<code>chcp 65001&gt;nul</code><br>
通过以上方法,即可成功将CMD的编码格式切换为UTF-8。</p>
</blockquote>
<p><strong>解决方案3:使用<code>javac</code>命令时,指定字符编码</strong><br>
使用<code>javac</code>命令进行编译时添加<code>-encoding UTF-8</code>。如:</p>
<pre><code class="language-bash">javac -encoding UTF-8 HelloWorld.java
</code></pre>
<h3 id="22-对-11-编写java源代码-说明">2.2 对 "1.1 编写Java源代码" 说明:</h3>
<pre><code class="language-java">class HelloWorld {
        public static void main(String[] args) {
                System.out.println("HelloWorld!你好,地球");
        }
}
</code></pre>
<ol>
<li>
<p>class:Java关键字,表示"类",后面跟着类名。</p>
</li>
<li>
<p><code>public static void main(String[] args)</code>方法是Java程序的主入口。<br>
格式大小写保持一致,如果非要修改,可修改:</p>
<ul>
<li>
<p>方式1:修改数组格式<br>
<code>public static void main(String args[])</code></p>
</li>
<li>
<p>方式2:修改数组名称<br>
<code>public static void main(String[] a)</code></p>
</li>
</ul>
</li>
<li>
<p>两种常见的输出语句:<br>
<strong>换行输出语句</strong>:输出内容,完毕后进行换行,格式如下:</p>
<pre><code class="language-java"> System.out.println(输出内容);
</code></pre>
<p><strong>直接输出语句</strong>:输出内容,完毕后不做任何处理,格式如下:</p>
<pre><code class="language-java">System.out.print(输出内容);
</code></pre>
<blockquote>
<p><strong>注意事项</strong>:<br>
换行输出语句,括号内可以什么都不写,只做换行处理。<br>
直接输出语句,括号内什么都不写的话,编译报错。</p>
</blockquote>
</li>
</ol>
<h3 id="23-对-12-编译源代码-说明">2.3 对 "1.2 编译源代码" 说明:</h3>
<ol>
<li>
<p>如果编译不通过,可以考虑的问题:<br>
问题1:查看编译的文件名、文件路径是否正确。<br>
问题2:查看代码中是否存在语法问题,如果存在,就会导致编译不通过。</p>
</li>
<li>
<p>编译以后,根据源文件中定义的类,会生成一个或多个字节码文件。<br>
每一个字节码文件对应源文件中的一个类,并且字节码文件名与类名相同。</p>
</li>
</ol>
<h3 id="24-对-13-解释运行-说明">2.4 对 "1.3 解释运行" 说明:</h3>
<ol>
<li>
<p>解释运行是针对于源文件生成后的字节码文件中所对应的Java类进行解释运行的。<br>
注:严格区分大小写。</p>
</li>
<li>
<p>如果运行不通过。可以考虑的问题:<br>
问题1:查看解释运行的类名、字节码文件路径是否书写正确。<br>
问题2:代码中可能存在运行时异常。</p>
</li>
</ol>
<h3 id="25-源文件与类">2.5 源文件与类</h3>
<ol>
<li>
<p>一个源文件(.java)可以包含多个类,但最多只能有一个public类。</p>
</li>
<li>
<p>如果源文件中存在public类,那么源文件名必须与该public类的类名完全相同(包括大小写)。这样编译器才能根据文件名快速定位到公共入口。如果允许多个public类,文件名将无法同时匹配多个类名,导致编译混乱(编译报错)。</p>
</li>
</ol>
<blockquote>
<p>建议:一个Java源文件中尽量只写一个类,且被public修饰,以便于后续维护。</p>
</blockquote><br><br>
来源:https://www.cnblogs.com/lisong0626/p/19802402
頁: [1]
查看完整版本: Java学习笔记:开发初体验:HelloWorld