「Java基本語法」代碼格式與注釋規范

Java代碼的基本格式

Java代碼的規范格式是編寫和維護Java程序的基礎,其中包括類定義、方法定義、代碼縮進、大括號位置等。

1.核心規則

  1. 每個Java文件必須包含一個公共類(public class),且Java源文件的文件名必須和這個公共類的類名一致。
  2. Java源文件的后綴名為“.java”。
  3. 方法中包含返回類型、方法名、參數列表和代碼塊。
  4. 主方法(main)是Java程序的入口,格式為:

public static void main(String[] args) { ... }

  1. 通常使用4個空格或1個Tab鍵進行縮進,保持代碼層次清晰。
  2. 左大括號{與語句同行,右大括號}獨占一行。

2.示例代碼

示例

// 文件名:HelloWorld.java
public class HelloWorld { ?// 類名與文件名一致public static void main(String[] args) { ?// 主方法System.out.println("Hello, Java!"); ?// 輸出語句}
}

運行結果

Hello, Java!

代碼解析

  1. public class HelloWorld:定義公共類,類名是HelloWorld,文件名必須為HelloWorld.java。
  2. public static void main(String[] args):Java程序的入口方法。
  3. System.out.println("Hello, Java!"):將字符串“Hello, Java!”輸出到控制臺。

示例:

// 文件名:StudentInfo.java
public class StudentInfo { ?// 類名與文件名一致// 定義一個方法,輸出學生信息public static void printStudentInfo() {String name = "李華"; ?// 學生姓名int age = 20; ????????// 學生年齡String major = "計算機科學"; // 專業System.out.println("姓名: " + name);System.out.println("年齡: " + age);System.out.println("專業: " + major);}public static void main(String[] args) { ?// 主方法printStudentInfo(); ?// 調用方法}
}

運行結果

姓名: 李華
年齡: 20
專業: 計算機科學

代碼解析

  1. public class StudentInfo:定義公共類StudentInfo,文件名必須為StudentInfo.java。
  2. public static void printStudentInfo():定義一個靜態方法,用于輸出學生信息。
  3. public static void main(String[] args):程序入口。
  4. printStudentInfo();在main()方法中調用printStudentInfo方法。

3常見錯誤

錯誤:公共類的類名與文件名不一致,例如,公共類的類名為Test但文件名為Hello.java。

解決方法:確保公共類的類名與文件名完全一致,包括大小寫一致。

錯誤:缺少Java程序的入庫main方法導致程序無法運行。

解決方法:確保程序包含public static void main(String[] args)

錯誤:大括號位置不規范。

錯誤示例

public class Test {
public static void main(String[] args) ?// 左大括號未換行
{System.out.println("Hello");
}
}

解決方法:左大括號{與語句同行,右大括號}獨占一行。

public class Test {public static void main(String[] args) {System.out.println("Hello");}
}

Java中的注釋

程序中的注釋是用于解釋代碼邏輯,對代碼進行說明,在程序運行時不會起作用。Java中的注釋分為單行注釋、多行注釋和文檔注釋。

1.注釋類型

  1. 單行注釋://,從//開始注釋到行尾。
// 這是一個單行注釋
  1. 多行注釋:/* */,從/*開始到*/結束,可跨多行進行注釋。
/** 這是一個多行注釋* 可以跨越多行*/
  1. 文檔注釋:/** */,可以通過javadoc工具用于生成API文檔。
/*** 計算兩個數的和* @param a 第一個加數* @param b 第二個加數* @return 返回兩數之和*/
public static int add(int a, int b) {return a + b;
}

2.示例代碼

/*** 這是一個簡單的計算器程序* 可以計算加法、減法、乘法和除法* @author Java學習者*/
public class SimpleCalculator {public static void main(String[] args) {int num1 = 15; ?// 第一個操作數int num2 = 5; ??// 第二個操作數/* 計算并輸出結果?*/System.out.println("加法結果: " + (num1 + num2));System.out.println("減法結果: " + (num1 - num2));System.out.println("乘法結果: " + (num1 * num2));System.out.println("除法結果: " + (num1 / num2));}
}

運行結果

加法結果: 20
減法結果: 10
乘法結果: 75
除法結果: 3

代碼解析

