当前位置: 首页 > news >正文

2.1java基础语法

注释

在 Java 里,注释是用来解释代码用途、提升代码可读性的文本,编译时会被编译器忽略。Java 提供了三种注释方式

单行注释

以 // 开头,从 // 开始到该行末尾的所有内容都属于注释。一般用于对某一行代码进行简单解释。

// 这是一个单行注释,下面这行代码用于输出 Hello, World!
System.out.println("Hello, World!");

多行注释

以 /* 开头,以 */ 结尾,中间的内容都是注释,可跨越多行。常用于对一段代码或者一个方法进行详细解释。

/*
这是一个多行注释,
下面的代码定义了一个名为 add 的方法,
该方法用于计算两个整数的和。
*/
public int add(int a, int b) {return a + b;
}

文档注释

以 /** 开头,以 */ 结尾,可跨越多行。主要用于为类、方法、字段等生成 API 文档。JDK 自带的 javadoc 工具能够将文档注释提取出来生成 HTML 格式的 API 文档。

/*** 这是一个文档注释,用于描述一个简单的计算器类。* 该类包含一个 add 方法,用于计算两个整数的和。*/
public class Calculator {/*** 计算两个整数的和。* * @param a 第一个整数* @param b 第二个整数* @return 两个整数的和*/public int add(int a, int b) {return a + b;}
}

 在上述文档注释中,@param 用来描述方法的参数,@return 用于描述方法的返回值。借助 javadoc 工具可以生成包含这些信息的 API 文档。

javadoc Calculator.java

此命令会在当前目录下生成一个包含 API 文档的 HTML 文件。

为多个文件生成文档

若要为多个 Java 文件生成文档,可以指定多个文件名,用空格分隔:

javadoc Calculator.java AnotherClass.java

为整个包生成文档

若要为整个包生成文档,可以使用 -d 选项指定输出目录,使用 -subpackages 选项指定要生成文档的包:

javadoc -d doc -subpackages com.example

此命令会在 doc 目录下生成 com.example 包及其子包的 API 文档。

Java 语句与分号

Java 里,语句的确是以分号(;)结尾的。分号是 Java 语法的一部分,用于明确标识一条语句的结束。

除了 Java,还有很多编程语言使用分号来结束语句,比如:

  • C 和 C++:作为系统级编程语言,C 和 C++ 都要求语句以分号结尾,这有助于编译器准确识别语句边界。
  • JavaScript:尽管 JavaScript 可以省略分号(自动分号插入机制ASI),但为了代码的清晰性和避免潜在问题,很多开发者还是习惯使用分号来结束语句。

字面量

整数类型字面量

整数类型字面量表示整数数值,在 Java 中有以下几种表示方式:

十进制

最常见的表示方式,由 0 - 9 的数字组成。

int decimalNumber = 123;
二进制

以 0b 或 0B 开头,由 0 和 1 组成。

int binaryNumber = 0b101; // 相当于十进制的 5
八进制

以 0 开头,由 0 - 7 的数字组成。

int octalNumber = 012; // 相当于十进制的 10
十六进制

以 0x 或 0X 开头,由 0 - 9、A - F(或 a - f)组成。

int hexadecimalNumber = 0xFF; // 相当于十进制的 255

浮点类型字面量

浮点类型字面量用于表示带小数的数值,在 Java 中有单精度 float 和双精度 double 两种类型。

