<!-- @import "[TOC]" {cmd="toc" depthFrom=1 depthTo=6 orderedList=false} -->
# Java 基础——尚硅谷学习笔记(含面试题) 2023 年
<!-- code_chunk_output -->
- [Java 基础——尚硅谷学习笔记(含面试题) 2023 年](#java-基础尚硅谷学习笔记含面试题-2023-年)
- [Java 基础 第 1 阶段:基本语法——尚硅谷学习笔记(含面试题) 2023 年](#java-基础-第-1-阶段基本语法尚硅谷学习笔记含面试题-2023-年)
- [第 1 章 Java 语言概述](#第-1-章-java-语言概述)
- [1.1 Java 基础阶段的学习内容](#11-java-基础阶段的学习内容)
- [1.1.1 第 1 阶段:Java 基本语法](#111-第-1-阶段java-基本语法)
- [1.1.2 第 2 阶段:Java 面向对象编程](#112-第-2-阶段java-面向对象编程)
- [1.1.3 第 3 阶段:Java 语言的高级应用](#113-第-3-阶段java-语言的高级应用)
- [1.2 软件开发相关内容](#12-软件开发相关内容)
- [1.2.1 计算机的构成](#121-计算机的构成)
- [1.2.2 软件](#122-软件)
- [1.2.3 人机交互方式](#123-人机交互方式)
- [1.2.4 计算机编程语言](#124-计算机编程语言)
- [1.3 Java 概述](#13-java-概述)
- [1.3.1 Java 发展史](#131-java-发展史)
- [1.3.2 Java 之父](#132-java-之父)
- [1.3.3 Java 具体的平台划分](#133-java-具体的平台划分)
- [1.4. Java 环境的搭建](#14-java-环境的搭建)
- [1.4.1 JDK、JRE、JVM 的基本概念](#141-jdk-jre-jvm-的基本概念)
- [1.4.2 JDK、JRE、JVM 三者之间的关系](#142-jdk-jre-jvm-三者之间的关系)
- [1.4.3 安装 JDK](#143-安装-jdk)
- [1.5. HelloWorld](#15-helloworld)
- [1.5.1 开发步骤](#151-开发步骤)
- [1.5.2 开发说明](#152-开发说明)
- [1.6 注释](#16-注释)
- [1.6.1 Java 中的注释的种类](#161-java-中的注释的种类)
- [1.6.2 单行注释](#162-单行注释)
- [1.6.3 多行注释](#163-多行注释)
- [1.6.4 文档注释](#164-文档注释)
- [1.7 API 文档](#17-api-文档)
- [1.8 Java 核心机制:JVM](#18-java-核心机制jvm)
- [1.8.1 Java 语言的优点](#181-java-语言的优点)
- [1.8.2 Java 语言的缺点](#182-java-语言的缺点)
- [1.8.3 JVM 功能说明](#183-jvm-功能说明)
- [1.9 企业真题](#19-企业真题)
- [第 2 章 变量与运算符](#第-2-章-变量与运算符)
- [2.1 关键字、保留字](#21-关键字-保留字)
- [2.2 标识符](#22-标识符)
- [2.3 变量](#23-变量)
- [2.4 基本数据类型](#24-基本数据类型)
- [2.4.1 基本数据类型](#241-基本数据类型)
- [2.4.2 引用数据类型](#242-引用数据类型)
- [2.5 基本数据类型变量间的运算规则](#25-基本数据类型变量间的运算规则)
- [2.5.1 自动类型提升](#251-自动类型提升)
- [2.5.2 强制类型转换](#252-强制类型转换)
- [2.6 基本数据类型与 String 的运算](#26-基本数据类型与-string-的运算)
- [2.6.1 字符串类型:String](#261-字符串类型string)
- [2.6.2 运算规则](#262-运算规则)
- [2.7 进制的认识](#27-进制的认识)
- [2.7.1 进制的分类](#271-进制的分类)
- [2.7.2 二进制的理解](#272-二进制的理解)
- [2.8 运算符](#28-运算符)
- [2.8.1 算术运算符](#281-算术运算符)
- [2.8.2 赋值运算符](#282-赋值运算符)
- [2.8.3 比较(关系)运算符](#283-比较关系运算符)
- [2.8.4 逻辑运算符](#284-逻辑运算符)
- [2.8.5 位运算符](#285-位运算符)
- [2.8.6 条件运算符](#286-条件运算符)
- [2.8.7 运算符的优先级](#287-运算符的优先级)
- [2.8.8 字符集](#288-字符集)
- [2.9 企业真题](#29-企业真题)
- [第 3 章 流程控制语句](#第-3-章-流程控制语句)
- [3.1 流程控制结构](#31-流程控制结构)
- [3.2 分支结构之一:if-else](#32-分支结构之一if-else)
- [3.2.1 基本语法](#321-基本语法)
- [3.3 分支结构之二:switch-case](#33-分支结构之二switch-case)
- [3.3.1 基本语法](#331-基本语法)
- [3.3.2 case 的穿透性](#332-case-的穿透性)
- [3.4 循环结构之一:for](#34-循环结构之一for)
- [3.4.1 基本语法](#341-基本语法)
- [3.5 循环结构之二:while](#35-循环结构之二while)
- [3.5.1 基本语法](#351-基本语法)
- [3.6 循环结构之三:do-while](#36-循环结构之三do-while)
- [3.6.1 基本语法](#361-基本语法)
- [3.7 “无限”循环](#37-无限循环)
- [3.7.1 基本语法](#371-基本语法)
- [3.8 关键字 break、continue](#38-关键字-break-continue)
- [3.9 Scanner 类的使用](#39-scanner-类的使用)
- [3.10 获取随机数](#310-获取随机数)
- [3.11 企业真题](#311-企业真题)
- [第 4 章 IDEA 的安装与使用](#第-4-章-idea-的安装与使用)
- [4.1 IDEA 的认识](#41-idea-的认识)
- [4.2 IDEA 的下载、安装、卸载](#42-idea-的下载-安装-卸载)
- [4.3 工程结构](#43-工程结构)
- [4.4 企业真题](#44-企业真题)
- [第 5 章:数组](#第-5-章数组)
- [5.1 数组的概述](#51-数组的概述)
- [5.2 一维数组](#52-一维数组)
- [5.2.1 数组的声明和初始化](#521-数组的声明和初始化)
- [5.2.2 数组的使用](#522-数组的使用)
- [5.2.3 一维数组内存分析](#523-一维数组内存分析)
- [5.3 二维数组](#53-二维数组)
- [5.4 数组的常用算法](#54-数组的常用算法)
- [5.5 Arrays 工具类的使用](#55-arrays-工具类的使用)
- [5.6 数组中的常见异常](#56-数组中的常见异常)
- [5.7、企业真题](#57-企业真题)
- [Java 基础 第 2 阶段:面向对象编程——尚硅谷学习笔记(含面试题) 2023 年](#java-基础-第-2-阶段面向对象编程尚硅谷学习笔记含面试题-2023-年)
- [第 6 章 面向对象——基础](#第-6-章-面向对象基础)
- [6.1 面向过程 vs 面向对象](#61-面向过程-vs-面向对象)
- [6.2 类、对象](#62-类-对象)
- [6.2.1 类](#621-类)
- [6.2.2 对象](#622-对象)
- [6.2.3 对象的内存解析](#623-对象的内存解析)
- [6.3 类的成员之一:属性(成员变量 field)](#63-类的成员之一属性成员变量-field)
- [6.3.1 声明成员变量](#631-声明成员变量)
- [6.3.2 成员变量 vs 局部变量](#632-成员变量-vs-局部变量)
- [6.4 类的成员之二:方法(method)](#64-类的成员之二方法method)
- [6.4.1 方法的声明](#641-方法的声明)
- [6.4.2 方法的重载(overload)](#642-方法的重载overload)
- [6.4.3 可变个数形参的方法](#643-可变个数形参的方法)
- [6.4.4 方法的参数传递机制:值传递](#644-方法的参数传递机制值传递)
- [6.4.5 递归方法](#645-递归方法)
- [6.5.5 方法调用内存分析](#655-方法调用内存分析)
- [6.5 对象数组](#65-对象数组)
- [6.6 package、import 关键字](#66-package-import-关键字)
- [6.7 面向对象的特征之一:封装性](#67-面向对象的特征之一封装性)
- [6.7.1 封装性的体现](#671-封装性的体现)
- [6.7.2 封装性的作用](#672-封装性的作用)
- [6.8 类的成员之三:构造器(Constructor)](#68-类的成员之三构造器constructor)
- [6.9 类的实例变量的赋值过程](#69-类的实例变量的赋值过程)
- [6.10 JavaBean](#610-javabean)
- [6.11 UML 类图](#611-uml-类图)
- [6.12 企业真题](#612-企业真题)
- [第 7 章:面向对象——进阶](#第-7-章面向对象进阶)
- [7.1 this 关键字](#71-this-关键字)
- [7.2 面向对象的特征二:继承性](#72-面向对象的特征二继承性)
- [7.2.1 继承性的好处](#721-继承性的好处)
- [7.2.2 Java 中继承性的特点](#722-java-中继承性的特点)
- [7.3 方法的重写(override 、overwrite)](#73-方法的重写override--