4、Java 基础
1. 注释
Java 注释主要有三种类型:
-
单行注释
单行注释以双斜杠
//
开始 -
多行注释
多行注释以
/*
开始,以*/
结束1
2
3/*
* 多行注释示例
*/ -
文档注释
文档注释以
/**
开始,以*/
结束1
2
3/**
* 文档注释示例
*/
2. 标识符和关键字
-
Java 关键字:
abstract assert boolean break byte case catch char class const continue default do double else enum extends final finally float for goto if implements import instanceof int interface long native new package private protected public return strictfp short static super switch synchronized this throw throws transient try void volatile while
标识符可以由字母、数字、下划线 _
和美元符号 $
组成。
3. 数据类型
-
强类型语言:
- 一种强制类型定义的语言,它要求变量或常量必须声明类型,并且只有在声明后才能使用。
- 一经声明,该变量就只能存储这种数据类型的值。在赋值和运算过程中,参与该过程的数据类型必须一致。
- 强类型语言有个强制转换,这改变的是变量的值的类型,以便进行赋值,而没有改变变量的类型。变量的类型是不允许改变的。
-
弱类型语言:
- 一种弱类型定义的语言,即数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。
- 变量可以根据环境变化自行转换类型,不需要经过显式转换。
弱类型语言在速度上更胜一筹,而强类型定义语言的严谨性又能避免不必要的错误。
两者根本区别在于:变量类型是否会自行随需转换。
Java 是一种强类型语言。
Java 的数据类型分为两大类,基本类型和引用类型:
-
基本类型(primitive type)
注意:
- long 类型赋值时需要在整数后面加 L 后缀
- 浮点数类型的数值后缀统一为大写的 F 或 D
-
引用类型(reference type)
进制前缀:
进制 | 前缀 |
---|---|
二进制 | 0b |
八进制 | 0 |
十进制 | 默认 |
十六进制 | 0x |
尽量避免使用浮点数进行比较:精度问题
4. 类型转换
graph LR low[低] -----> high[高] A(byte, short, char) --> B(int) --> C(long) --> D(float) --> E(double)
-
强制类型转换:高 低
-
自动类型转换:低 高
在进行类型强制转换时,右括号与强制转换值之间不需要任何空格隔开。
5. 变量、常量、作用域
变量类型:
- 类变量
- 也叫静态变量,是在类中用
static
关键字声明的变量,它们属于类而不是实例 - 所有该类的实例共享同一个类变量的值
- 类变量在类加载时被初始化,而且只初始化一次
- 也叫静态变量,是在类中用
- 实例变量
- 实例变量是在类中声明,但在方法、构造函数或块之外,它们属于类的实例,每个类的实例都有自己的副本
- 如果不明确初始化,实例变量会被赋予默认值(数值类型为 0,boolean 类型为 false,引用类型为 null)
- 局部变量
- 局部变量是在方法、构造函数或块内部声明的变量,它们在声明的方法、构造函数或块执行结束后被销毁
- 局部变量在声明时需要初始化,否则会导致编译错误
static
关键字不能修饰局部变量
常量是在程序执行期间不会发生变化的值。
- 在 Java中使用 final 关键字来声明常量
- 一旦常量被赋予初始值,就无法再更改它的值
- 常量命名全部大写,单词间用下划线隔开
6. 运算符
注意:
-
逻辑与(&) 与 短路与(&&) 的关系
- 逻辑与(&)
当符号左右都是
boolean
型变量时,&
为逻辑与(无论何种情况,左右语句都执行) - 短路与(&&)
左语句为真则执行右语句,左语句为假则不执行右语句
- 逻辑与(&)
-
逻辑或(|) 与 短路或(||) 的关系
- 逻辑或(|)
当符号左右都是
boolean
型变量时,|
为逻辑或(无论何种情况,左右语句都执行) - 短路或(||)
左语句为假则执行右语句,左语句为真则不执行右语句
- 逻辑或(|)
7. 包机制
为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。
在 Java 中,通过 import 导入类或类,有两种方式:
- 单类型导入(single-type-import):通过明确指明类或接口路径,将其导入进来。例如
import java.io.File
- 按需类型导入(type-import-on-demand):通过通配符 * 来导入整个包中的所有类和接口。例如
import java.io.*
8. JavaDoc
JavaDoc 是 Sun 公司提供的一种工具,它可以从程序源代码中抽取类、方法、成员等注释,然后形成一个和源代码配套的 API 帮助文档。
-
类、类属性、类方法的注释必须使用 JavaDoc 规范,使用
/** */
格式,不得使用//
方式。 -
JavaDoc 标签:
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的 JDK 版本
- @param 参数名
- @return 返回值情况
- @throws 异常抛出情况
- …
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 红油曲奇的个人博客!
评论
TwikooGiscus