
JavaSE
文章平均质量分 85
记录JavaSE学习
牧濑红莉栖cc
不仅要发现问题,还要解决问题!
展开
-
Java · JDBC 介绍 · JDBC 增删改查
再配置该 jar 包到本项目的依赖中:右键点击项目 Open Module Settings,在 Modules 中,点击项目,配置 Dependencies,点击+,JARS or Directories,将该 lib 文件夹配置进依赖中,表示该文件夹下的 jar 包都引入作为依赖。这个 API 由 java.sql.*,javax.sql.* 包中的一些类和接口组成,它为 Java 开发人员操作数据库提供了一个标准的 API,可以为多种关系数据库提供统一访问。看不懂文字,可以跟着图片走…原创 2023-02-22 15:09:47 · 679 阅读 · 0 评论 -
JavaSE · 常量介绍 · 变量类型转换 · 理解数值提升 · int 和 Stirng 之间的相互转换
Java 类型汇总,前面的内容重点介绍的都是基本数据类型每种数据类型及其范围,都是我们需要掌握的重点。难点是隐式类型转换和类型提升,我们只要在代码中避免不同类型混用的情况,就能减少出现隐式转换和类型提升。原创 2023-02-10 14:34:53 · 455 阅读 · 0 评论 -
Java练习题 · 程序逻辑控制练习题
系统自动生成一个随机整数(1-100), 然后由用户输入一个猜测的数字. 如果输入的数字比该随机数小, 提示 “低了”, 如果输入的数字比该随机数大, 提示 “高了” , 如果输入的数字和随机数相等, 则提示 “猜对了” .原创 2022-09-09 23:39:03 · 242 阅读 · 0 评论 -
Java练习题 · 汉诺塔 · 青蛙跳台阶
汉诺塔问题是一个经典的问题。汉诺塔(Hanoi Tower),又称河内塔,源于印度一个古老传说。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,任何时候,在小圆盘上都不能放大圆盘,且在三根柱子之间一次只能移动一个圆盘。问应该如何操作?(我的思路是递归)在 hanoiTower 方法中,if 语句表示,如果只有一个盘子,直接从 A 柱子移动到 C 柱子即可.原创 2022-09-10 21:12:27 · 159 阅读 · 0 评论 -
Java · 泛型(Generic)的使用 · 包装类(Wrapper Class) · 装箱和拆箱
Java · 泛型(Generic)的使用 · 包装类(Wrapper Class) · 装箱和拆箱泛型是为了解决某些容器、算法等代码的通用性而引入的,并且在编译期间做类型检查。泛型利用的是 Object 是所有类的祖先类,并且父类的引用可以指向子类对象的特定而工作。泛型是一种编译期间的机制,即 MyArrayList 和 MyArrayList 在运行期间是一个类型。泛型是 Java 中的一种合法语法,标志就是尖括号 < >。原创 2022-09-27 21:30:49 · 468 阅读 · 0 评论 -
Java · 异常 · 防御式编程 · 异常的基本用法 · 捕获异常 · 抛出异常 · 自定义异常类
异常 防御式编程 异常的基本用法 捕获异常 抛出异常 自定义异常类.Java 中虽然已经内置了丰富的异常类,但是我们实际场景中可能还有一些情况需要我们对异常类进行扩展,创建符合我们实际情况的异常。例如: 我们实现一个用户登录功能.if(!// TODO 处理用户名错误 } if(!// TODO 处理密码错误 } System . out . println("登陆成功");} }此时我们在处理用户名密码错误的时候可能就需要抛出两种异常。原创 2022-09-26 20:39:10 · 511 阅读 · 0 评论 -
Java · 链表相关练习题 · 高频面试题 · 有难度啊
链表相关练习题 · 高频面试题编写代码,以给定值 x 为基准将链表分割成两部分,所有小于 x 的结点排在大于或等于 x 的结点之前。在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。给定一个带有头结点 head 的非空单链表,返回链表的中间结点。新链表是通过拼接给定的两个链表的所有节点组成的。代码返回的是整个新链表,而不是内存图的新结点。将两个有序链表合并为一个新的有序链表并返回。原创 2022-09-25 21:54:04 · 350 阅读 · 0 评论 -
Java · 认识 String 类(下)· 字符串相关方法介绍 · StringBuffer · StringBuilder
Java 认识 String 类(下)字符串相关方法介绍StringBufferStringBuilder。String 类提供的 equals( ) 方法,该方法本身是可以进行区分大小写的相等判断。compareTo( ) 是一个可以区分大小关系的方法,是 String 方法里是一个非常重要的方法。可以发现两个类都是 “CharSequence” 接口的子类,这个接口描述的是一系列的字符集。原创 2022-09-25 11:32:05 · 344 阅读 · 0 评论 -
Java · 认识 String 类(上)· 创建字符串 · 字符串比较相等 · 字符串常量池 · 字符串不可变 · 字符字节与字符串
Java认识 String 类创建字符串字符串比较相等字符串常量池字符串不可变字符字节与字符串。这样的方式创建的 String 对象相当于在堆上另外开辟了空间来存储 “Hello” 的内容,也就是内存中存在两份空间,都指向了 “Hello”。String 类的内部实现也是基于 char[ ] 来实现的,但是 String 类并没有提供 set 方法之类的来修改内部的字符数组。“Hello” 这样的字面值常量,本质上也是一个 String 对象,完全可以使用 equals 等 String 对象的方法。原创 2022-09-24 22:03:06 · 614 阅读 · 0 评论 -
Java · 图书管理系统代码练习 · 抽象类 · 封装 · 继承 · 多态 · 接口
图书管理小系统,主要利用 JavaSE 所学到的知识点:类、抽象类、封装、继承、多态、接口等进行一个简单的代码练习。原创 2022-09-24 15:57:03 · 897 阅读 · 0 评论 -
Java · 抽象类 · 接口 · 多接口的作用 · 接口间的继承 · 抽象类和接口的区别
抽象类和接口都是 Java 中多态的常见使用方式. 都需要重点掌握.同时又要认清两者的区别(重要!!!常见面试题).核心区别抽象类中可以包含普通方法和普通字段,这样的普通方法和字段可以被子类直接使用(不必重写);而接口中不能包含普通方法,子类必须重写所有的抽象方法。原创 2022-09-22 17:14:14 · 226 阅读 · 0 评论 -
Java · 多态 · 向上转型 · 动态绑定 · 方法重写 · 向下转型 · super关键字
多态向上转型动态绑定 多态是面向对象程序设计中比较难理解的部分. 重点是多态带来的编码上的好处.多态其实是一个更广泛的概念,和 “继承” 这样的语法并没有必然的联系.C++ 中的 “动态多态” 和 Java 的多态类似. 但是 C++ 还有一种 “静态多态”(模板),就和继承体系没有关系了.Python 中的多态体现的是 “鸭子类型”,也和继承体系没有关系.Go 语言中没有 “继承” 这样的概念,同样也能表示多态.无论是哪种编程语言,多态的核心都是让调用者不必关注对象的具体类型.原创 2022-09-22 00:22:07 · 245 阅读 · 0 评论 -
Java · 面向对象编程 · 包的概念 · 继承 · 组合
Java · 面向对象编程 · 包的概念 · 继承 · 组合出现了两个同名的类,就会冲突,导致代码不能编译通过.用 final 修饰的类被继承的时候,就会编译报错,此时就可以提示我们这样的继承是有悖这个类设计的初衷的.我们已经了解了类中的 public 和 private. private 中的成员只能被类的内部使用.和现实中的儿子继承父亲的财产类似, 子类也会继承父类的字段和方法, 以达到代码重用的效果.和继承类似,组合也是一种表达类之间关系的方式,也能够达到代码重用的效果.原创 2022-09-20 15:44:42 · 319 阅读 · 0 评论 -
JavaSE · 链表概念以及结构 · 单链表接口实现 · 双向链表接口实现 · 代码图解 · 顺序表和链表的区别和联系
Java · 链表概念以及结构 · 单链表接口实现 · 双向链表接口实现 · 代码图解 · 顺序表和链表的区别和联系缺点:任意位置插入删除数据,时间复杂度为O(1);没有增容问题,插入一个开辟一个空间。缺点:中间或者前面的数据,需要插入或者删除操作的时候,优势:以节点为单位存储,不支持随机访问。优势:空间连续,支持随机访问。原创 2022-09-19 00:38:28 · 301 阅读 · 0 评论 -
JavaSE · 线性表 · 顺序表 · 顺序表的问题 · 顺序表接口实现(新增元素,删除元素,修改元素,查找元素,清空顺序表)
线性表在逻辑上是线性结构,是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串…的存储单元,依次存储数据元素的线性结构,一般情况下采用数组存储。静态顺序表的定长数组导致 N 定大了,浪费空间;相比之下动态顺序表更加灵活,根据需要动态的分配空间大小.我们来实现一个动态顺序表,以下是需要支持的接口.静态顺序表适合确定知道需要存储多少数据的场景.在数组上完成数据的增删改查。线性表是 n 个具有。原创 2022-09-17 21:21:35 · 349 阅读 · 0 评论 -
JavaSE · 类与对象 · 面向对象概念 · 类的实例化 · 类的成员(字段,属性,方法)· 封装private · 构造方法this · 代码块 · 匿名对象
使用 { } 定义的一段代码.根据代码块定义的位置以及关键字,又可以分为以下四种:1. 普通代码块2. 构造块3. 静态快4. 同步代码块一个类可以产生无数的对象,类就是模板,对象就是具体的实例.类中定义的属性,大概分为几类:类属性,对象属性。其中被 static 所修饰的数据属性称为类属性,static 修饰的方法称为类方法,特点是不依赖于对象,我们只要通过类名就可以调用其属性或者方法.静态代码块优先实例代码块执行,实例代码块优先构造函数执行.原创 2022-09-15 19:47:56 · 156 阅读 · 0 评论 -
JavaSE · 数组的基本用法 · 数组作为方法的参数 · 数组作为方法的返回值 · 二分查找 · 冒泡排序 · 数组逆序
数组,能让我们批量地创建相同类型的变量.例如:如果需要表示两个数据, 那么直接创建两个变量即可 int a;int b如果需要表示五个数据, 那么可以创建五个变量 int a1;int a2;int a3;int a4;int a5;但是如果需要表示一万个数据, 那么就不能创建一万个变量了. 这时候就需要使用数组, 帮我们批量创建.注意事项:在 Java 中,数组中包含的变量必须是相同类型.原创 2022-09-13 23:09:43 · 376 阅读 · 0 评论 -
JavaSE · 方法的使用 · 方法重载 · 方法递归 · 斐波那契数列第N项 · 递归求和
方法就是一个代码片段,类似于 C 语言中的 “函数”.方法的存在意义:1. 能够模块化的组织代码.2. 做到代码被反复使用,一份代码可以在多个位置使用.3. 让代码更好理解.4. 直接调用存在的方法开发,不必重复造轮子.基本语法// 方法定义public static 方法返回值 方法名称([参数类型 形参 ...]){方法体代码;[return 返回值];}// 方法调用返回值变量 = 方法名称(实参...);代码示例:实现一个方法实现两个整数相加} }注意事项。原创 2022-09-10 20:19:00 · 321 阅读 · 0 评论 -
JavaSE · 逻辑控制 · 顺序结构 · 分支结构(if 语句、switch 语句)循环结构(while 循环、break、continue、for 循环)· 控制台输入输出语句
根据 switch 中值的不同,会执行对应的 case 语句. 遇到 break 就会结束该 case 语句.代码执行到 continue 语句的时候,就会立刻进入下次循环(判定循环条件),从而不会执行到下方的打印语句.我们发现,当一个代码带有多重循环的时候,代码的复杂程度就大大提高了。我们发现,不写 break 的时候,case 语句会依次向下执行,从而失去了多分支的效果.如果 switch 中的值没有匹配的 case,就会执行 default 中的语句.当 if-else 语句中不加大括号的时候,原创 2022-09-09 21:03:15 · 311 阅读 · 0 评论 -
JavaSE · 算术运算符 · 关系运算符 · 逻辑运算符 · 位运算符 · 条件运算符 · Java的注释 · Java的关键字
取余操作在 Java 中也能针对 double 来计算.需要区分清楚 前置自增 和 后置自增 之间的区别.由于 Java 是强类型语言,因此对于类型检查比较严格,因此像 && 之类的运算操作符必须是 boolean.要区分清楚 & 和 | 什么时候是表示按位运算,什么时候表示逻辑运算.原创 2022-09-09 10:56:57 · 251 阅读 · 0 评论 -
JavaSE · 变量介绍 · 变量类型(int long double float char byte short boolean String)· 变量的作用域 · 变量的命名规则
变量指的是程序运行时可变的量,相当于开辟一块内存空间来保存一些数据。类型则是对变量的种类进行了划分,不同的类型的变量具有不同的特性。字节是计算机中表示空间大小的基本单位。计算机使用二进制表示数据,我们认为 8 个二进制位(bit)为一个字节(Byte)。例如我们平时的计算机内存为 8GB,意思是 8G 个字节。所以8GB相当于80多亿个字节。4个字节表示的数据范围是,也就大概 -21亿到 +21亿。}原创 2022-09-08 19:50:30 · 2289 阅读 · 0 评论 -
JavaSE · 第一个程序 · Java 的 main 方法 · JDK,JRE,JVM 三者的区别
不用介绍 Java 有多么厉害,我们直接开始Java的第一个程序~如上展示的是最简单的一个 Java程序,可以说,Java的 main方法应该是当前主流编程语言中最“长”的。通过上述代码,我们可以看到一个完整的 Java程序结构,Java程序结构由如下三个部分组成:总结一下:类存在于源文件里面;方法存在于类中;语句存在于方法中。Java 是一门半编译型、半解释型语言。先通过 javac 编译程序把源文件进行编译,编译后生成的 .class文件是由字节码组成的、与平台无关、面向 JVM 的文件。最后启动 J原创 2022-09-08 13:11:35 · 101 阅读 · 0 评论