
Java
杏黄的三叶草
对于爱情,只字不提
展开
-
Collection集合和Map集合循环遍历三种方法
Collection集合的四种遍历方式:1、迭代器 public static void main(String[] args) { List<String> list = new ArrayList<>(); Collections.addAll(list,"小明","小红","小芳","小雅"); Iterator<String> iterator = list.iterator(); whil原创 2022-01-22 17:09:28 · 747 阅读 · 0 评论 -
单例 (Singleton)设计模式
设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。设计模免去我们自己再思考和摸索。就像是经典的棋谱,不同的棋局,我们用不同的棋谱。”套路”。所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。如果我们要让类在一个虚拟机中只能产生一个对象,我们首先必须将类的构造器的访问权限设置为private,这样,就不能用new操作符在类的外部产生类的对象了,但在类内部仍可以产生该类的对象。因..原创 2021-01-26 11:20:13 · 170 阅读 · 0 评论 -
IEDA中的快捷键以及Java中运算符的优先级
Shift+F6,选中代码,全局范围内修改Ctrl+Alt+V键,自动补全原创 2022-01-19 23:23:43 · 236 阅读 · 0 评论 -
IDEA2021创建Java项目
① 创建Project空工程② 创建Module模块原创 2022-01-19 23:23:34 · 1896 阅读 · 0 评论 -
使用dom4j配合Java对xml进行解析
xml文件<?xml version="1.0" encoding="UTF-8" ?><books> <book sn="SN12341232"> <name>辟邪剑谱</name> <price>9.9</price> <author>班主任</author> </book> <book sn="SN12原创 2021-02-16 17:58:30 · 98 阅读 · 0 评论 -
mysql 设置时区 配置文件my.ini或IDEA连接mysql报错Server returns invalid timezone.Go to ‘Advanced‘ tab and set ‘ser
从MySQL的按照目录下找到my.ini文件,修改配置文件我按照的是绿色版,是免安装的,所以需要自己配置my.ini文件,如下:[mysqld]# 设置MySQL时区default-time-zone='+08:00'# 设置3306端口port=3306# 设置mysql的安装目录,就是你自己将解压后的文件放置的位置。建议在windows中是用双斜杠来代替单斜杠,以免出错basedir=D:\MySQL\mysql-8.0.19-winx64\mysql-8.0.19-winx64 #原创 2021-02-15 19:15:18 · 247 阅读 · 0 评论 -
Java中重写了equals()和toString()方法的类有哪些
String、Date、File、包装类等都重写了Object类中的equals()方法。重写以后,比较的不是两个引用的地址是否相同,而是比较两个对象的"实体内容"是否相同。String、Date、File、包装类等都重写了Object类中的toString()方法。使得在调用对象的toString()时,返回"实体内容"信息...原创 2021-02-03 12:02:25 · 2501 阅读 · 0 评论 -
java实现保留两位小数的几种方法
1、使用String.format@Test public void test(){ double s=123.2334; System.out.println(String.format("%.2f", s)); }2、使用DecimalFormat的format方法#.00 表示两位小数 #.0000四位小数 @Test public void test1(){ double s=123.2334; De原创 2021-02-02 11:48:25 · 1460 阅读 · 0 评论 -
Java中线程之间的通信
线程通信的例子:使用两个线程打印 1-100。线程1, 线程2 交替打印涉及到的三个方法wait():一旦执行此方法,当前线程就进入阻塞状态,并释放同步监视器notify():一旦执行此方法,就会唤醒被阻塞的进程,如果有多个被wait(),就唤醒优先级最高的notifyAll():一旦执行此方法,就会唤醒所有被阻塞的进程说明:1、wait(),notify(),notifyAll()三个方法必须使用在同步代码块或同步方法中2、wait(),notify(),notifyAll()三个原创 2021-01-30 21:40:43 · 99 阅读 · 0 评论 -
Java中的内部类
Java中的内部类1、Java中允许将一个类A声明在另一个类B中,则类A就是内部类,类B称外部类2、内部类的分类:成员内部类(静态、非静态),局部内部类(方法内,代码块内,构造器内)3.成员内部类:3.1 一方面,作为外部类的成员:调用外部类的结构可以被static修饰可以被4中不同的权限修饰3.2 另一方面,作为一个类:类内可以定义属性、方法、构造器等可以被final修饰,表示此类不能被继承。言外之意,不使用final,就可以被继承可以被abstract修饰4、原创 2021-01-27 17:18:54 · 110 阅读 · 0 评论 -
Java中的重写原则
约定俗称:子类中的叫重写的方法,父类中的叫被重写的方法① 子类重写的方法的方法名和形参列表与父类被重写的方法的方法名和形参列表相同② 子类重写的方法的权限修饰符不小于父类被重写的方法的权限修饰符特殊情况:子类不能重写父类中声明为private权限的方法③ 返回值类型:父类被重写的方法的返回值类型是void,则子类重写的方法的返回值类型只能是void父类被重写的方法的返回值类型是A类型,则子类重写的方法的返回值类型可以是A类或A类的子类父类被重写的方法的返回值类型是基本数据类型(比如:doub.原创 2021-01-27 12:31:25 · 151 阅读 · 0 评论 -
Java中的接口(interface关键字详解以及接口匿名实现类的对象)
接口的使用1、接口使用interface来定义2、Java中,接口和类是并列的两个结构3、如何定义接口:定义接口中的成员3.1JDK7及以前:只能定义全局常量和抽象方法全局常量:public static final修饰的,书写时可以省略抽象方法:public abstract修饰的,书写时可以省略3.2、JDK8:除了定义全局常量和抽象方法之外,还可以定义静态方法、默认方法4.接口中不能定义构造器!意味着接口不可以实例化5.Java开发中,接口通过类去实现(implemen原创 2021-01-27 00:23:18 · 743 阅读 · 1 评论 -
Java中模板方法设计模式(TemplateMethod)
抽象类体现的就是一种模板模式的设计,抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展、改造,但子类总体上会保留抽象类的行为方式。解决的问题: 当功能内部一部分实现是确定的,一部分实现是不确定的。这时可以把不确定的部分暴露出去,让子类去实现。 换句话说,在软件开发中实现一个算法时,整体步骤很固定、通用,这些步骤已经在父类中写好了。但是某些部分易变,易变部分可以抽象出来,供不同子类实现。这就是一种模板模式。package com.atguigu.java;/* * 抽象类的应原创 2021-01-27 00:23:46 · 115 阅读 · 0 评论 -
Java中创建类的匿名字类对象
首先得有个抽象类,用字类去继承抽象类并重写抽象类中的方法抽象类public abstract class Person { public abstract void eat(); public abstract void method();}字类public class Student extends Person{ @Override public void eat() { System.out.println("吃好吃的"); }原创 2021-01-26 21:49:45 · 219 阅读 · 0 评论 -
Java中abstract关键字的使用
abstract关键字的使用1、abstract:抽象的2、abstract可以用来修饰的结构:类、方法3、abstract修饰类:抽象类此类不能实例化抽象类中一定有构造器,便于子类实例化时调用开发时,都会提供抽象类的子类,让子类对象实例化,完成相关操作4、abstract修饰方法:抽象方法抽象方法只有方法的声明,没有方法体包含抽象方法的类,一定是一个抽象类。反之,抽象类中可以没有抽象方法的。若子类重写了父类中的所有的抽象方法后,此子类方可实例化若子类没有重写父类原创 2021-01-26 20:50:05 · 177 阅读 · 0 评论 -
Java中super关键字的使用
super关键字的使用1.super理解为:父类的2.super可以用来调用:属性、方法、构造器3.super的使用:调用属性和方法3.1 我们可以在子类的方法或构造器中。通过使用"super.属性"或"super.方法"的方式,显式的调用父类中声明的属性或方法。但是,通常情况下,我们习惯省略"super."3.2 特殊情况:当子类和父类中定义了同名的属性时,我们要想在子类中调用父类中声明的属性,则必须显式的使用"super.属性"的方式,表明调用的是父类中声明的属性。3.3 特殊情况:当子类原创 2021-01-26 17:42:39 · 107 阅读 · 0 评论 -
Java中this关键字详解
this关键字的使用:1.this可以用来修饰、调用:属性、方法、构造器2.this修饰属性和方法:this理解为:当前对象 或 当前正在创建的对象2.1 在类的方法中,我们可以使用"this.属性"或"this.方法"的方式,调用当前对象属性或方法。但是,通常情况下,我们都选择省略"this."。特殊情况下,如果方法的形参和类的属性同名时,我们必须显式的使用"this.变量"的方式,表明此变量是属性,而非形参2.2 在类的构造器中,我们可以使用"this.属性"或"this.方法"的方式原创 2021-01-26 17:37:09 · 433 阅读 · 0 评论 -
Java中static关键字详解
static关键字的使用1.static:静态的2.static可以用来修饰:属性、方法、代码块、内部类3.使用static修饰属性:静态变量(或类变量) 3.1 属性,按是否使用static修饰,又分为:静态属性 vs 非静态属性(实例变量) 实例变量:我们创建了类的多个对象,每个对象都独立的拥有一套类中的非静态属性。当修改其中一个对象中的非静态属性时,不会导致其他对象中同样的属性值的修改。 静态变量:我们创建了类的多个对象,多个对象共享同一个静态变量。当通过某一个对象修改静原创 2021-01-26 17:25:43 · 156 阅读 · 0 评论 -
Java中final关键字详解
final:最终的1.final可以用来修饰的结构:类、方法、变量2.final用来修饰一个类,此类不能被其他类所继承如String\System\StringBuffer类3.final用来修饰方法,表明此方法不能被重写如Object类中的getClass()方法//获取当前对象所属的类4.final用来修饰变量,此时变量就称为是一个常量4.1.final修饰属性:可以考虑赋值的位置有:显示初始化、代码块中初始化、构造器中初始化4.2.final修饰局部变量:尤其是.原创 2021-01-26 17:06:31 · 123 阅读 · 0 评论 -
Java中静态代码块,非静态代码块,构造器的执行顺序以及对属性可以赋值的位置的排序
*由父到子,静态先行class Root{ static{ System.out.println("Root的静态初始化块"); } { System.out.println("Root的普通初始化块"); } public Root(){ super(); System.out.println("Root的无参数的构造器"); }}class Mid extends Root{ .原创 2021-01-26 15:35:58 · 123 阅读 · 0 评论 -
Java中静态代码块详解
1.代码块的作用:用来初始化类、对象2.代码块如果有修饰的话,只能是static3.分类:静态代码块和非静态代码块4.静态代码块内部可以有输出语句随着类的加载而执行,而且只执行一次作用:初始化类的信息如果一个类中定义了多个静态代码块,则按照声明的先后顺序执行静态代码块的执行要优先于非静态代码块的执行静态代码块内只能调用静态的属性、静态的方法,不能调用非静态的结构5.非静态代码块内部可以有输出语句随着对象的创建而执行.原创 2021-01-26 15:10:22 · 970 阅读 · 0 评论 -
Java中main方法的理解(一个.java文件中是否可以有多个类)
由于Java虚拟机需要调用类的main()方法,所以该方法的访问权限必须是public,又因为Java虚拟机在执行main()方法时不必创建对象,所以该方法必须是static的,该方法接收一个String类型的数组参数,该数组中保存执行Java命令时传递给所运行的类的参数。又因为main() 方法是静态的,我们不能直接访问该类中的非静态成员,必须创建该类的一个实例对象后,才能通过这个对象去访问类中的非静态成员,这种情况,我们在之前的例子中多次碰到。且一.java文件是可以放多个*的,但是只能有一个用.原创 2021-01-26 12:14:35 · 1979 阅读 · 0 评论 -
Java中基本数据类型、包装类、字符串之间的相互转化
// 1.基本数据类型装包装类型 //通过包装类的构造器 int num0=20; Integer num1=new Integer(num0); System.out.println(num1);//20 Integer num2=new Integer("23"); System.out.println(num2);//20 //自动装箱 Integer num3=.原创 2021-01-25 14:47:08 · 148 阅读 · 0 评论 -
Java中 “==” 和 “equals()” 区别
“==”1、可以使用在基本数据类型变量和引用数据类型变量中2、如果比较的是基本数据类型变量:比较两个变量保存的数据是否相等。(不一定类型要相同并且boolean类型的不能比较)3、如果比较的是引用数据类型变量:比较两个对象的地址值是否相同.即两个引用是否指向同一个对象实体 int i=10; int j=10; double k=10.0; char m = 10; char a = 'A'; S.原创 2021-01-25 11:45:24 · 139 阅读 · 0 评论 -
java中的可变形参的方法
可变个数形参的方法1.jdk5.0新增的内容2.具体使用:2.1 可变个数形参的格式: 数据类型 …变量名2.2 当调用可变个数形参的方法时,传入的实参个数可以是零个,一个或一个以上2.3 可变个数形参的方法与本类中方法名相同,形参不同的方法间构成了重载2.4 可变个数形参的方法与本类中方法名相同,形参类型相同的数组之间不构成重载。2.5 可变个数形参在方法中,必须声明在末尾2.6 可变个数形参在方法的形参中,最多只能声明一个可变形参 public static void main(S.原创 2021-01-23 12:50:09 · 322 阅读 · 0 评论 -
Java实现求子集(亲测有效)
字符串版本代码代写QQ:2248557717/** * 获取一个字符串中所有的非空真子集 * * @param set 需要获取子集的项 * @return list * 思路:如果集合S(A,B,C,D)。其大小为4。拥有2的4次方个子集,即0-15,二进制表示为0000,0001。...,1111。 * 相应的子集为空集。{D},...。{A,B,C,D}。 */public static void getSub() {原创 2020-12-26 14:57:22 · 970 阅读 · 0 评论 -
Java实现输出百分比(亲测有效)
NumberFormat num = NumberFormat.getPercentInstance(); String rates = num.format(0.166672222); System.out.println(rates);原创 2020-10-19 12:45:21 · 6327 阅读 · 0 评论 -
Java实现求一组数的众数(反复测试有效)
思路:根据出现次数最多的找众数,具体实现方法在代码里有注释代码代写:2248557717//求最大值 public static int getMax(List<Integer> list) { int max = 0; for (int i = 0; i < list.size(); i++) { if (max < list.get(i)) { max = list.get(i);原创 2020-10-19 12:40:46 · 1684 阅读 · 0 评论 -
javaweb实现停车场收费管理系统
需要的联系QQ:2248557717项目演示地址:演示地址【大概8月份到期】如果点击不进去就手动搜索http://47.95.118.178:8080/Login.jsp超级管理员的用户名:止于醇香,密码:1855010107普通管理员的用户名:爱而不得,密码:1855010102这是我们javaweb的课程设计,历时2周完成设计思想该系统采用了B/S架构,Tomcat9.0作为运行服务yanshi器,基于javaEE标准,以IntelliJ IDEA作为开发环境,数据库采用了MySQL8.0原创 2020-06-11 15:32:59 · 9160 阅读 · 1 评论 -
idea中MySQL数据库(jdbc)与jsp进行连接{捣鼓了两天,发现我数据库的包没有导入,}
1.去官网下载连接数据库的包2.在idea中lib文件夹内导入该包。原创 2020-05-07 22:45:53 · 809 阅读 · 0 评论 -
关于idea中web项目添加js文件,路径资源错误的问题[Failed to load resource: the server responded with a status of 404 ()]
问题截图如下显示效果如下解决方法tomcat8及以后都是utf8编码 (这是tomcat的)所以不用改,但是你的开发环境idea不是呀所以要设置idea的vm环境和tomcat编译的环境【-Dfile.encoding=UTF-8】如果更改之后,js效果显示不了,但是没有报错,清除一下浏览器的缓存即可* 有时浏览器读到的东西是你上一次的东西,新的东西并没有真正更新发布过来,这是就...原创 2020-05-05 09:53:06 · 2105 阅读 · 1 评论 -
用Java实现简单计算器
实训题 8:简单计算器一 项目说明实训目的:掌握 Java GUI 开发中的布局管理和事件处理机制。实训要求:(1)要使用 java 的 GUI 设计出计算器界面。(2)通过界面按钮,可以实现整数或浮点数的四则运算,并能将结果显示在界面中。(3)计算可以有小数点,和正负整数的计算。(4)要有清零功能。二 类设计中缀表达式的计算solution(String str)用来中算后缀表达...原创 2020-02-14 10:54:14 · 20336 阅读 · 16 评论 -
Java实现用多线程模拟电影售票过程
实训题 5:用多线程模拟电影售票过程一 项目说明实训目的:多线程的实现、线程同步实训要求:总票数和售票窗口数由键盘输入,用每个线程处理一个窗口的售票。二 类设计第一步,通过键盘输入总票数和售票窗口数,然后创建一个Runnable接口的实现类SaleThread,同时重写接口中的run()方法,在该方法中调用售票方法saleTicket();第二步,为了实现线程安全,使用同步方法的方式...原创 2020-02-14 10:04:39 · 1086 阅读 · 0 评论 -
Java实现排序算法效率比较
实训题 4:排序算法效率比较一 项目说明实训目的:数组、Java API 的应用实训要求:随机生成 10000 个 10000 以内的实数,分别用选择、冒泡、快速排序等算法进行排序,计算各种排序所需时间并比较算法的效率。二 类设计快速排序kuaiSuSort(int a[], int low, int high)快速排序的基本思想就是从一个数组中任意挑选一个元素(通常来说会选择最左边...原创 2020-02-14 10:01:56 · 720 阅读 · 0 评论 -
Java中自定义异常处理
实训题 3:自定义异常处理一 项目说明实训目的:了解和掌握 Java 的异常处理机制,利用自定义异常类处理程序中特有的异常。实训要求:自定义一个异常类 NoThisSoundException 和设计一个乐器(Instrument)的接口,接口中含有弹奏方法 play,通过定义不同的乐器钢琴(Piano)、小提琴(Violin)来实现接口中的方法,进行相应的弹奏测试,要求完成以下内容:(...原创 2020-02-14 09:59:49 · 595 阅读 · 0 评论 -
用Java实现求不同图形的周长
实训题 2:求不同图形的周长一 项目说明实训目的:利用接口来实现多态。实训要求:设计一个图形的接口,接口含求周长的抽象方法,通过定义不同图形如圆、矩形、三角形、梯形等类来实现接口中方法。通过接口类对象引用子类对象来求不同图形的周长。二 类设计每个类的构造方法中传入的都是各个边长的长度,perimeter()方法是求各个图形的周长,即每个边长相加之和。类中的属性就是各个周长的边长。三 ...原创 2020-02-14 09:52:47 · 793 阅读 · 0 评论 -
java实现学生信息管理系统
1 系统需求分析学校每年都有新生入学、老生毕业,还有其他各种人事变动。如何有效地管理这些学生的信息,帮助学校和老师掌握学生的情况,这就是学生信息管理系统需要完成的功能。1.1 系统功能分析本系统主要的功能是收集学生的个人信息,以便向教师提供每个学生在校的情况。系统的主要功能有:l ①学生个人信息输入,包括:姓名、性别、院系、生日、籍贯、生源所在地等。l ②学生流动情况...原创 2020-01-02 19:05:59 · 4941 阅读 · 1 评论 -
jdbc出现The server time zone value '?й???????' is unrecognized or represents more than one time zone.
The server time zone value '?й???????' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use...原创 2019-12-17 13:31:43 · 597 阅读 · 0 评论 -
用Java实现文件的读写
一 项目说明实训目的:字符串处理、文件读写、集合的应用实训要求:自己先准备一个 txt 文件,文档里存有一篇英文短文。先一行行读取文件中的内容,并将一行行短文中的标点符号替换成空格,然后以空格作为划分标准,统计整个 txt 文档中每个单词出现的次数。二 项目实现设计在该类的主方法中定义一个双列集合,键用来存储单词,值用来存储单词的个数,定义一个字符缓冲流,用来对字符输入流进行操作...原创 2019-12-16 16:00:03 · 1477 阅读 · 0 评论 -
用Java实现矩阵的四则运算
一 项目说明实训目的:熟悉和掌握 Java 的基本语法,熟悉类的定义与对象的使用。实训要求:设计一个类,该类中有行数和列数两个属性,以及有多个构造方法,能实现矩阵的加法、减法、矩阵与数的乘法、矩阵与矩阵的乘法及矩阵的转置。二 项目实现设计首先在类的声明前,引入扫描仪import java.util.Scanner;然后在主方法中创建一个扫描仪Scanner input=...原创 2020-12-26 14:56:15 · 3140 阅读 · 1 评论