![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
Java学习问题集锦。
Alfred_XiaJL
路虽远,行则将至;事虽难,做则必成。
展开
-
LeetCode239. 滑动窗口最大值
给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回 滑动窗口中的最大值。原创 2022-09-21 16:05:17 · 221 阅读 · 0 评论 -
Java高级之反射机制
1 java.lang.Class类Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。要想解剖一个类,必须先要获取到该类的Class对象。而剖析一个类或用反射解决具体的问题就是使用相关API(1)java.lang.Class(2)java.lang.reflect.*。所以,Class对象是反射的根源。1.1 哪些类型可以获取Class对象所原创 2021-12-08 19:30:48 · 455 阅读 · 0 评论 -
Java中枚举的应用
1 概述枚举是 Java 中一种特殊的类,它可以定义固定数量的枚举实例,例如: 性别、交通信号灯、季节等等。2 作用一个方法接收的参数是固定范围之内的时候,那么即可使用枚举类型。3 格式enum 枚举名 { 第一行都是罗列枚举实例,这些枚举实例直接写大写名字即可。}4 入门案例(1)定义枚举类public enum Gender { //男,女 MALE,FAMALE; }(2)定义Person类public class Person原创 2021-12-08 18:07:27 · 297 阅读 · 0 评论 -
Java高级之IO流
1 IO流对象IO : Input Output IO作用是将数据从一个设备中流入到另一个设备。数据文件,从磁盘中流向内存中 , 从磁盘中流向移动存储设备 , 从一台计算机流向另一台计算机。一切都是字节 : 任何数据文件都是字节组成, 字节是计算机中最小的存储单元 (Java源码,游戏,音乐,电影)。2 IO流对象的分类2.1 按照操作的文件类型分类文本类型文件 – 选择流对象字符流什么是文本文件 : 使用文本工具,记事本,notepad++ ,editplus 打开文件后人类可以直接原创 2021-12-08 16:13:45 · 439 阅读 · 0 评论 -
Java基础之File类的使用
1 File类的构造方法File (String pathname)传递字符串的路径名File(String parent,String child)传递字符串的父路径,字符串的子路径File(File parent,String child)传递File类型的父路径,字符串的子路径2 File类的创建方法boolean createNewFile()创建一个文件,文件路径写在File的构造方法中boolean mkdirs()创建目录,目录的位置和名字写在File的构造方法中3 File类的原创 2021-12-08 10:46:11 · 130 阅读 · 0 评论 -
Java多线程的使用详解
1 线程的基本概念1.1 进程进程的概念 : 应用程序运行的时候进入到内存,程序在内存中占用的内存空间(进程)。1.2 线程(Thread)在内存和CPU之间,建立一条连接通路,CPU可以到内存中取出数据进行计算,这个连接的通路,就是线程。一个内存资源 : 一个独立的进程,进程中可以开启多个线程 (多条通路)。并发: 同一个时刻多个线程同时操作了同一个数据并行: 同一个时刻多个线程同时执行不同的程序多线程与多进程的区别:本质的区别在于每个进程都拥有自己的一套变量,而线程则共享数据。2原创 2021-12-07 15:53:24 · 2795 阅读 · 0 评论 -
Java基础之集合篇(内容超详细,带你轻松搞懂List、Set和Map的使用)
Java集合的一个小结,包括Colletion和Map等。原创 2021-12-04 12:14:33 · 1733 阅读 · 0 评论 -
Java中的异常处理机制
1.1 概念异常(Exception 也称例外)就是在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序• 所需文件找不到• 网络连接不通或中断• 算术运算错 (被零除…)• 数组下标越界• 装载一个不存在的类或者对null对象操作• 类型转换异常…Java的异常处理是通过5个关键字来实现的:try、catch、 finally、throw、throws1.2 异常处理try-catch• 情况1:try块中代码没有出现异常• 不执行catch块代码,执行catch块后原创 2021-12-04 11:27:29 · 101 阅读 · 0 评论 -
Java高级之使用FileInputStream和FileOutputStream读写非文本文件
一、概念InputStream(输入流):输入流是用来读入数据的。OutputStream(输出流):输出流是用来写出数据的。write(byte b[], int off, int len):写入字节数组中的len字节到输出流。参数中数组b[]就是待写入的字节数组(不一定全部写入),从第offset位开始写入,每次写入的长度为len。二、利用读取字节流实现图片的的复制public class fileStreamTest { public static void main(String原创 2021-04-21 09:58:53 · 217 阅读 · 0 评论 -
Java高级之文件输入输出流
Java IO原理输入input:读取外部数据(磁盘、光盘等存储设备的数据)到程序(内存)中。输出output:将程序(内存)数据输出到磁盘、光盘等存储设备中。流的分类:按操作数据单位不同分为:字节流(8 bit),字符流(16 bit);按数据流的流向不同分为:输入流、输出流;按流的角色不同分为:节点流,处理流。说明点:数据的读入 read():返回读入的一个字符。如果到达文件末尾,返回-12.异常的处理:为了保证流资源一定可以执行关闭操作。需要使用try-catch-finall原创 2021-04-20 21:58:48 · 136 阅读 · 0 评论 -
Java高级之File类的使用
1.File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹)2.File类声明在java.io包下3.File的常用构造器public File(String pathname):以pathname为路径创建File对象,可以是绝对路径或者相对路径,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储。绝对路径:是一个固定的路径,从盘符开始;相对路径:是相对于某个位置开始。路径分隔符:windows:// unix:/public File(String原创 2021-04-18 22:50:04 · 116 阅读 · 0 评论 -
Java高级之Map接口
一、Map:双列数据,存储key-value对的数据 HashMap:作为Map的主要实现类 LinkedHashMap:保证在遍历map元素时按照添加的顺序实现遍历。 原因:在原有的HashMap的底层结构基础上,添加了一对指针,指向前一个和后一个元素。 对于频繁的遍历操作,此类执行效率高于HashMap。 TreeMap:保证按照添加的key-value对进行排序,实现排序遍历。此时考虑key的原创 2021-04-15 16:55:44 · 71 阅读 · 0 评论 -
Java高级之SimpleDateFormat类
SimpleDateFormat类的使用:对日期Date类格式化和解析两个操作:SimpleDateFormat的实例化SimpleDateFormat sdf = new SimpleDateFormat();1.格式化:日期—>字符串//格式化:日期—>字符串Date date1 = new Date();String format = sdf.format(date1);System.out.println(format);2.解析:格式化的逆过程,字符串—>日原创 2021-04-14 10:46:21 · 87 阅读 · 0 评论 -
Java高级常用类之String常用的方法
int length():返回字符串的长度;char charAt(int index):返回某索引去的字符;boolean isEmpty():判断是否是空字符串,return value.length==0;String toLowerCase():使用默认语言环境,将String中的大写字符转换为小写;String toUpperCase():使用默认语言环境,将String中的字符转换为大写;String trim():返回字符串的副本,忽略前导空白和尾部空白;boolean equal原创 2021-04-13 11:20:45 · 92 阅读 · 0 评论 -
Java高级之String 不同拼接操作的对比
String 不同拼接操作的对比1.常量与常量的拼接结果在常量池。且常量池中不会存在相同内容的常量。2.只要其中有一个变量,结果就在堆中。3.如果拼接的结果调用intern()方法,返回值就在常量池中。...原创 2021-04-13 09:32:08 · 96 阅读 · 0 评论 -
Java高级之多线程的创建
多线程的创建 方式一:继承于thread类1.创建一个继承于thread类的方法;2.重写thread类的run();3.创建Thread类的子类的对象;4.通过此对象调用start()方法。例:遍历100以内的所有偶数。//1.创建一个继承于thread类的子类class MyThread extends Thread{ //2.从写thread类的run() -->将此线程执行的操作声明在run()方法中 @Override public void ru原创 2021-04-12 13:44:39 · 63 阅读 · 0 评论 -
Java高级之异常处理
一、异常体系结构java.lang.Throwable>java.lang.Error:一般不编写针对性的代码进行处理。>java.lang.Exception:可以进行异常的处理。>>>编译时异常(checked)>>>运行时异常(unchecked)二、异常的处理——抓抛模型过程一:“抛”:程序在正常执行过程中,一旦出现异常,就会在异常代码处生成对应异常类的对象。一旦抛出对象之后,其后的代码就不再执行。过程二:“抓”: 可以理解为异常的处原创 2021-04-11 09:15:07 · 84 阅读 · 0 评论 -
Java中的JUnit单元测试
步骤:1.选中当前工程-右键选择:build path - add libraries - JUnit 4 -下一步2.创建Java类,进行单元测试此时的Java类要求:①此类是public的 ② 此类提供公共的无参的构造器3.此类中声明单元测试方法:方法的权限是public,没有返回值,没有形参4.此单元测试方法上需要声明注解:@Test,并在单元测试类中导入:import org.junit.Test;5.声明单元测试方法以后,就可以在方法体内测试相关的代码;6.写完代码以后,左键双击原创 2021-04-09 16:29:38 · 68 阅读 · 0 评论 -
Java基础之方法的重写
1.重写:子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作;2.应用:重写以后,当创建子类对象以后,通过子类对象调用父类中的同名参数的方法时,实际执行的是子类重写父类的方法。3.重写的规定:约定俗称:子类中的叫重写的方法,父类中的叫被重写的方法①子类重写的方法的方法名和形参列表与父类被重写的方法的方法名和形参列表相同②子类重写的方法的权限修饰符不小于父类被重写的方法的权限修饰符特殊情况:子类不能重写父类中声明为private权限的方法 ③返回值类型:父类被重写的方法的返回值类型是原创 2021-04-08 20:41:28 · 106 阅读 · 0 评论 -
Java之this关键字的使用
1.this可用来修饰属性、方法、构造器2.this修饰属性和方法:this理解为:当前对象 或正在创建的对象2.1 在类的方法中,我们可以使用“this.属性”或“this.方法”的方式,调用 当前对象属性或方法。但是通常情况下,可以省略“this.”。特殊情况下,如果方法的形参和类的属性同名时,我们必须显式使用“this.变量”,表明此变量是属性而非形参。3.this调用构造器①我们在类的构造器中,可以显式的使用“this(形参列表)”方式,调用本类中指定的其他构造器②构造器中不能通过“th原创 2021-04-08 10:56:03 · 1159 阅读 · 0 评论 -
Java之方法的重载
1.概念:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。2.特点:与返回值的类型无关,只看参数列表,且参数列表必须不同。(参数个数或者参数类型)。调用时,根据方法参数列表的不同来区别。3.判断是否是重载; 跟方法的权限修饰符,返回值类型、形参变量名、方法体都没有关系4.在通过对象调用方法时,如何确定某一个指定的方法:方法名—参数列表...原创 2021-04-08 10:53:05 · 64 阅读 · 0 评论 -
Java面试题:方法的重载与重写的区别
方法重载:1、同一个类中2、方法名相同,参数列表不同(参数顺序、个数、类型)3、方法返回值、访问修饰符任意4、与方法的参数名无关方法重写:1、有继承关系的子类中2、方法名相同,参数列表相同(参数顺序、个数、类型),方法返回值相同3、访问修饰符,访问范围需要大于等于父类的访问范围4、与方法的参数名无关...原创 2021-04-08 10:52:07 · 73 阅读 · 0 评论 -
Java中this 关键字的使用
this 关键字的使用:1.this可用来修饰属性、方法、构造器2.this修饰属性和方法:this理解为:当前对象 或正在创建的对象2.1 在类的方法中,我们可以使用“this.属性”或“this.方法”的方式,调用 当前对象属性或方法。但是通常情况下,可以省略“this.”。特殊情况下,如果方法的形参和类的属性同名时,我们必须显式使用“this.变量”,表明此变量是属性而非形参。3.this调用构造器①我们在类的构造器中,可以显式的使用“this(形参列表)”方式,调用本类中指定的其他构造器原创 2021-04-08 10:50:48 · 40 阅读 · 0 评论 -
Java中package和import关键字的使用
package关键字的使用1.为了更好的实现项目中类的管理,提供包的概念2.使用package声明类或接口所属的包,声明源文件首行3.包,属于标识符,遵循标识符的命名规则、规范、“见名知意”4.每“.”一次,就代表一层文件目录补充:同一个包下,不能命名同名的接口、类不同的包下,可以命名同名得接口、类import关键字的使用import:导入1.在源文件中显式的使用import结构导入指定包下的类、接口2.声明在包的声明和类的声明之间3.如需要导入多个结构,则并列写出即可4.也可以使用原创 2021-04-08 10:49:27 · 217 阅读 · 0 评论 -
Java面向对象特征之二:继承性
一、继承的好处:1.减少代码的冗余,提高代码的复用性;2.便于功能的扩展;3.为之后的多态性的使用,提供了前提。二、继承性的格式:class A extends B{}A:子类、派生类、subclassB:父类、超类、基类、superclass1.体现:一旦子类A继承了父类B之后,子类A中就获取了父类B中声明的所有的属性、方法2.特别的,父类中声明为private的属性或方法,子类继承以后,仍然认为获取了父类中私有的结构。只是由于封装性的影响,使得子类不能直接调用父类的结构而已。3.子类继原创 2021-04-08 10:46:26 · 51 阅读 · 0 评论 -
JAVA语言的新特性
**Java语言新特性:**可变个数形参的方法JavaSE 5.0 中提供了Varargs机制,允许直接定义能和多个实参相匹配的形参。从而,可以用一种更简单的方式,来传递个数可变的实参。JDK5.0以前:采用数组形参来定义方法,传入多个同一类型变量public static void test(int a ,String[]books);JDK5.0: 采用可变个数形参来定义方法,传入多个同一类型变量public static void test(int a ,String…books)。具体使原创 2021-01-28 15:38:36 · 104 阅读 · 0 评论 -
Java核心之方法的重载
1.概念:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。2.特点:与返回值的类型无关,只看参数列表,且参数列表必须不同。(参数个数或者参数类型)。调用时,根据方法参数列表的不同来区别。3.判断是否是重载; 跟方法的权限修饰符,返回值类型、形参变量名、方法体都没有关系4.在通过对象调用方法时,如何确定某一个指定的方法:方法名—>参数列表5.代码示例:package Overload;public class OverLoadTest {publ原创 2021-01-27 16:52:41 · 59 阅读 · 0 评论 -
Java对象数组之对象数组题目Student类
问题描述定义类Student,包含三个属性:学号number(int),年级state(int) ,成绩score(int)。创建20个学生对象,学号为1到20号,年级和成绩都由随机数确定。问题1:打印出3年级(state值为3)的学生信息。问题2:使用冒泡排序按学生成绩排序,并遍历所有学生信息。创建Student类:public class Student { int number; //学号 int state; //年级 int score;原创 2021-01-16 17:19:01 · 1708 阅读 · 1 评论 -
Java中创建对象数组
1.对象数组的概念:如果一个数组中的元素是对象类型,则称该数组为对象数组。当需要一个类的多个对象时,应该用该类的对象数组来表示,通过改变下标值就可以访问到不同的对象。2.对象数组的定义和使用:对象数组的定义与一般数组的定义类似,但是需要为每一个元素实例化。3.对象数组的实例化:类名[ ] 对象数组名 = new 类名[ 数组大小]以创建Student类的对象数组为例Student[] stu = new Student[20]; //创建20个学生对象对学生类的每一个数组元素进行原创 2021-01-16 16:52:24 · 8017 阅读 · 0 评论 -
Eclipse中Debug的使用详解
1.设置断点注意:可以设置多个断点2.debug as java application3.常用操作操作作用step into 跳入(f5)进入当前所调用的方法中step over 跳过(f6)执行完当前行的语句,进入下一行step return 跳回(f7)执行完当前行所在的方法,进入下一行drop to frame回到当前行所在方法的...原创 2020-04-17 20:55:06 · 519 阅读 · 0 评论 -
eclipse中导入javaweb工程文件时常见的错误处理
前言:因为经常有小伙伴在向eclipse中导入工程文件时遇到报错的情况,所以写一个常见错误处理的博客。从外部向eclipse中导入工程文件鼠标选中报错的工程文件,点击鼠标右键,选中properties点击 properties,找到Java Build Path,选中第三项如图JRE和Server的类库为 ubound 无效,这里是由于导入的工程的jdk和Tomcat与本机的版本不一...原创 2020-03-16 17:42:30 · 780 阅读 · 0 评论