  1. Java源文件保存為“SimpleCalculator.java”。
  2. /** */:文檔注釋,描述類功能。
  3. //:單行注釋,解釋變量定義。
  4. /* */:多行注釋,注釋計算邏輯。

3常見錯誤

錯誤:多行注釋未正確閉合。

錯誤示例:

/* 這是一個未閉合的多行注釋
System.out.println("Hello"); ?// 這行代碼會被注釋掉

解決方法:確保/**/成對出現。

修改后的代碼

/* 修改后的多行注釋?*/
System.out.println("Hello"); ?// 這行代碼會被注釋掉

錯誤:文檔注釋未放在類或方法前。

錯誤示例:

public class Test {public static void main(String[] args) {System.out.println("Hello"); ?// 文檔注釋不能放在這里/** 錯誤的文檔注釋位置 */}
}

解決方法:文檔注釋需緊跟在類或方法定義之前。

修改后的代碼

public class Test {/** 修改后的文檔注釋位置 */public static void main(String[] args) {System.out.println("Hello"); ?// 文檔注釋不能放在這里}
}

知識總結

1代碼格式

  1. 公用類的類名必須與文件名一致,公用類中需包含main()方法作為程序的入口。
  2. 規范使用縮進和大括號。

2注釋規范

  1. 單行注釋解釋局部邏輯。
  2. 多行注釋解釋復雜邏輯。
  3. 文檔注釋用于生成API文檔。

理論練習

選擇題:Java程序的入口方法是()。

A.start() ???B.main() ???C.run() ???D.init()

答案:B

判斷題:文檔注釋可以嵌套在方法內部。()

答案:錯誤。文檔注釋需要放在類或方法的前面。

填空題:Java中,單行注釋的符號是________,多行注釋的符號是________。

答案://,/* */

實操練習

練習:編寫一個Java程序,輸出個人信息(姓名、年齡、愛好)。

要求:

  1. 使用文檔注釋描述類功能。
  2. 使用單行注釋解釋變量定義。

參考答案

/*** 個人信息輸出程序*/
public class PersonalInfo {public static void main(String[] args) {String name = "張三"; ?// 姓名int age = 25; ????????// 年齡String hobby = "編程"; // 愛好System.out.println("姓名: " + name);System.out.println("年齡: " + age);System.out.println("愛好: " + hobby);}
}

運行結果

姓名: 張三
年齡: 25
愛好: 編程

說明:Java源文件保存為“PersonalInfo.java”。

練習:編寫一個Java程序,輸出個人信息(姓名、年齡、職業、所在城市)。

要求:

  1. 使用文檔注釋描述類功能。
  2. 使用單行注釋解釋變量定義。

參考答案

/*** 個人信息輸出程序*/
public class PersonalInfo {public static void main(String[] args) {String name = "王小明"; ?// 姓名int age = 28; ??????????// 年齡String occupation = "軟件工程師"; // 職業String city = "北京"; ???// 所在城市System.out.println("姓名: " + name);System.out.println("年齡: " + age);System.out.println("職業: " + occupation);System.out.println("所在城市: " + city);}
}

運行結果

姓名: 王小明
年齡: 28
職業: 軟件工程師
所在城市: 北京

說明:Java源文件保存為“PersonalInfo.java”。

練習:編寫一個計算矩形面積的程序。

要求:

  1. 使用多行注釋解釋計算邏輯。
  2. 輸出面積結果。

參考答案

public class RectangleArea {public static void main(String[] args) {int length = 5; ?// 長int width = 3; ??// 寬/** 計算矩形面積的公式:面積?= 長?× 寬*/int area = length * width;System.out.println("矩形面積: " + area);}
}

運行結果

矩形面積: 15

說明:Java源文件保存為“RectangleArea.java”。

練習:編寫一個計算三角形面積的程序。

要求:

