Java基础入门 - 内含Java基础,Java高级
- Java 基本介绍
- Java 学习须知
- Java 学习文档
- Java 基础
- Java 基础语法
- Java 对象与类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 条件语句
- Java switch case
- Java 数组
- Java 日期与时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、 File、 IO
- Java Scanner(获取用户输入)
- Java 异常处理
- Java 面向对象详解
- 继承
- Java 重写与重载
- 多态
- 抽象类
- 封装
- 接口
- 枚举
- 包(package)
- Java 高级
Java 基本介绍
Java是一种通用的、高级的、面向对象的编程语言,最初由Sun Microsystems(目前为Oracle公司)于1995年发布。它被设计成一种可以在各种不同的环境中运行的语言,不论是桌面应用程序、企业级应用程序、移动设备或集群服务器,都可以使用Java来开发。
Java的特点包括:
-
简单性:Java的语法相对于其他编程语言比较简单,易于学习和理解。
-
面向对象:Java是一种完全的面向对象编程语言,支持类、继承、封装和多态等核心特性。
-
平台无关性:Java编写的程序可以在不同的操作系统和硬件平台上运行。这得益于Java虚拟机(JVM),它可以把Java代码翻译成可以在任何计算机上运行的字节码。
-
安全性:Java具有严格的安全机制,基于运行时的检查和验证机制来保证程序的安全性,防止恶意程序对系统造成损害。
-
可移植性:Java语言的跨平台性保证了程序的可移植性,使得程序无需针对不同平台重新编写,只需编写一次即可在不同平台上运行。
-
多线程:Java在语言层面就支持多线程编程,并且提供了丰富的库函数,有效地支持并发编程。
Java编写的程序可以划分为两个部分:Java编译器将源代码转换成字节码文件,JVM则将字节码解释、编译并执行。Java有着广泛的应用领域,包括Web开发、移动应用开发、游戏开发、企业级应用开发等。
Java 学习须知
本篇文章可以实现轻松带你入门Java, 在你认真学习的前提下, 一切都不成问题。
任何一门语言的学习都是漫长且枯燥的,读者本人要有足够的自制力。当然,我说的自制力肯定包括假期时间以及休息时间,如果只是三天打鱼两天晒网,抱歉,你与教程无缘,你可能需要的是一个比较系统的学习路线规划,比如说可以花钱买课,或者报名IT培训班,实现花钱强制学习
学习周期: 7-15天不等(有足够时间)
学习目标: Java基础, Java高级
学习规划(建议): 不建议上班过程中学习,推荐下班回家空余时间进行学习, 如果你是学生请随意!
学完可以做什么?:只学基础啥也不能干,没有基础啥也干不成,学就完了,老哥/老姐
如果您觉得本教程有某些地方存在一些问题,欢迎评论区指正!
如果您局的本教程晦涩难懂,请立马更换教程,选择适合自己的教程进行观看,避免走弯路
Java 学习文档
在此,我为大家整理了一小部分的Java学习文档
韩信带净化,如果您有更好的学习文档,提前感谢您上贡 贡献到评论区!~
Java API 中文文档(百度网盘): Java基础材料
提取码: 0621
Java 基础
至2023年,Java语言仍是主流后端语言,与其他后端语言占比为:12.22%,位列第三,其中第一与第二分别为:Python,C
如果你正处于初学Java,并未配置Java环境变量,下面是推荐的Java配置环境变量的博客,配置Java环境变量为学习Java语言的首发站,希望大家都能用心学习,一起学习,一起赚大钱_(:з」∠)_
Java配置环境变量: Java配置环境变量
作者: 心猿意马归
Java 基础语法
输出 Hello World
public class HelloWorld { // 类名必须与文件名相同
public static viod main(string[] args) { // main方法为程序入口
system.out.println("Hello World"); // Java的每个输出与条件语句后面必须带;结束字段
}
}
使用javac HelloWorld.java,即可输出Hello World
Hello World
Java 对象与类
Java 基本数据类型
在Java中,有8中基本数据类型
逻辑类型:boolean
整数类型:byte、short、int、long
浮点类型 :float、double
字符类型:char
Java 变量类型
Java 修饰符
Java 运算符
Java 循环结构
Java 条件语句
Java switch case
Java 数组
Java 日期与时间
Java 正则表达式
Java 方法
Java 流(Stream)、 File、 IO
Java Scanner(获取用户输入)
Java 异常处理
Java抛出的错误称之为异常, 但是不是所有错误都是异常, 并且有些错误是可以避免的
异常发生的原因有很多,通常包含以下几大类:
- 用户输入了非法数据。
- 要打开的文件不存在。
- 网络通信时连接中断,或者JVM内存溢出。
这些异常有的是因为用户错误引起,有的是程序错误引起的,还有其它一些是因为物理错误引起的。
要理解Java异常处理是如何工作的,你需要掌握以下三种类型的异常:
检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。
运行时异常: 运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。
错误: 错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。
Java 程序通常不捕获错误。错误一般发生在严重故障时,它们在Java程序处理的范畴之外。
Error 用来指示运行时环境发生的错误。
例如,JVM 内存溢出。一般地,程序不会从错误中恢复。
异常类有两个主要的子类:IOException 类和 RuntimeException 类。
Exception 类的层次, 所有的异常类是从 java.lang.Exception 类继承的子类。
Exception 类是 Throwable 类的子类。除了Exception类外,Throwable还有一个子类Error 。
Java 内置异常类
Java 语言定义了一些异常类在 java.lang 标准包中。
标准运行时异常类的子类是最常见的异常类。由于 java.lang 包是默认加载到所有的 Java 程序的,所以大部分从运行时异常类继承而来的异常都可以直接使用。
Java 根据各个类库也定义了一些其他的异常,下面的表中列出了 Java 的非检查性异常。
异常 | 描述 |
---|---|
ArithmeticException | 当出现异常的运算条件时,抛出此异常。例如,一个整数"除以零"时,抛出此类的一个实例。 |
ArrayIndexOutOfBoundsException | 用非法索引访问数组时抛出的异常。如果索引为负或大于等于数组大小,则该索引为非法索引。 |
ArrayStoreException | 试图将错误类型的对象存储到一个对象数组时抛出的异常。 |
ClassCastException | 当试图将对象强制转换为不是实例的子类时,抛出该异常。 |
IllegalArgumentException | 抛出的异常表明向方法传递了一个不合法或不正确的参数。 |
IllegalMonitorStateException | 抛出的异常表明某一线程已经试图等待对象的监视器,或者试图通知其他正在等待对象的监视器而本身没有指定监视器的线程。 |
IllegalStateException | 在非法或不适当的时间调用方法时产生的信号。换句话说,即 Java 环境或 Java 应用程序没有处于请求操作所要求的适当状态下。 |
IllegalThreadStateException | 线程没有处于请求操作所要求的适当状态时抛出的异常。 |
IndexOutOfBoundsException | 指示某排序索引(例如对数组、字符串或向量的排序)超出范围时抛出。 |
NegativeArraySizeException | 如果应用程序试图创建大小为负的数组,则抛出该异常。 |
NullPointerException | 当应用程序试图在需要对象的地方使用 null 时,抛出该异常 |
NumberFormatException | 当应用程序试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,抛出该异常。 |
SecurityException | 由安全管理器抛出的异常,指示存在安全侵犯。 |
StringIndexOutOfBoundsException | 此异常由 String 方法抛出,指示索引或者为负,或者超出字符串的大小。 |
UnsupportedOperationException | 当不支持请求的操作时,抛出该异常。 |
下面的表中列出了 Java 定义在 java.lang 包中的检查性异常类。
异常 | 描述 |
---|---|
ClassNotFoundException | 应用程序试图加载类时,找不到相应的类,抛出该异常。 |
CloneNotSupportedException | 当调用 Object 类中的 clone 方法克隆对象,但该对象的类无法实现 Cloneable 接口时,抛出该异常。 |
IllegalAccessException | 拒绝访问一个类的时候,抛出该异常。 |
InstantiationException | 当试图使用 Class 类中的 newInstance 方法创建一个类的实例,而指定的类对象因为是一个接口或是一个抽象类而无法实例化时,抛出该异常。 |
NoSuchFieldException | 请求的变量不存在。 |
NoSuchMethodException | 请求的方法不存在。 |
如何捕获异常?
使用 try 和 catch 关键字可以捕获异常。try/catch 代码块放在异常可能发生的地方。
- try / catch代码块中的代码称为保护代码,使用 try / catch 的语法如下:
try
{
// 程序代码
...notErr
}catch(ExceptionName error)
{
//Catch 块
...err
}
Catch 语句包含要捕获异常类型的声明。当保护代码块中发生一个异常时,try 后面的 catch 块就会被检查。
如果发生的异常包含在 catch 块中,异常会被传递到该 catch 块,这和传递一个参数到方法是一样。
try catch 案例
import java.io.*;
public class ExcepTest{
public static void main(String args[]){
try{
int a[] = new int[2];
System.out.println("Access element three :" + a[3]);
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("Exception thrown :" + e);
}
System.out.println("Out of the block");
}
}
该方法声明一个 长度为2的数组,当访问它第4个元素时,就会抛出一个异常
以上代码编译运行输出结果如下:
Exception thrown: java.lang.ArrayIndexOutOfBoundsException: 3
Out of the block
更多异常捕获请详看文档或查询相关书籍,在此就 不 一 一 赘 述。 (O.o)