目录
一.Java的特性
二.注释
三.数据类型
基本数据类型
包装类
引用数据类型
四.运算符
五.逻辑控制
选择语句
循环语句
六.数组
七.方法
八.类与对象
构造方法
内部类
九.继承和多态
十.抽象类与接口
抽象类
接口
十一.异常
一.Java的特性
Java最初由Sun Microsystems的詹姆斯·高斯林于1991年开始设计,早期的设计目标是为了开发家电设备上运行的小程序。1995年Sun Microsystems发布了Java语言,该语言具有简单、安全、可移植和面向对象的特性。同时,詹姆斯·高斯林也被称作是Java之父。
Java最大的一个特性就是一次编译,到处运行,和c语言c++最大的区别就是,Java代码可以在任何平台上运行,因为内部存在JVM虚拟机使得代码拥有了非常好的可移植性。Java为我们提供了编译和运行的命令
- 编译命令:javac
- 运行命令:java
我们将Java的特性总结如下:
- 面向对象:Java是一种面向对象的编程语言,支持封装、继承和多态等面向对象的概念,使得程序更加模块化和易于维护。
- 跨平台性:Java被设计为一种跨平台的语言,可以在不同的操作系统上运行,只需要在相应的平台上安装Java虚拟机(JVM)即可。
- 简单性:Java语言的语法相对简单,去除了一些复杂的特性和语法,使得程序员更容易理解和编写代码。
- 安全性:Java提供了安全性的机制,例如通过字节码验证和安全性管理器来防止恶意代码对计算机系统的攻击。此外,Java还提供了一些加密和认证的API,用于保护数据和网络通信的安全。
- 高性能:Java通过即时编译器(JIT)和垃圾收集来提高程序的性能。即时编译器将Java字节码编译成本地机器代码,从而加快程序的执行速度,而垃圾收集则自动回收不再使用的内存,减少了程序员对内存的手动管理。
- 可移植性:由于Java的跨平台特性,编写的Java程序可以在不同的操作系统和硬件上运行,无需修改代码。
- 多线程支持:Java提供了内置的线程支持,可以方便地创建和管理多个线程,实现并发编程。
- 开放性:Java是一种开放源代码的语言,拥有庞大的开发者社区,可以通过共享和重用代码来加快开发速度。
- 大型库的支持:Java拥有丰富的类库和API,可以用于解决各种问题和开发各种应用程序,如图形界面、数据库访问、网络通信等。
Java是一种面向对象编程语言,他当然也有面向对象的三大特性
- 继承
- 封装
- 多态
对于继承,封装,多态的知识点总结如下:万字详解Java的三大特性:封装 | 继承 | 多态
二.注释
在Java中,注释是用来给代码加上描述、解释或提供其他信息的一种方式。Java注释有三种类型:
1. 单行注释:以双斜线(//)开始,后面跟随注释内容。这种注释只在当前行有效。
// 这是一个单行注释
2. 多行注释:以斜线星号(/*)开始,以星号斜线(*/)结束,中间的内容都被视为注释。这种注释可以跨越多行。
/* 这是一个多行注释, 可以跨越多行 */
3. 文档注释:以斜线星号(/**)开始,以星号斜线(*/)结束。文档注释通常用于生成程序的文档,可以通过工具将其提取出来。文档注释可以包含HTML标记,用于格式化文档。
/** * 这是一个文档注释 */
注释在编译时会被Java编译器忽略,不会对程序的执行产生任何影响。然而,良好的注释可以提高代码的可读性和可维护性,帮助其他程序员理解代码的意图和功能。
三.数据类型
基本数据类型
Java为我们提供了8大基本数据类型:
- byte —— 1个字节
- short —— 2个字节
- int —— 4个字节
- long —— 8个字节
- float —— 4个字节
- double —— 8个字节
- char —— 2个字节
- boolean —— 没有明确规定
对于以上的基本数据类型,Java都提供的对应的包装类,而这些基本数据实际上只是这些包装类的一部分。Java的包装类是指Java中提供的用于封装基本数据类型的类。包装类提供了一些方法和属性,可以方便地对基本数据类型进行操作。
包装类
Java中提供了以下包装类:
- Integer:封装int类型的数据,提供了一些方法用于int类型的操作,例如转换成字符串、比较大小等。
- Float:封装float类型的数据,提供了一些方法用于float类型的操作,例如转换成字符串、比较大小等。
- Character:封装char类型的数据,提供了一些方法用于char类型的操作,例如转换成大写字母、判断是否是字母等。
- Boolean:封装boolean类型的数据,提供了一些方法用于boolean类型的操作,例如取反、判断是否为真等。
- Byte:封装byte类型的数据,提供了一些方法用于byte类型的操作,例如转换成字符串、比较大小等。
- Short:封装short类型的数据,提供了一些方法用于short类型的操作,例如转换成字符串、比较大小等。
- Long:封装long类型的数据,提供了一些方法用于long类型的操作,例如转换成字符串、比较大小等。
- Double:封装double类型的数据,提供了一些方法用于double类型的操作,例如转换成字符串、比较大小等。
包装类在Java中的主要作用是在基本数据类型和引用数据类型之间进行转换。可以通过包装类的构造方法来创建包装类对象,也可以通过包装类的静态方法来进行基本数据类型和包装类之间的转换。例如,通过Integer类的parseInt()方法可以将一个字符串转换成int类型的数据,通过Integer类的valueOf()方法可以将一个int类型的数据转换成Integer对象。
使用包装类可以方便地进行基本数据类型的操作和类型转换,同时也提供了一些额外的方法和属性,方便程序的开发和编写。
引用数据类型
引用数据类型指的是非基本数据类型,包括:
- 类(Class):表示具有相同属性和方法的对象
- 接口(Interface):表示定义了一组方法的协议
- 数组(Array):表示相同类型的多个元素的集合
引用数据类型需要通过new关键字来创建对象,然后才能赋值和使用。除了这些内置的变量类型,Java还支持自定义的变量类型,可以通过创建类、接口和数组来定义自己的变量类型。
四.运算符
在Java中,运算符用于执行各种数学和逻辑操作。以下是Java中常见的运算符:
1. 算术运算符:
- 加法运算符(+):用于将两个值相加。
- 减法运算符(-):用于将一个值减去另一个值。
- 乘法运算符(*):用于将两个值相乘。
- 除法运算符(/):用于将一个值除以另一个值。
- 取模运算符(%):用于计算两个值的余数。
2. 自增和自减运算符:
- 自增运算符(++):将变量的值增加1。
- 自减运算符(--):将变量的值减少1。
3. 关系运算符:
- 等于运算符(==):检查两个值是否相等。
- 不等于运算符(!=):检查两个值是否不相等。
- 大于运算符(>):检查一个值是否大于另一个值。
- 小于运算符(=):检查一个值是否大于或等于另一个值。
- 小于等于运算符(>>):将数按照二进制往右移动一位,但是空缺的数值位补0
五.逻辑控制
选择语句
switch 语句
其中float double boolean long类型不能作为switch语句的参数
switch (表达式) { case 值1: // 如果表达式的值等于值1,执行这里的代码 break; case 值2: // 如果表达式的值等于值2,执行这里的代码 break; // 可以继续添加更多的case语句 default: // 如果表达式的值不等于任何一个case的值,执行这里的代码 break; }
if 语句
其中条件必须为boolean类型,这点和c语言并不一样,c语言中我们可以将0当作false作为if语句的参数,但是再Java里面是不可以的
if (条件) { // 如果条件为真,执行这里的代码 } else { // 如果条件为假,执行这里的代码 }
循环语句
while 循环
while (条件) { // 循环执行的代码块 }
for 循环
for (初始值; 条件; 操作) { // 循环执行的代码块 }
do...while 循环
do { // 循环执行的代码块 } while (条件);
增强for循环
用于遍历数组或集合中的元素,不需要指定索引或迭代器,简化了代码的书写。
for (元素类型 元素变量 : 数组名或集合名) { // 循环执行的代码块 }
break语句
for (int i = 0; i
continue语句
for (int i = 1; i