java学习
文章平均质量分 74
红的黄的绿绿的_
这个作者很懒,什么都没留下…
展开
-
map集合封装bean对象问题
问题:map转bean时,string类型数据不能直接映射为localDateTime类型,报错信息为 `argument type mismatch`。解决方案:在自定义的 “将map value值映射为实体类中字段的方法” 中添加对于localDateTime类型数据的判断和手动映射。原创 2022-09-29 11:21:18 · 467 阅读 · 1 评论 -
异常
第一章 异常1.1 异常概念异常,就是不正常的意思。在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将受影响.在程序中的意思就是:异常 :指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常的方式是中断处理。异...原创 2020-03-12 12:06:42 · 156 阅读 · 0 评论 -
Collection集合方法使用练习
package com.company.collection;import java.util.*;/** * @Author: Zhao * @Date: 2020/3/9 11:07 * @Description: * 单列集合根接口:Collection * Collection子接口:List(元素有序、可重复)、Set(元素无序、不可重复) * List实现类:Arr...原创 2020-03-09 20:07:38 · 240 阅读 · 0 评论 -
Map集合
第一章 Map集合1.1 概述现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即java.util.Map接口。我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图。Collectio...原创 2020-03-08 22:12:30 · 179 阅读 · 0 评论 -
Debug追踪
Debug追踪使用IDEA的断点调试功能,查看程序的运行过程在有效代码行,点击行号右边的空白区域,设置断点,程序执行到断点将停止,我们可以手动来运行程序 2. 点击Debug运行模式程序停止在断点上不再执行,而IDEA最下方打开了Debug调试窗口Debug调试窗口介绍快捷键F8,代码向下执行一行,第九行执行完毕,执行到第10行(第10行还未执行)6. 切...原创 2020-03-08 22:08:53 · 386 阅读 · 0 评论 -
Collections集合工具类
1 Collections常用功能java.utils.Collections是集合工具类,用来对集合进行操作。部分方法如下:public static <T> boolean addAll(Collection<T> c, T... elements):往集合中添加一些元素。public static void shuffle(List<?> li...原创 2020-03-08 21:50:16 · 152 阅读 · 0 评论 -
Collection集合
day02【Collection、泛型】主要内容Collection集合迭代器增强for泛型教学目标 能够说出集合与数组的区别 说出Collection集合的常用功能 能够使用迭代器对集合进行取元素 能够说出集合的使用细节 能够使用集合存储自定义类型 能够使用foreach循环遍历集合 能够使用泛型定义集合对象 能够理解泛型上下限 能够阐述泛型通配符的作用第...原创 2020-03-08 21:41:09 · 171 阅读 · 0 评论 -
集合(Collection、Map)
1 集合概述集合:集合是java中提供的一种容器,可以用来存储多个数据。集合和数组既然都是容器,它们有啥区别呢?数组的长度是固定的。集合的长度是可变的。数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不一致。在开发中一般当对象多的时候,使用集合进行存储。2 集合框架JAVASE提供了满足各种需求的API,在使用这些API前,先了解其...原创 2020-03-08 19:01:04 · 397 阅读 · 0 评论 -
数据结构
1 数据结构有什么用?当你用着java里面的容器类很爽的时候,你有没有想过,怎么ArrayList就像一个无限扩充的数组,也好像链表之类的。好用吗?好用,这就是数据结构的用处,只不过你在不知不觉中使用了。现实世界的存储,我们使用的工具和建模。每种数据结构有自己的优点和缺点,想想如果Google的数据用的是数组的存储,我们还能方便地查询到所需要的数据吗?而算法,在这么多的数据中如何做到最快的插入...原创 2020-03-08 18:11:02 · 210 阅读 · 0 评论 -
泛型
1 泛型概述在前面学习集合时,我们都知道集合中是可以存放任意对象的,只要把对象存储集合后,那么这时他们都会被提升成Object类型。当我们在取出每一个对象,并且进行相应的操作,这时必须采用类型转换。大家观察下面代码:public class GenericDemo { public static void main(String[] args) { Collection coll =...原创 2020-02-23 18:22:16 · 135 阅读 · 0 评论 -
Iterator迭代器
1 Iterator接口在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,JDK专门提供了一个接口java.util.Iterator。Iterator接口也是Java集合中的一员,但它与Collection、Map接口有所不同,Collection接口与Map接口主要用于存储元素,而Iterator主要用于迭代访问(即遍历)Collection中的元素,因此Iterator对象也被称为...原创 2020-02-23 18:17:59 · 145 阅读 · 0 评论 -
面向对象3大基本特性-----封装、继承、多态
一、面向对象思想概述面向对象思想是一种程序设计思想,我们在面向对象思想的指引下,使用面向对象语言去设计、开发计算机程序。 这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。面向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算机事件的设计思想。它区别于面向过程思想,强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去操作实现。...原创 2020-02-18 12:46:59 · 227 阅读 · 0 评论 -
Java进阶(1)------Object类、常用API
主要内容Object类Date类DateFormat类Calendar类System类StringBuilder类包装类教学目标-[ ] 能够说出Object类的特点-[ ] 能够重写Object类的toString方法-[ ] 能够重写Object类的equals方法-[ ] 能够使用日期类输出当前日期-[ ] 能够使用将日期格式化为字符串的方法-[ ] 能够使用...原创 2020-02-14 17:39:19 · 113 阅读 · 0 评论 -
接口
接口相当于一种彻底抽象的类。接口体现的是一种规范-----要暴露出来供大家遵守,所以接口里的东西都要用public修饰,不管写不写,始终有public修饰,通常都不写。一、定义接口[修饰符] interface 接口名 extend 父接口1,父接口2······{ //成员变量。只有常量。始终会添加public static final修饰。通常不写。 //抽象方法。默认有p...原创 2020-02-12 13:23:53 · 150 阅读 · 0 评论 -
abstract修饰符
它只能修饰2个:方法和类。abstract和final互斥。一、抽象类抽象类与普通类的区别:有得有失–有得:得到一个新的功能,抽象类可拥有抽象方法。–有失:抽象类失去了 一个功能,创建对象。抽象类的主要作用:派生子类抽象类必须有构造器抽象类的作用:–定义变量,只能用它的子类的实例:向上转型–调用类方法和类变量–派生子类----主要目的二、抽象方法抽象方法...原创 2020-02-12 12:00:59 · 210 阅读 · 0 评论 -
final修饰符
final可以修饰变量(各种变量)、方法、类。final与abstract互斥:永远不能同时出现一、final修饰变量final修饰变量:该变量被附初始值之后不能被重新赋值。final修饰的变量必须被赋值,且只能赋值一次。1、final修饰成员变量非final的成员变量,程序员可以不显示指定初始值,系统会为之分配默认初始值。final的成员变量,程序员必须指定初始值。final...原创 2020-02-11 17:16:39 · 499 阅读 · 0 评论 -
单例模式
设计模式:对于一批经常出现的设计场景,前任总结出来的比较成功的设计。后面的人应该学习并模仿,从而提高代码质量。单例模式:在某些场景下,某些类只需要(只能)创建一个实例。比如系统的床喽窗口管理器,数据库引擎访问点,Java程序所在的JRE环境······都只要产生一个实例,此时应采用单例模式。如何设计单例模式?(1)隐藏构造器-----避免创建实例。(2)暴露一个static方...原创 2020-02-11 13:53:37 · 73 阅读 · 0 评论 -
static修饰符
static并不是静态的意思。static是类的意思,有static的成员属于类成员,没有static修饰的成员属于实例成员。static是否可以修饰局部变量-----局部变量不属于成员,因此不能用static修饰。static是否可以修饰外部类-----外部类不属于成员,因此不能用static修饰。static可修饰的成员:成员变量、方法、初始化块、内部类static成员...原创 2020-02-11 13:53:11 · 104 阅读 · 0 评论 -
equals方法
两个需要重写的方法:toString方法、equals方法==判断两个引用变量,要求两个引用变量指向同一个对象时,才会返回true。【默认的equals方法】:Object提供的equals方法,判断两个对象相等的标准与==是完全一样的。重写equals方法:根据业务规则来提供两个对象相等的标准。实际项目中,用来作为equals比较的关键成员变量,通常并不需要使用全部的成员变量-...原创 2020-02-11 12:31:58 · 611 阅读 · 0 评论 -
toString方法
两个需要重写的方法:toString方法、equals方法程序打印对象,或者把对象自动转为字符串时,实际上用的是该对象的toString方法【默认的toString方法】Object提供的toString方法返回:类名@hashCode方法返回值重写toString方法:class Apple{ private String color; private double weigh...转载 2020-02-11 12:30:59 · 276 阅读 · 0 评论 -
包装类
Java有8个基本类型:byte、short、int、long、char、float、double、boolean这8个基本类型不能当成对象使用,而且不能接受null值。为了解决上面问题,Java为8个基本类型提供了对应的包装类-----可将它们包装成对象。Byte、Short、Integer、Long、Charater、Float、Double、Boolean自动装箱:基本类型的...原创 2020-02-10 15:54:57 · 88 阅读 · 0 评论 -
Java总结-----3种类型4个修饰符5大成员
3种类型(类、接口、枚举)4个修饰符(private | protected | public 、final、static、abstract)5个成员(成员变量、构造器、方法、内部类、初始化块)原创 2020-02-10 11:48:24 · 421 阅读 · 0 评论 -
初始化块
[修饰符] { 各种语句}初始化块没有名字修饰符只能出现一个:static有static叫类初始化块(静态初始化块)无static叫实例初始化块(非静态初始化快)一、实例初始化块实力初始化块是“假象”,一个类在编译过后,实例初始化块就会消失------实例初始化块的代码会被还原每个构造器的所有代码之前。实例初始化块的作用:将多个构造器前面部分相同的代码可以提取到实例...原创 2020-02-10 11:18:02 · 125 阅读 · 0 评论 -
多态
一、多态变态:同一个类型的实例,在执行同一个方法,个别对象呈现出变异的行为特征。多态:同一个类型的多个实例,在执行同一个方法,呈现出多种的行为特征。为什么有多态?Java执行方法时,方法的执行是动态绑定的:方法总是执行该变量实际所指向对象的方法。向上转型:子类对象可以直接赋值给父类变量,自动完成。向下转型:父类变量赋值给子类变量,强制转换。(类型) 变量名;publ...原创 2020-02-07 18:45:05 · 117 阅读 · 0 评论 -
super关键字
一、super限定super限定:与this引用非常相似,super用于限定访问父类定义的实例变量或实例方法。super.父类定义的实例变量super.父类定义的实例方法(形参)class Base{ int age = 20; public void foo(String name) { System.out.println("执行foo方法,传入参数为:"+name);...原创 2020-02-05 18:15:43 · 87 阅读 · 0 评论 -
继承
一、理解继承苹果类继承了水果类老虎类继承了动物类Java继承(extends):是一种类与类之间的关系,是一种由一般到特殊的关系,子类是一种特殊的父类。子类(派生类)—小类父类(超类、基类)—大类子类实例完全可以当成父类实例来使用。二、继承语法[修饰符] class 类名 extends 父类{}说明:(1)Java是单继承,只能有一个直接父类(...原创 2020-02-05 17:02:39 · 106 阅读 · 0 评论 -
构造器详解
一、构造器规则(1)构造器用于初始化(2)构造器如何调用?必须用new来调用构造器,这样可以返回一个初始化完成的对象。(3)如果不为一个类提供构造器,系统会自动为该类提供无参数的构造器。二、构造器重载一个类中可以定义多个构造器(构造器名相同),必须要求形参列表不同。this引用:this紧跟一个.this调用:this紧跟一个()this调用代表调用同一个类中重载的构造器---...原创 2020-02-05 16:22:59 · 303 阅读 · 0 评论 -
封装
封装、继承、多态-------面向对象三大特征封装包含两方面意思:隐藏:隐藏内部实现细节暴露:将一些操作界面暴露出来。如果通过暴露的界面来操作对象,该对象的内部状态不会被破坏。简而言之,封装要求合理隐藏合理暴露。访问控制器:private(类访问权限):该修饰符修饰的成员,只能在该类中被访问。------彻底的隐藏不写(包访问权限):该修饰符修饰的成员,只能在该类及该类所在包...原创 2020-02-05 13:42:19 · 366 阅读 · 0 评论 -
包
不同公司完全可以定义同名的类。为了解决不同公司、不同项目的类名重复问题,Java印日“包”机制-----就是在类名前添加一个前缀。一、定义包Java程序为类定义包?在源代码中用 package 包名;将生成class文件放在对应的文件结构下。包名的命名规范:语法要求只要标识符即可。规范写法,公司域名倒写,再加项目名。一旦为类指定包名后,使用该类时应使用完整类名:包名+类名。...原创 2020-02-05 13:41:05 · 90 阅读 · 0 评论 -
变量详解
Java变量有且仅有成员变量和局部变量类中定义成员变量:类变量(有static)、实例变量(无static)方法中定义局部变量:形参、普通局部变量、代码块的局部变量判断变量:先看位置,然后看static一、局部变量局部变量:必须由程序员显示指定初始值,然后才能使用,否则编译报错–可能未初始化变量**。代码块的作用于很小:离开了代码块,代码块中的局部变量就失效局部...原创 2020-02-04 18:14:21 · 207 阅读 · 0 评论 -
方法二(递归、重载、传参机制)
三、递归方法递归方法:方法里调用自身——递归带来了因式循环递归要避免无限递归,一定要在某些可能出现的情况下,不在调用方法自身。难点:要保证递归一定能出现递归结束的条件。四、方法重载(overload)在同一个类中,有多个同名方法,但这多个方法的形参列表不同。口诀:两同一不同。修饰符不同不算重载;返回值类型不同也不算重载。当要确定一个方法时,仅有方法名是不够的,必须还有结合参数才能...原创 2020-02-03 18:56:21 · 192 阅读 · 0 评论 -
方法一(所属性、形参可变)
一、方法的所属性方法类似于函数。但与函数不同的是,方法不能独立存在,必须定义在类里面。定义在类中的方法。从逻辑上看,如果该方法有static修饰,该方法属于类本身,应该用类调用。如果该方法无static修饰,该方法属于对象本身。方法不能独立执行。方法一定要有调用者。如果调用同一个类中的方法,可以省略调用者,此时系统会添加默认的调用者。如果该方法是无static的方法,添加this作...原创 2020-02-03 14:09:13 · 183 阅读 · 0 评论 -
this关键字
this可以出现在非static的方法、构造器中。1、 this关键字出现在非static方法中this代表该方法的调用者(谁调用该方法,this就代表谁)。public class Pig{ String color; double weight; public void move() { System.out.println("其实猪跑得很快······"); } ...原创 2020-02-03 13:10:45 · 126 阅读 · 0 评论 -
类是引用型
类是引用类型,数组也是引用类型。引用类型的变量赋值只是将对象的首地址存入变量中。public class Dog{ //没有static的成员变量要用对象调用 String name; String color = "黄色"; int age; public void run() { System.out.println("狗在跑······"); {}publi...原创 2020-02-03 11:25:49 · 798 阅读 · 0 评论 -
使用类
类可以用来做什么?1、 定义变量所有类都是引用类型,所有类都可用于声明变量。2、调用static修饰方法或static修饰的变量。3、创建对象。new 构造器(参数)4、派生子类。对象可以用来做什么?1、调用无static修饰的成员变量2、调用static修饰的方法...原创 2020-02-03 11:06:54 · 131 阅读 · 0 评论 -
定义类
类:某一类对象的统称。相当于一个概念性的(不是具体存在的东西)。对象:现实中所能接触的各种“东西”。三句总诀:定义对象、创建对象、调用方法。一、定义类[修饰符] class 类名{//成员变量(field)//方法(method)//构造器(constructor)//内部类(nested class)//初始化块}-------类体类中的5大成员:↑修饰符:publ...原创 2020-02-02 18:45:02 · 944 阅读 · 0 评论 -
二维数组
其实只有一维数组,二维数组是假象。二维数组的本质是数组元素为一位数组的数组。原创 2020-02-02 13:05:07 · 89 阅读 · 0 评论 -
数组
数组(Array):可以一次定义得到多个类型相同、功能相似的变量。一、数组类型Java类型:基本类型(byte、short、int、long、float、double、char、boolean 共8个)、引用类型(数组、类、接口、枚举)基本类型添加一组方括号就变为数组类型。( int —> int[] ,元素类型 —> 数组类型)二、定义数组静态初始化:只指定元素,...原创 2020-02-02 12:56:01 · 199 阅读 · 0 评论 -
流程控制
顺序结构分支结构:根据具体情况做出判断。if条件switch分支:switch分支的表达式只能是byte、char、short、int、枚举、String。不能处理范围,if分支可以处理范围。循环结构:根据条件,让一个或者多个命令重复执行。while循环:循环条件执行次数 = 循环体执行次数 + 1do while循环:循环条件执行次数 == 循环体执行次数for循环:...原创 2020-02-01 17:19:28 · 123 阅读 · 0 评论 -
运算符
算术运算符:+、-、*、/、%、++、-- 共7个。int x = 30;int y = 18;// 30 - 17 + 17 / 2 + 32 - 31int z = x++ - --y + y++ / 2 + ++x - --x;System.out.println(x);//31System.out.println(y);//18System.out.pri...原创 2020-01-29 12:36:30 · 162 阅读 · 0 评论