  1. 使用多行注釋解釋計算邏輯。
  2. 輸出面積結果。

參考答案

public class TriangleArea {public static void main(String[] args) {double base = 10.0; ???// 底邊長度double height = 5.0; ??// 高度/** 計算三角形面積的公式:面積?= (底邊?× 高度) / 2*/double area = (base * height) / 2;System.out.println("三角形面積: " + area);}
}

運行結果

三角形面積: 25.0

說明:Java源文件保存為“TriangleArea.java”。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/908588.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/908588.shtml
英文地址,請注明出處:http://en.pswp.cn/news/908588.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2025年AI編程工具推薦

目錄 👑 **一、全能型AI開發環境(IDE)**🛠? **二、AI代碼助手與插件**🎯 **三、垂直領域工具**🇨🇳 **四、國產工具精選**🔮 **五、創新前沿工具**?? **選型建議** 2025年&#x…

【工具使用】STM32CubeMX-FreeRTOS操作系統-信號標志、互斥鎖、信號量篇

一、概述 無論是新手還是大佬,基于STM32單片機的開發,使用STM32CubeMX都是可以極大提升開發效率的,并且其界面化的開發,也大大降低了新手對STM32單片機的開發門檻。 ????本文主要講述STM32芯片FreeRTOS信號標志、互斥鎖和信號…

ArrayList和LinkedList(深入源碼加擴展)

ArrayList 和 LinkedList 是 Java 集合框架中兩種常用的列表實現,它們在底層數據結構、性能特點和適用場景上有顯著的區別。以下是它們的詳細對比以及 ArrayList 的擴容機制。 1. ArrayList 和 LinkedList 的底層區別 (1) 底層數據結構 ArrayList: 基于動態數組(Dynamic Ar…

淺談 React Suspense

React Suspense 是 React 中用于處理異步操作的功能。它可以讓你"等待"某些操作,如數據獲取或組件加載完成,然后再渲染組件。Suspense 的核心理念是讓組件在準備好之前顯示一個備用的 UI,例如加載指示器,從而提高用戶體…

機器學習的數學基礎:線性模型

線性模型 線性模型的基本形式為: f ( x ) ω T x b f\left(\boldsymbol{x}\right)\boldsymbol{\omega}^\text{T}\boldsymbol{x}b f(x)ωTxb 回歸問題 利用最小二乘法,得到 ω \boldsymbol{\omega} ω和 b b b的參數估計$ \boldsymbol{\hat{\omega}}…

Linux【4】------RK3568啟動和引導順序

引導順序 RK3568 的啟動流程如下: 加電后,芯片首先執行 BootROM 中的代碼; BootROM 會嘗試從配置好的外部設備(如 NOR/NAND/eMMC/SD 卡)加載啟動程序; 如果這些設備都沒有有效的啟動代碼,Bo…

Deepseek/cherry studio中的Latex公式復制到word中

需要將Deepseek/cherry studio中公式復制到word中,但是deepseek輸出Latex公式,比如以下Latex代碼段,需要通過Mathtype翻譯才能在word中編輯。 $$\begin{aligned}H_1(k1) & H_1(k) \frac{1}{A_1} \left( Q_1 u_1(k) Q_{i1} - Q_2 u_2(k…

關于iview組件中使用 table , 綁定序號分頁后序號從1開始的解決方案

問題描述:iview使用table 中type: "index",分頁之后 ,索引還是從1開始,試過綁定后臺返回數據的id, 這種方法可行,就是后臺返回數據的每個頁面id都不完全是按照從1開始的升序,因此百度了下,找到了…

【機器學習】支持向量機實驗報告——基于SVM進行分類預測

目錄 一、實驗題目描述 二、實驗步驟 三、Python代碼實現基于SVM進行分類預測 四、我的收獲 五、我的感受 一、實驗題目描述 實驗題目:基于SVM進行分類預測 實驗要求:通過給定數據,使用支持向量機算法(SVM)實現分…

前端開發面試題總結-JavaScript篇(二)

文章目錄 其他高頻問題15、JS的數據類型有哪些16、如何判斷數組類型?17、解釋 this 的指向規則18、跨域問題及解決方案19、宏任務與微任務的區別是什么?列舉常見的宏任務和微任務。20、為什么微任務的優先級高于宏任務?設計目的是什么&#x…

硬件電路設計-開關電源設計

硬件電路設計-開關電源 電容選取設置輸出電壓電感的選取PCB布局典型電路 這里以杰華特的JW5359M 開關電源為例,介紹各個部分的功能電路。 當EN引腳電壓低于0.4V時,整個穩壓器關閉,穩壓器消耗的電源電流降至1μΑ以下 電容選取 1.C1和C25構成…

phosphobot開源程序是控制您的 SO-100 和 SO-101 機器人并訓練 VLA AI 機器人開源模型

?一、軟件介紹 文末提供程序和源碼下載 phosphobot開源程序是控制您的 SO-100 和 SO-101 機器人并訓練 VLA AI 機器人開源模型。 二、Overview 概述 🕹? Control your robot with the keyboard, a leader arm, a Meta Quest headset or via API 🕹?…

數據通信基礎

信道特性 1.信道帶寬W ? 模擬信道:Wf2-f1(f2和f1分別表示:信道能通過的最高/最低頻率,單位赫茲Hz)。 ? 數字信道:數字信道是離散信道,帶寬為信道能夠達到的最大數據傳輸速率,單位…

C++與Python編程體驗的多維對比:從語法哲學到工程實踐

引言:語言定位的本質差異 作為靜態編譯型語言的代表,C以0開銷抽象原則著稱,其模板元編程能力可達圖靈完備級別,而Python作為動態解釋型語言,憑借鴨子類型和豐富的標準庫成為快速開發的首選。這種根本差異導致兩種語言…

TP6 實現一個字段對數組中的多個值進行LIKE模糊查詢(OR邏輯)

在ThinkPHP6中,可以通過以下方式實現一個字段對數組中的多個值進行LIKE模糊查詢(OR邏輯): 1,使用數組形式的where條件,通過第三個參數指定邏輯關系: $where[] [字段名, like, [%值1%, %值2%]…

接口不是json的內容能用Jsonpath獲取嗎,如果不能,我們選用什么方法處理呢?

JsonPath 是一種專門用于查詢和提取 JSON 數據的查詢語言(類似 XPath 用于 XML)。以下是詳細解答: ?JsonPath 的應用場景? ?API 響應處理?:從 REST API 返回的 JSON 數據中提取特定字段。?配置文件解析?:讀取 J…

TCP/IP 與高速網絡

題目用 “與” 而不是 “是” 連接兩名詞,說明它們天然互斥,就比如看到 “經理與人” ,自然而然的就會覺得經理接近了神。 數據在 TCP/IP 網絡上傳輸獲得的 “盡力而為” 承諾的時間在端到端時延中占比太大,以至于針對 TCP/IP 的…

Vue3 (數組push數據報錯) 解決Cannot read property ‘push‘ of null報錯問題

解決Cannot read property ‘push‘ of null報錯問題 錯誤寫法 定義變量 <script setup>const workList ref([{name:,value:}])</script>正確定義變量 <script setup>const workList ref([]) </script>解決咯~

React前端框架

React&#xff1a;構建現代用戶界面的范式革命&#xff08;深度解析&#xff09; 引言&#xff1a;前端開發的范式轉變 在2013年之前&#xff0c;前端開發領域被jQuery等庫主導&#xff0c;開發者通過命令式編程直接操作DOM元素。這種模式存在兩大痛點&#xff1a;代碼可維護…

Redis:string數據類型

&#x1f308; 個人主頁&#xff1a;Zfox_ &#x1f525; 系列專欄&#xff1a;Redis &#x1f525; String字符串 &#x1f9d1;?&#x1f4bb; 字符串類型是Redis最基礎的數據類型&#xff0c;關于字符串需要特別注意&#xff1a; ?先Redis中所有的鍵的類型都是字符串類…