从0学习java
文章平均质量分 52
Kristen Stewart
这个作者很懒,什么都没留下…
展开
-
MyBatis参数传递,注解开发
MyBatis接口方法中可以接受各种各样的参数,MyBatis底层对于这些参数进行不同的封装处理凡是MyBatis提供了ParamNameResolver类来进行参数封装MyBatis 参数封装:1.POJO类型:直接使用,属性名,和参数占位符名称一致2.Map集合:直接使用,键名和参数占位符名称一致3.Collection:封装为Map集合map.put(“arg0”,collection集合)map.put(“collection”,collection集合)4。List:封装为Map集原创 2022-04-05 15:42:41 · 565 阅读 · 1 评论 -
在MyBatis中遇到的Type interface com.itheima.mapper.UserMapper is already known to the MapperRegistry.问题
在学习MyBatis时遇到了如下错误:主要是由两个原因组成的:org.apache.ibatis.exceptions.PersistenceException: ### Error building SqlSession.### The error may exist in com/itheima/mapper/BrandMapper.xml### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mappe原创 2022-04-03 23:18:47 · 2057 阅读 · 0 评论 -
IDEA如何导入Maven项目、依赖管理(使用坐标导入jar包)
一、将项目复制到工作空间中(就是项目所在文件夹)二、找到项目的pom文件,双击就可以导进来使用坐标导入jar包在pom.xml中编写<dependencies>标签在<dependencies>标签中 使用<dependecy>引入坐标定义坐标的groupId,artifactld,version点击刷新按钮,使坐标生效这个是刷新按钮如果经常忘记点击刷新,那么就无法配置成功,但是可以这样就可以不用点击刷新,修改完成之后自动刷新如果不原创 2022-04-01 22:28:33 · 2030 阅读 · 1 评论 -
java——设计模式
工厂模式什么是工厂设计模式之前我们创建类对象时,都是使用new对象的形式创建,在很多业务场景下也提供了不直接new的方式工厂模式(Factory Pattern)是java中最常用的设计模式之一,这种类型的设计模式属于创建型模式,它提供了一种获取对象的方式工厂设计模式的作用:工厂的方法可以封装对象的创建细节,比如:为该对象进行加工和数据注入可以实现类与类之间的解耦操作(核心思想)对象通过工厂的方法创建返回,工厂方法可以为该对象进行加工和数据注入装饰模式创建一个新欸,包装原始类,从而在原创 2022-03-30 13:13:28 · 512 阅读 · 0 评论 -
java——XML、XML解析、设计模式
XML概述XML时扩展性标记语言(eXtensible Markup Language)的缩写,他是一种数据表示格式,可以描述非常复杂的数据结构,常用于传输和存储数据XML的使用场景:XML内容经常被当消息进行网络传输,或者作为配置文件用于存储系统的信息XML的语法的规则XML文件的后缀名为:xml文档声明必须是第一行标签由一对尖括号和合法标识符组成: <name></name>,必须存在一个根标签,有且只能有一个。标签必须成对出现,有开始,有结束: <n原创 2022-03-30 12:51:59 · 586 阅读 · 0 评论 -
java——IO(二)
缓冲流缓冲流概述缓冲流也称为高效流,或者高级流。之前学习的字节流可以称为原十六作用:缓冲流自带缓冲区,可以提高原始字节流,字符流读写数据的性能缓冲流的作用:缓冲流自带缓冲区,可以提高原始字节流、字符流读写数据的性能字节缓冲流字节缓冲流的优化原理:字节缓冲输入流自带了8KB缓冲池,以后我们直接从缓冲池读取数据,所以性能比较好字节缓冲输出流自带了8KB缓冲池,数据就直接写到缓冲池中去,写数据性能极高了public static void main(String[] args) {原创 2022-03-22 11:15:45 · 367 阅读 · 0 评论 -
java——File、方法递归、IO流
File类概述先要定位文件- File类可以定位文件:进行删除:获取文本本身信息等操作- 但是不能读写文件内容读写文件数据- IO流技术可以对硬盘中的文件进行读写File类在包java.io.File下、代表操作系统文件对象(文件、文件夹)File类提供了诸如:定位文件,获取文件本身的信息,删除文件、创建文件(文件夹)等功能...原创 2022-03-18 21:29:06 · 365 阅读 · 0 评论 -
java——日志框架
日志技术的概述生活中的日志:生活中的日志就好比日记,记录生活的点点滴滴程序中的日志:程序中的日志可以用来记录程序运行过程中的信息,并可以进行永久存储输出语句的弊端信息只能展示在控制台不能将其记录到其他位置(文件,数据库)想取消记录的信息需要修改代码才可以完成日志技术具备的优势可以将系统执行的信息选择性的记录到指定的位置(控制台,文件中,数据库中)可以随时以开关的形式控制是否记录日志,无需修改源代码日志技术体系日志规范:一些接口,提供给日志的实现类框架设计的标准日志框架:牛人或原创 2022-03-16 11:22:43 · 341 阅读 · 0 评论 -
java——异常处理
什么是异常异常时程序在“编译”或者“执行”的过程中可能出现的问题:注意:语法错误不算是异常体系中比如:数组索引越界、空指针异常,日期格式化异常等为什么要学习异常异常一旦出现了,如果没有提前处理,程序就会退出JVM虚拟机而终止研究异常并且避免异常,然后提前处理异常,体现的是程序的安全,健壮性 public static void main(String[] args) { int[] arr={10,20,40}; System.out.println(原创 2022-03-14 13:11:55 · 390 阅读 · 0 评论 -
java——Stream流
创建不可变集合什么是不可变集合不可变集合,就是不可以被修改的集合。集合的数据项在创建的时候提供,并且在整个生命周期都不可改变。否则报错为什么要创建不可变集合如果某个数不能被修改,把他预防性的拷贝到不可变集合是个很好的实践或者当集合对象不可信的库效用时,不可变形式是安全的如何创建不可变集合在List、Set、Map接口中,都存在of方法,可以创建一个不变的集合...原创 2022-03-13 16:30:51 · 1668 阅读 · 1 评论 -
Map集合
HashMap由键就决定:无序、不重复、无缩影。HashMap底层是哈希表结构的依赖hashCode方法保证键的唯一如果键要存储的是自定义对象,需要重写hashCode和equals方法基于哈希表。增删改查的性能都较好LinkedHashMap集合由键决定:有序、不重复、无索引这里的有序指的是保证存储和取出的元素顺序一致原理:底层数据结构是依然哈仪表,只是每个键值对元素有额外多了一个双链表的机制记录存储的顺序Map<String,Integer>maps=new Lin原创 2022-03-09 22:26:16 · 132 阅读 · 0 评论 -
Map集合遍历方式
Map集合遍历方式一:键找值先获取Map集合的全部键的Set集合 //Set key=map.keySet();遍历键的Set集合,然后通过键提取对应值map.getValue() Set<String> keys=maps.keySet(); for(String key1:keys){ int valu1e=maps.get(key1); System.out.println(key1+"====>原创 2022-03-09 21:37:21 · 9544 阅读 · 0 评论 -
Map集合
Map集合是一种双列集合,每个元素包含两个数据Map集合的每个元素的格式:key=value(键值对元素)。Map中使用最多的集合是HashMap键不可重复,值可重复Map集合的特点都是由键决定的Map集合的键是无序,不重复的,无索引,值不做要求(可以重复).Map集合后面重复的键对应的值会覆盖前面重复键的值。Map集合的键值对都可以为nullMap集合实现类的特点HashMap:元素按照键是无序,不重复,无索引,值不做要求(与Map体系一致)...原创 2022-03-09 13:16:29 · 113 阅读 · 0 评论 -
java——set系列集合
Set系列集合特点无序:存取顺序不一致不重复:可以去除重复无索引:没有带索引的方法,所以不能使用普通for循环遍历,也不能通过索引来获取元素Set集合实现类特点HashSet:无序、不重复、无索引LinkedHashSet:有序,不重复,无索引TreeSet:排序、不重复、无索引Set集合的功能上基本上与Collection的API一致public class SerDemo { public static void main(String[] args) {原创 2022-03-05 20:33:51 · 893 阅读 · 0 评论 -
java——泛型
集合体系的全部接口和实现类都是支持泛型的使用的泛型的格式:<数据类型>;注意:泛型只能支持引用数据类型修饰符 class 类名<泛型变量>{}public class MyArrayList<T>{}此处泛型变量T可以随便写成任意表示,常见的如E,T,K,V等作用: 编译阶段可以指定数据类型,类似于集合的作用泛型方法定义方法的同时定义了泛型的方法就是泛型方法泛型方法的格式:修饰符 <泛型变量> 方法返回值 方法名称(形参列表){}publ原创 2022-03-02 15:26:07 · 204 阅读 · 0 评论 -
java——List系列集合
List系列集合特点ArrayList,LinekList:有序,可重复,有索引有序:存储和取出的元素顺序一致有索引:可以通过索引操作元素可重复:存储的元素可以重复常见操作public static void main(String[] args) { List<String> list=new ArrayList<>(); list.add("java"); list.add("Java"); list原创 2022-03-02 14:07:17 · 439 阅读 · 0 评论 -
java——红黑树
红黑树是一种自平衡的二叉查找树,是计算机科学中用到的一种数据结构每一个节点可以是红或者黑;红黑树不是通过高度平衡的,他的平衡时通过“红黑规则”进行实现的红黑规则每一个节点或者红色,或者是黑色,根节点必须是黑色。如果一个节点没有子节点或者父节点,则该节点相应的制作属性值为Nil,则这些Nil视为叶节点,叶节点是黑色如果某一个节点是红色,那么他的子节点必须是黑色(不能出现两个红色节点相连的情况)每一个节点,从该节点到其所有后代叶节点的简单路径上,均包含相同数目的黑色节点与其他二叉树对比,多了一.原创 2022-03-01 23:27:45 · 421 阅读 · 0 评论 -
java——集合
集合和数组都是容器数组的特点数组定义完成并启动后,类型确定,长度固定在进行增删数据操作的时候,数组是不太合适的,增删数据都需要放弃原有数据或者移位** 集合的特点**集合的大小不固定,启动后可以动态变化,类型也可以选择不固定,集合更像气球集合非常适合做元素的增删操作注意:集合中只能存储引用类型的数据,如果要存储基本类型数据可以选用包装类集合类体系结构Collection单列集合,每个元素(数据)值包含一个值Map双列集合,每个元素包含两个值(键值对)注意:前期先掌握Collecti原创 2022-03-01 22:45:26 · 232 阅读 · 0 评论 -
java——Lambda表达式
Lambda作用:简化匿名内部类的代码写法Lambda表达式的简化格式(匿名内部类被重写方法的形参列表)->{ 被重写方法的方法体代码}注:->是语法形式,无时间含义注意:Lambda表达式只能简化接口中只有一个抽象方法的匿名内部类形式什么是函数式接口?首先必须是接口、其次接口中有且仅有一个抽象方法的形式public class Lambdademo1 { public static void main(String[] args) { //Lambda原创 2022-02-28 14:13:26 · 130 阅读 · 0 评论 -
java——正则表达式,Arrays类,选择排序,二分搜索
正则表达式正则表达式可以用一些规则的字符来制定规则,并用来校验数据格式的合法性(判断格式 )用正则表达式完成如下需求请编写程序模拟用户输入手机号码、验证格式正确,并给出提示,知道格式输入正确为止请编写程序模拟用户输入邮箱号码、验证格式正确,并给出提示,知道格式输入正确为止请编写程序模拟用户输入电话号码、验证格式正确,并给出提示,知道格式输入正确为止public class RegexTest3 { //目标:校验 手机号码 邮箱 电话号码 public static voi原创 2022-02-27 15:55:22 · 284 阅读 · 0 评论 -
java——包装类
就是8种基本数据类型对应的引用类型(一切皆对象)集合和泛型其实也只能支持包装类型,不支持基本数据类型**自动装箱:**基本类型的数据和变量可以直接赋值给包装类型的变量**自动拆箱:**包装类型的变量可以直接赋值给基本类型数据的变量包装类的特有功能包装类的变量的默认值可以是null,容错率更高可以把基本类型的数据变换成字符串类型(用处不大)①调用toString()方法得到字符串结果②调用Integer.toString(基本类型的数据)。可以把字符串类型的数值转换成真实的数据类型(真的原创 2022-02-26 15:54:51 · 190 阅读 · 0 评论 -
java——时间
Date类记录时间的两种形式形式1:日期对象//1.创建一个日期对象代表了:当前系统的刺客时间对象Date d=new Date();System.out.println(d);形式2:时间毫秒值值得是从1970年1月1日 00:00:00走到此刻的总的毫秒数,应该是很大的long time=d.getTime();System.out.println(time);日期的格式化public class SimpleDateFormatDemo01 { public stat原创 2022-02-26 15:38:03 · 144 阅读 · 0 评论 -
java——抽象类,接口
抽象类某个父类知道其所有子类要完成某功能,但是每个子类完成情况都不一样,父类就只定义该功能的基本要求,具体实现有子类完成,这个类就可以是一个抽象类,抽象类其实就是不完全的设计图抽象类必须使用abstract修饰:修饰符 abstract class 类名{}抽象类的作用是什么样的?什么时候定义抽象类?(可以被子类继承、充当模板的、同时也可以提高代码复用。如果父类知道子类要完成某个功能,实现要交给子类时)抽象方法就是抽象类中定义的子类必须王城的功能的基本要求没有方法体,hi有方法签名,必须原创 2022-02-25 20:15:10 · 262 阅读 · 0 评论 -
java——权限修饰符,final,常量
什么是权限修饰符权限修饰符:是用来控制一个成员能够被访问的范围的。可以修饰成员变量,方法,构造器,内部类,不同权限修饰的成员能够被访问的范围将受到限制。权限修饰符的分类和具体作用范围权限修饰符:有四种作用范围由小到大(private->缺省->protected->public)finalfinal修饰变量,变量有且仅能被赋值一次。ps:变量有几种?局部变量成员变量:1.静态成员变量。2.实例成员变量final的作用final关键字时最终的意思,可以修饰原创 2022-02-24 14:31:04 · 231 阅读 · 0 评论 -
java——继承后的构造器
子类继承父类后,子类中所有的构造器默认都会先访问父类中无参的构造器,在执行自己super调用父类构造器的作用是什么?通过条用父类有参数构造器来初始化继承父类的数据this和super详情this:代表本类对象的引用;super:代表父类存储空间的表示this(…)和super(…)使用注意点:子类通过this(…)去调用被雷的其他构造器,本类其他构造器会通过super去手动调用父类的构造器,最终还是会调用父类构造器的。注意:this(…)super(…)都是只能放在构造器的第一行,所原创 2022-02-23 20:52:19 · 571 阅读 · 0 评论 -
java——方法重载
什么是方法重载在继承体系中,子了出现了和父类中一摸一样的方法声明,我们就称子类这个方法是重写的方法方法重写的应用场景当子类需要父类的功能,但父类的该功能不完全满足自己的需求时子类可以重写父类中的方法Override重写注解@override是放在重写后的方法上,作为重写是否正确的校验注解。加上该注解后如果重写错误,编译阶段会出现错误提示。建议重写方法都加@Override注解,代码安全,优雅!方法重写注意事项和要求重写方法的名称、形参列表必须与被重写的名称和参数列表一致。原创 2022-02-23 20:17:30 · 159 阅读 · 0 评论 -
java——继承
什么是继承?继承是类与类之间的一种关系。多个类继承单独的某个类,多个类就可使用单独的这个类的属性和行为多个类称为子类(派生类),单独的这个类成为父类(基类 或超类)为什么用继承使用继承的好处:提高代码复用解决方法就是将相同的方法抽出来继承的格式在java中,继承的关键字用的是"extends"public class 子类名 extends 父类名{}继承需要满足:子类们相同特征(共性属性,共性方法)放在父类中定义。子类独有的属性和行为应该定义在子类自己里面继承的特原创 2022-02-23 13:28:16 · 67 阅读 · 0 评论 -
java——代码块(斗地主游戏)
代码块概述代码块是类的5大成分之一(成员变量,构造器,方法,代码块,内部类),定义在类中方法外在java类下,使用{}括起来的代码被称为代码块。代码块分为静态代码块格式:static{}特点:需要通过static关键字修饰,随着类的加载而加载,并且自动触发,只执行一次使用场景:在类记载的时候做一些静态是数据初始化的操作,以便后续使用构造代码块格式:{}特点:每次创建对象,调用构造器执行时,都会执行该代码中的代码,并且在构造器前执行使用场景:初始化实例资源。斗地主游戏publi原创 2022-02-22 20:04:31 · 2100 阅读 · 0 评论 -
java——工具类和工具
工具类是什么,有什么好处?内部都是一些静态方法,每个方法完成一个功能一次编写,处处可用,提高代码的重用性工具类有什么要求?建议工具类的构造器私有化处理工具类不需要创建对象static访问注意实现静态方法只能访问静态成员,不能可以直接访问实例成员。实例方法可以访问静态成员,可以访问实例成员静态方法中是不可以出现this关键字的public class Test { //静态成员变量 public static int onLineNumbe原创 2022-02-22 15:10:18 · 221 阅读 · 0 评论 -
java——实例方法和静态方法
1.成员方法的分类和访问风别是什么样的?静态成员方法(有static修饰,属于类和对象共享)访问格式 类名.静态成员方法。 对象.静态成员方法。(不推荐)实例成员方法(无static修饰,属于对象)的访问格式: 对象.实例成员方法。 **2.每种成员方法的使用场景是怎么样的?**表示对象自己的行为,且方法中需要访问实例成员的,则该方法必须申明成实例方法如果该方法是以执行一个通用功能为目的,或者需要方便访问,则可以申明静态方法public class Student {原创 2022-02-22 14:19:10 · 568 阅读 · 0 评论 -
java——集合与数组
集合与数组的区别数组和集合的元素存储的个数问题?数组定义后类型确定,长度固定集合类型可以和不固定,大小可变的。** 数组和集合适合的场景**数组适合做数据个数和类型确定的场景集合适合做数据个数不确定,且要做增删元素的场景。泛型概述ArrayList:其实就是一个泛型类,可以在编译阶段约束集合对象只能操作某种数据类型。举例:ArrayList:此集合只能操作字符串类型的元素。ArrayList:此集合只能操作整数类型的元素注意:集合中只能存储引用类型,不支持基本数据类型。Arr原创 2022-02-21 20:58:26 · 110 阅读 · 0 评论 -
java——String定义方式
String类的定义方式 //方式一:直接使用双引号得到字符串对象 String name="我爱你中国"; System.out.println(name); //方式二 //1.public String():创建一个空白字符串对象,不含有任何内容(几乎不用) String s1=new String(); System.out.println(s1); //2.public String原创 2022-02-18 21:01:40 · 3547 阅读 · 0 评论 -
java——三大特征,成员变量和局部变量的区别
封装面向对象的三大特征:封装,继承,多态什么是封装?隐藏显示细节,暴露出合适的访问方式封装实现的步骤一般对成员变量使用private(私有)关键字修饰进行隐藏,private修饰后该成员变量就只能在当前类中访问提供pubic修饰公开的getter、setter方法暴露其取值和赋值封装有什么好处加强了程序代码的安全性适当的封装可以提升开发效率,同时可以让程序更容易理解与维护JavaBean可以理解成实体类,其对象可以用于程序中封装数据标准JavaBean需满足如下要求原创 2022-02-18 20:39:10 · 141 阅读 · 0 评论 -
java——IDEA Degug工具
Debug工具IDEA自带的断点调试(排错)工具,可以控制代码从断电开始一行一行的执行,然后详细观看程序执行的情况。Debug工具基本使用步骤在需要控制的代码行左侧,点击以下,形成断点选择使用Debug方式启动程序,启动后程序会在断点暂停控制代码一行一行的往下执行...原创 2022-02-07 23:18:12 · 237 阅读 · 0 评论 -
java——冒泡排序
冒泡排序冒泡排序思想从头开始两两比较,把较大的元素与较小的元素进行交换每轮把当前最大的一个元素存入到数组但钱的末尾冒泡排序的实现步骤定义一个外部循环控制总共徐娅冒几轮(数组的长度-1)定义一个内部循环,控制每轮一次往后比较几个位置(数组长度-i-1)如果但钱位置的元素>后一个位置的元素值,两者交换。package com.itheima.hello;import java.util.Random;import java.util.Scanner;public class原创 2022-02-07 22:24:44 · 189 阅读 · 0 评论 -
java——Random类,猜数游戏
Random随机数类生成需要几步,具体是什么样的?导包:import java.util.Random;Random r=new Random();int data =r.nextInt(10);以下代码表示生成0~9的随机数,运行代码后随机生成7Random随机数如何生成65~91之间的随机数?65-91=>(0-26)+65int number=r.nsxtInt(27)+65;猜数游戏需求随机生成一个1~100之间的数据,提示用户猜测,猜大提示过大,猜小提示过小,知原创 2022-02-04 15:50:23 · 2149 阅读 · 0 评论 -
java——逻辑运算符,运算符优先级
System.out.println(false ^ true);//true System.out.println(true ^ false);//true System.out.println(true ^ true);//false System.out.println(false ^ false);//false短路逻辑运算符注意:逻辑“&”、逻辑或“|”:无论左边是false还是true,右边都要执行。运算符优先级...原创 2022-01-23 17:14:49 · 571 阅读 · 0 评论 -
java——类型转换
为什么要进行类型转换存在不同类型的变量赋值给其他类型的变量自动类型转换自动类型转换是什么样的?类型范围小的变量,可以直接赋值给类型范围大的变量表达式的自动类型转换在表达式中,小范围类型的变量会自动转换成当前较大范围的类型再运算byte、short、char→int→long→float→double注意事项:表达式的最终结构类型有表达式中的最高类型决定表达式中、byte、short、char是直接转换成int类参与运算的。面试题//面试题中会问i+j是说明数据类型 .原创 2022-01-23 16:22:38 · 133 阅读 · 0 评论 -
java——数据类型
数据类型的分类引用数据类型(除基本数据类型之外,如String)基本数据类型:4大类8种注意随便写的整数、小数字面默认说明类型?23,默认是int类型,加上L/l就是long类型的数据了。23.8,默认是double类型,加上F/f就是float类型了...原创 2022-01-20 11:03:33 · 286 阅读 · 0 评论 -
java-java基础语法
注释**注释是什么:**注释是写在程序中对程序进行解释说明的文字java程序中书写注释的方式有几种,各自有什么不同?单行注释://多行注释:/* */文档注释:/** */注释有什么特点java的注释不影响程序的执行,javac命令进行编译生成的class文件中不包含注释,class文件存放在out文件夹中。注释的快捷键字面量变量变量的作用:存储一个数据,可以改变里面存储的数据变量的格式:数据类型 变量名称=初始值;变量有哪些注意点变量要先声明再使用什么类型变量存储什原创 2022-01-19 13:42:49 · 136 阅读 · 0 评论