【JavaSE】系列包含:
- JavaSE基础总结(一):语法基础
- JavaSE基础总结(二):面向对象
- JavaSE基础总结(三):异常机制、泛型
- JavaSE基础总结(四):集合类
- JavaSE基础总结(五):I/O
- JavaSE基础总结(六):多线程
JavaSE基础总结(一)
本文是关于 JavaSE 的一个全面总结,很多细节方面并不会去关注。因为笔者大学时学的 Java,研究生阶段因专业原因转的 Python,现在又因工作需要重用 Java,真是兜兜转转又回到了从前 😂。在此记录一下复习的内容。
主要参考资料
视频:JavaSE 教程 已完结 (IDEA 2021版本) 4K蓝光画质 入门到入土
笔记:https://www.yuque.com/qingkongxiaguang/javase/xoxpqi
1.前篇
1.1 环境和编译器的安装
首先要了解的是 JVM、JRE、JDK 的概念。
- JDK(
Java Development Kit
):是 Java 的核心,运行 Java 程序必须要有的东西,里面包括 Java 运行环境 JRE、Java 工具和 Java 基础类库(Java开发者使用的功能性类库)。 - JRE(
Java Runtime Environment
):运行 Java 程序所必须的环境,里面包括 Java 虚拟机 JVM 的实现和 Java 核心类库(JVM工作所需的类库)。 - JVM(
Java Virtual Machine
):是 Java 跨平台特性的核心,通过 JVM 屏蔽了底层系统(windows、linux、Max 等等)的差异,实现一次编译,到处运行。JVM可以理解为在操作系统上模拟安装了一个 CPU 来处理 Java 程序相关的东西,它主要负责将 Java 程序生成的字节码文件解释成具体系统平台上的机器指令。
1.2 初识Java运行机制
Java 是一种强类型语言。
强类型语言也称为强类型定义语言,是一种总是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用。
1.3 IDEA的使用
工欲善其事必先利其器,IDEA 让我们在编写 Java 程序时更加方便。
2.入门
2.1 基本语法规范
- 所有的 Java 语句必须以
;
结尾! - 无论是
()
、[]
还是{}
,所有的括号必须一一匹配! - 主方法的代码只能写在
{}
中!
2.2 变量和关键字
Java 中的变量是存放在 JVM 管理的内存中,C 语言的变量存放在内存(某些情况下需要手动释放内存,而 Java 会自动帮助我们清理变量占据的内存)Java 和 C 很类似,但是没有指针!
Java 是强类型语言,只有明确定义了变量之后,你才能使用!一旦被指定某个数据类型,那么它将始终被认为是对应的类型(和 JS 不一样!)
定义一个变量的格式如下:
[类型] [标识符(名字)] = [初始值(可选)]
int a = 10;
常见的关键字如下:
2.3 基本数据类型
Java 中的数据类型分为 基本数据类型 和 引用类型 两大类,引用类型我们在面向对象时再提,基本数据类型是重点中的重点!首先我们需要了解有哪些类型。然后,我们需要知道的,并不是他们的精度如何,能够表示的范围有多大,而是为什么 Java 会给我们定义这些类型,计算机是怎么表示这些类型的,这样我们才能够更好的记忆他们的精度、表示的范围大小。所以,我们需要从计算机原理的角度出发,去理解 Java 的基本数据类型。
Java 的基本数据类型有 8 种,分别是:byte
(位)、short
(短整数)、int
(整数)、long
(长整数)、float
(单精度)、double
(双精度)、char
(字符)和 boolean
(布尔值)。
注意,数组在 Java 中并非基本类型,数组是编程不可见的对象类型。
2.4 类型转换
隐式类型转换 支持字节数小的类型自动转换为字节数大的类型,整数类型自动转换为小数类型,转换规则如下:byte
→ short
(char
) → int
→ long
→ float
→ double
为什么 long
比 float
大,还能转换为 float
呢?小数的存储规则让 float
的最大值比 long
还大,只是可能会丢失某些位上的精度!
显示类型转换 也叫做 强制类型转换,也就是说,违反隐式转换的规则,牺牲精度强行进行类型转换。
在参与运算时(也可以位于表达式中时,自增自减除外),所有的 byte
型、short
型和 char
的值将被提升到 int
型。
2.5 运算符
2.6 流程控制
控制语句:if
、switch
、for
、while
、break
、continue
敬请关注后续更新!