「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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈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中所有的键的类型都是字符串类…