双精度浮点型(double

默认情况下,浮点数字面量是 double 类型。

double doubleNumber = 3.14;
单精度浮点型(float

若要表示 float 类型的字面量,需在数字后面加上 f 或 F

float floatNumber = 3.14f;

字符类型字面量

字符类型字面量用单引号 ' 括起来,表示单个字符。

char charLiteral = 'A';

字符串类型字面量

字符串类型字面量用双引号 " 括起来,表示多个字符组成的序列。

String stringLiteral = "Hello, World!";

布尔类型字面量

布尔类型字面量只有两个值:true 和 false,用于表示逻辑真和逻辑假。

boolean trueValue = true;
boolean falseValue = false;

空类型字面量

在 Java 中,空类型字面量只有一个值:null,用于表示一个引用不指向任何对象。

String nullString = null;

变量的定义与声明

在 Java 里,要使用变量,需先进行声明。声明变量时,要指定变量的类型和名称。格式如下:

数据类型 变量名;

例如,声明一个整数类型的变量:

int number;

这里,int 是数据类型,表示整数;number 是变量名。

变量的初始化

变量声明后,可以对其进行初始化,也就是给变量赋值。可以在声明变量时直接初始化,也可以先声明再初始化。

// 声明时直接初始化
int age = 20;
// 先声明后初始化
int score;
score = 90;

变量的命名规则

在 Java 中,变量的命名需要遵循一定的规则:

  • 变量名只能包含字母、数字、下划线 _ 和美元符号 $
  • 变量名不能以数字开头。
  • 变量名不能是 Java 的关键字(如 intclass 等)。
  • 变量名区分大小写。

此外,为了提高代码的可读性,变量名通常采用有意义的名称,遵循驼峰命名法(如 studentName)。

Java 关键字

Java 关键字是被 Java 语言赋予特定含义的保留字,在代码里不能把它们用作变量名、类名、方法名等标识符。Java 有 50 个关键字:

数据类型相关
  • 基本数据类型
    • byte:用于声明字节类型的变量,占 8 位。
    • short:声明短整型变量,占 16 位。
    • int:声明整型变量,占 32 位,是最常用的整数类型。
    • long:声明长整型变量,占 64 位,使用时通常在数字后面加 L 或 l
    • float:声明单精度浮点型变量,占 32 位,使用时数字后要加 f 或 F
    • double:声明双精度浮点型变量,占 64 位,是默认的浮点类型。
    • char:声明字符类型变量,占 16 位,用单引号括起来。
    • boolean:声明布尔类型变量,值只能是 true 或 false
  • 引用数据类型
    • class:用于定义类。
    • interface:用于定义接口。
    • enum:用于定义枚举类型。
流程控制相关
  • 条件语句
    • if:用于条件判断。
    • else:与 if 配合使用,处理条件不成立的情况。
    • switch:用于多分支选择。
    • case:在 switch 语句中,用于匹配不同的情况。
    • default:在 switch 语句中,当所有 case 都不匹配时执行。
  • 循环语句
    • for:用于已知循环次数的循环。
    • while:用于不确定循环次数,先判断条件再执行循环体。
    • do:与 while 配合,构成 do - while 循环,先执行一次循环体再判断条件。
    • break:用于跳出当前循环或 switch 语句。
    • continue:用于跳过本次循环的剩余部分,直接进入下一次循环。
  • 异常处理
    • try:用于包裹可能会抛出异常的代码块。
    • catch:用于捕获并处理 try 块中抛出的异常。
    • finally:无论 try 块中是否抛出异常,finally 块中的代码都会执行。
    • throw:用于手动抛出一个异常。
    • throws:用于在方法声明中指定该方法可能抛出的异常。
访问控制与修饰符相关
  • 访问控制
    • private:表示私有访问权限,只有在类内部可以访问。
    • protected:表示受保护的访问权限,同一包内和不同包的子类可以访问。
    • public:表示公共访问权限,任何地方都可以访问。
  • 其他修饰符
    • static:用于修饰类的成员,使其属于类而不是类的实例。
    • final:用于修饰类、方法或变量,表示不可变或不可继承。
    • abstract:用于修饰类或方法,表示抽象类或抽象方法。
    • synchronized:用于实现线程同步。
    • volatile:用于保证变量的可见性。
其他关键字
  • import:用于导入其他包中的类或接口。
  • package:用于声明类所在的包。
  • this:表示当前对象的引用。
  • super:表示父类对象的引用。
  • instanceof:用于判断一个对象是否是某个类或接口的实例。
  • void:用于表示方法没有返回值。
  • const:是 Java 保留关键字,但目前未使用。
  • goto:是 Java 保留关键字,但目前未使用。
http://www.xdnf.cn/news/135325.html

相关文章:

  • Cancer Cell发表医学AI综述,聚焦于人工智能与转化癌症研究的交叉领域
  • Pandas中的日期时间date处理
  • Python-Agent调用多个Server-FastAPI版本
  • 融合注意力机制和BiGRU的电力领域发电量预测项目研究,并给出相关代码
  • 代码随想录打卡|Day27(合并区间、单调递增的数字、监控二叉树)
  • 精益数据分析(24/126):聚焦第一关键指标,驱动创业成功
  • Java 安全:如何实现用户认证与授权?
  • 如何在JDK17项目中改成1.8
  • JDBC 批处理与事务处理:提升数据操作效率与一致性的密钥
  • Spring的xxxAware接口工作原理-笔记
  • 时间序列预测模型比较分析:SARIMAX、RNN、LSTM、Prophet 及 Transformer
  • 深入剖析扣子智能体的工作流与实战案例
  • 【MySQL】MySQL索引与事务
  • cuda 安装两个版本
  • 【使用层次序列构建二叉树(数据结构C)】
  • 探秘 3D 展厅之卓越优势,解锁沉浸式体验新境界
  • 零基础上手Python数据分析 (23):NumPy 数值计算基础 - 数据分析的加速“引擎”
  • Vue3实现高仿word自定义颜色选择器组件(支持 v-model)
  • 哈工大李治军《操作系统》进程同步与信号量笔记
  • iOS/Flutter混合开发之PlatformView配置与使用
  • 第12章 微调生成模型
  • 实时交互式AIGC系统开发:打造多模态数字人全栈解决方案
  • 41.缺失的第一个正数(java)
  • jQuery AJAX、Axios与Fetch
  • YOLO12架构优化——引入多维协作注意力机制(MCAM)抑制背景干扰,强化多尺度与小目标检测性能
  • 深入理解指针(4)
  • Centos7.2安装Xmap
  • 【git#4】分支管理 -- 知识补充
  • 【AI落地应用实战】借助 Amazon Q 实现内容分发网络(CDN)CDK 构建的全流程实践
  • 图像预处理-图像亮度变换