Java之父
詹姆斯高斯林
开发三步骤
文档注释和注释的区别
文档注释(Documentation Comments)和普通注释(Comments)都是代码中用于添加非执行性文本的方式,但它们的目的和使用场景有所不同。
文档注释
文档注释类容可以通过javadoc命令生成一个文档(API文档),能快速对此类以及此类中实现的功能进行快速的了解
- 目的:主要用于生成软件文档。它们描述了代码的规格说明,如类的功能、方法的作用、参数的意义及返回值等信息。
- 格式:不同编程语言有不同的格式要求。例如,在Java中,通常以
/**
开头,并以*/
结束,其中可以包含特定的标签如@param
、@return
等来详细描述方法或类。 - 工具支持:有许多工具可以读取这些注释并自动生成HTML、PDF等格式的文档。比如,Java中有Javadoc工具,Python有Sphinx等。
- 位置:一般放置在类、接口、方法、字段等定义之前。
普通注释
- 目的:主要是为了给开发者提供代码内部逻辑或者意图的解释,帮助理解代码工作原理,不会被编译器或解释器处理。
- 格式:同样根据编程语言的不同而变化。例如,在C++或Java中,单行注释以
//
开始,多行注释以/*
开始并以*/
结束;在Python中,单行注释以#
开始。 - 工具支持:普通注释不被专门用于生成外部文档的工具所解析,主要是为了代码维护和阅读方便。
- 位置:可以在代码的任何地方添加,用于解释前后相关的代码段。
简而言之,文档注释更侧重于对外部使用者展示代码库的功能与使用方法,而普通注释则侧重于对开发团队内部成员提供代码理解和维护的帮助。
Helloworld
java">/*
public class test定义一个类
class:代表就是类,类是java程序最基本的组成单元,所有代码都需要在类中写
test:类名,必须和java名保持一致
*/
public class test{/*public static void main(String[] args):main方法,是程序的入口jvm执行代码,必须从main方法开始*/public static void main(String[] args){//打印语句System.out.println("Hello word")}
}
关键字
- abstract:表明一个类或方法是抽象的,意味着它需要被继承或实现。
- assert:用于测试条件是否为真,主要用于调试。
- boolean:表示布尔类型的数据,其值只能为true或false。
- break:用于立即退出循环或switch语句。
- byte:一种基本数据类型,表示8位有符号整数。
- case:switch语句中的一个可能分支。
- catch:用于捕获try块中抛出的异常。
- char:表示16位Unicode字符的基本数据类型。
- class:定义类的关键字。
- const:保留关键字但未使用,通常使用
final
来代替常量的定义。 - continue:跳过当前循环体中剩余的语句,直接进入下一次循环。
- default:switch语句中的默认分支,也可用于接口中的默认方法。
- do:与
while
一起使用形成do-while循环。 - double:表示双精度浮点数的基本数据类型。
- else:if语句中的另一个选择路径。
- enum:定义枚举类型。
- extends:用于指示一个类是从另一个类派生,或者一个接口继承自另一个接口。
- final:使类、方法或变量不可更改。
- finally:用于声明在try-catch结构中无论如何都会执行的一段代码。
- float:表示单精度浮点数的基本数据类型。
- for:一种循环结构,允许代码重复执行。
- goto:保留关键字但未使用。
- if:条件判断语句。
- implements:表示一个类实现了某个接口。
- import:引入其他包中的类和接口。
- instanceof:检查对象是否是指定类型的实例。
- int:表示32位有符号整数的基本数据类型。
- interface:定义接口。
- long:表示64位有符号整数的基本数据类型。
- native:表示该方法是用平台相关的语言(如C或C++)实现的。
- new:创建新对象实例。
- null:表示空引用。
- package:声明源文件所在的包。
- private:访问控制符,限制成员只能在自己的类中访问。
- protected:访问控制符,允许子类和同一个包中的所有类访问成员。
- public:访问控制符,允许任何地方访问成员。
- return:从方法中返回结果并退出方法。
- short:表示16位有符号整数的基本数据类型。
- static:表示属于类而不是类的实例的成员。
- strictfp:严格浮点计算,确保浮点运算在不同平台上的一致性。
- super:指代父类的对象,用于调用父类的方法或构造函数。
- switch:多路分支语句,根据表达式的值选择执行多个语句块之一。
- synchronized:用于指定只有一个线程可以访问的代码块或方法。
- this:指代当前对象实例。
- throw:手动抛出一个异常。
- throws:声明一个方法可能抛出的异常。
- transient:标记不需要序列化的字段。
- try:尝试执行一段可能抛出异常的代码。
- void:表示方法没有返回值。
- volatile:保证变量对所有线程可见性,防止指令重排序优化。
- while:当条件为真时重复执行一段代码。
字符编码
- 编码:保存数据的过程
- 解码:读取数据的过程
- 编码和解码的规范必须要一样
- 常见的两个编码规范
- GBK:专门为中文设置,ANSI代表JDK,一个中文汉字在这占两个字节
- UTF-8:一个汉字在这里占3个字节
- dos默认编码集是jdk
java_112">源文件名(java文件名)与类名一致问题
类名其实不一定要和文件名相同,如果想要不同就把class前面的public去掉
一个Java文件中可以写多个类,但是public类、只能有一个
main方法必须写在public类中
小技巧
1、光标放在你想复制到行上,ctrl+d就实现复制当前行了
2、一次操作多行:预留出足够的空间,按住alt不放,鼠标往下拉