java学习
jQueryZK
本科在校软件专业学生,正在奔向程序员的道路上
展开
-
Java学习-详谈Java异常和异常处理
1、异常1.1异常概念异常,就是不正常的意思。在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将 受影响.在程序中的意思就是:异常 :指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。 ( 异常机制其实是帮助我们找到程序中的问题 )在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常的方式是中断处理。2、异常体系2.1Throwable类异常的根类: java.lang.T原创 2020-09-13 17:14:17 · 3673 阅读 · 1 评论 -
Java学习-详谈Map集合(HashMap、LinkedHashMap、TreeMap)
1、Map集合1.1Map集合介绍现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等, 这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即 java.util.Map 接 口。1.2Map继承关系(1):AbstractMap是一个抽象类, 继承Map,实现了Map的大部分API,它的作用Map的实现类继承它,可以减少重复编码!(2):SortedMap是一个接口 继承Map,自己也封装一下方法,Sorted原创 2020-09-12 15:52:02 · 2819 阅读 · 0 评论 -
Java学习-Collections工具类和Java常见的几种比较器
1、Collections集合工具类1.1基本介绍java.utils.Collections 是 Java 提供的一个操作 Set、List 和 Map 等集合的工具类。Collections 类提供了许多操作集合的静态方法,借助这些静态方法可以实现集合元素的排序、查找替换和复制 等操作。1.2Collections常用方法排序(正向和逆向)Collections 提供了如下方法用于对 List 集合元素进行排序。void reverse(List list):对指定 List 集合元素进行原创 2020-09-10 16:26:38 · 3399 阅读 · 0 评论 -
Java学习-详谈Set集合(HashSet、TreeSet、LinkedHashSet)
1、Set接口java.util.Set 接口和 java.util.List 接口一样,同样继承自 Collection 接口,它与 Collection 接口中的方法基本一致,并没有对 Collection 接口进行功能上的扩充,只是比 Collection 接口更加严格了。与List接口不同的是, Set 接口中元素无序,并且都会以某种规则保证存入的元素不出现重复。1.继承于Collection接口,具有增删查改的方法!2.AbstractCollection抽象类,实现了Collection原创 2020-09-09 17:07:40 · 3235 阅读 · 0 评论 -
Java学习-详谈List集合(ArrayList、LinkedList、Vector和Stack)
1.List接口介绍java.util.List 接口继承自 Collection 接口,是单列集合的一个重要分支,习惯性地会将实现了 List 接口的对象称为List集合。List集合有以下特点:在List集合中允许出现重复的元素(通过元素的equals方法来比较是否为重复的元素)所有的元素是以一种线性方式进行存储的它是一个带有索引的集合,在程序中可以通过索引来访问集合中的指定元素List集合的元素有序,即元素的存入顺序和取出顺序一致2.List接口中常用的方法List作为Colle原创 2020-09-03 13:12:19 · 4165 阅读 · 0 评论 -
Java学习-详谈泛型
泛型1.1泛型概述泛型:即 参数化类型 。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?参数化类型:就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用(调用)时传入具体的类型(类型实参)。简而言之:( 泛型就是可以在类或方法中预支地使用未知的类型。一般在创建对象时,将未知的类型确定具体的类型。当没有指定泛型时,默认类型为Object类型)泛型的本质:是为了参数化类型(在不创建新的类型原创 2020-09-02 18:13:12 · 4017 阅读 · 0 评论 -
Java学习-Collection集合和Iterator迭代器
1、Collection集合1.1集合概述集合:集合是java中提供的一种容器,可以用来存储多个数据。集合和数组既然都是容器,它们有啥区别呢?数组的长度是固定的。集合的长度是可变的。数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不一致。在开发中一般当对象多的时候,使用集合进行存储。1.2 集合框架JAVASE提供了满足各种需求的API,在使用这些API前,先了解其继承与接口操作架构,才能了解何时采用哪个类,以及类之间如何彼此合作,从而达到灵原创 2020-08-31 17:38:56 · 4230 阅读 · 0 评论 -
Java学习-Random类和Math类
Random类1 、什么是Random类此类的实例用于生成伪随机数Random类中实现的随机算法是伪随机,也就是有规则的随机。在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。相同种子数的Random对象,相同次数生成的随机数字是完全相同的。也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第N次生成的随机数字也完全相同。这点在生成多个随机数字时需要特别注意。(注意:种子数只是随机算法的起源数字,和生成的随机数字的原创 2020-08-30 20:44:32 · 4262 阅读 · 0 评论 -
Java学习-详谈String类及其常用方法
String类1.String类的概述java.lang.String 类代表字符串。Java程序中所有的字符串文字(例如 “abc” )都可以被看作是实现此类的实例。类 String 中包括用于检查各个字符串的方法,比如用于比较字符串,搜索字符串,提取子字符串以及创建具有翻 译为大写或小写的所有字符的字符串的副本特点:字符串不变:字符串的值在创建后不能被更改。String s1 = "abc"; s1 += "d"; System.out.println(s1); // "abcd" /原创 2020-08-30 19:50:35 · 3917 阅读 · 0 评论 -
Java学习-详谈数组Array和数组工具类Arrays
1、数组的定义和访问1.1容器概述案例分析: 现在需要统计某公司员工的工资情况,例如计算平均工资、找到最高工资等。假设该公司有50名员工,用前面所学 的知识,程序首先需要声明50个变量来分别记住每位员工的工资,然后在进行操作,这样做会显得很麻烦,而且错 误率也会很高。因此我们可以使用容器进行操作。将所有的数据全部存储到一个容器中,统一操作。容器的概念: 容器是将多个数据存储到一起,每个数据称为该容器的元素。1.2数组的概念数组概念: 数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致。原创 2020-08-30 17:29:25 · 4065 阅读 · 0 评论 -
Java学习-static关键字、final关键字和代码块
一、static关键字1、static关键字的基本概念 被static关键字修饰的不需要创建对象去调用,直接根据类名就可以去访问。也就是说,被 static 修饰的成员属于类,不属于单个这个类的某个对象,被类中所有对象共享,可以并且建议通过类名调用。被static 声明的成员变量属于静态成员变量,静态变量 存放在 Java 内存区域的方法区。 方法区与 Java 堆一样,是各个线程共享的内存区域,它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。...原创 2020-08-18 19:22:04 · 7522 阅读 · 1 评论 -
Java学习-抽象类(abstract)和接口(interface)
1、什么是抽象类随着继承层次中一个个新子类的定义,类变得越来越具体,而父类则更为一般,更通用。类的设计应该保证父类和子类能够共享特征,有时将一个父类设计得非常抽象,以至于它没有具体的实例,这样的类叫做抽象类。例如:上面动物移动方式没法在动物类中去写,所有动物类和其方法都是抽象化处理,即不写具体的实现抽象类的特点:用abstract关键字来修饰类时,这个类叫做抽象类; 含有抽象方法的类必须被声明为抽象类 抽象类代表一种抽象的对象类型 抽象类不能被实例化。抽象类是用来作为父类被继承原创 2020-08-17 12:39:38 · 7985 阅读 · 0 评论 -
Java学习-String对象不同方式创建的比较
1、String对象的创建1.1字面量创建String对象String s1 = "abc";//字符串常量池中添加"abc"对象,返回引用地址给s1对象String s2 = "abc";//通过equals()方法判断常量池中已有值为abc的对象,返回相同的引用System.out.println(s1==s2);//true 所以s1==s2String s5 = "x"+"y";//经过JVM(Java虚拟机)优化,直接在常量池中添加"xy"对象1.2new创建St.原创 2020-08-13 19:11:22 · 9278 阅读 · 0 评论 -
Java学习-“==“操作符和equals()方法
1、== 操纵符1.1基本类型比较值:只要两个变量的值相等,即为trueint a = 5;int b = 6;if(a==b){ System.out.println("a与b相等");}else{ System.out.println("a与b不相等");}1.2引用类型比较引用(是否指向同一个对象即是否指向同一个堆内地址)只有当两个引用指向同一个堆内地址时,==才返回truepackage com.zhukun;class Person{ pu原创 2020-08-13 17:26:56 · 9843 阅读 · 1 评论 -
Java学习-基础数据类型和包装类(Wrapper)
1、包装类(Wrapper)1.1基础数据类型和包装类针对八种基本定义相应的引用类型——包装类(封装类) 有了类的特点,可以调用类中的方法基础数据类型包装成包装类的实例——装箱通过包装类的构造器实现:int i =500; Integer t = new Integer(i); 通过字符串参数构造包装类对象:Float f = new Float("4.56");//如果字符串里不是数字会报错获得包装类对象中包装的基本类型变量——拆箱调用包装类的.XXXValue() 方法:In原创 2020-08-13 16:02:17 · 9586 阅读 · 0 评论 -
Java学习-类型转换(Casting)
1、对象类型转换(Casting)1.1基础数据类型转换Casting:自动类型转换:小的数据类型可以自动转换成大的数据类型(如 long g = 20 ; double d = 12.0f) 强制类型转换:可以把大的数据类型强制转换成小的数据类型(如 float f = (float)12.0 ; int a = (int)1200L)2.2对Java对象的强制类型转换称为造型从子类到父类的类型可以自动进行 从父类到子类的类型转换必须通过造型(强制类型转换)实现 无继承关系的引用...原创 2020-08-13 15:27:19 · 9663 阅读 · 0 评论 -
Java学习-详谈最高层父类-Object类
目录1、Object类2、Object类中的主要方法2.1对象相等判断方法:equals()2.2 hashCode()方法2.3取得对象信息的方法:toString()4、instanceof操作符1、Object类Object类是所有Java类的根父类 (多层继承中的最高层的父类) 如果在类的声明中未使用extends关键字指明其父类,则默认父类为Object类比如:public class Person{ } 等价于:public class Per...原创 2020-08-12 17:19:32 · 10726 阅读 · 4 评论 -
Java学习-多态性
1、面向对象三特征之一:多态性1、多态性,是面向对象的最重要的概念,在java中有两种体现:方法的重载(overload)和重写(override) 对象的多态性 ------可以直接应用在抽象类和接口上2、Java引用变量有两个类型:编译时的类型和运行时的类型:编译时类型由声明该变量时使用的类型决定。 运行时类型由实际赋给该变量的对象决定。若编译时类型和运行时类型不一致,就出现多态(Polymorphism)-------这个多态就是对象的多态子类对象的实例化过程:2、对象原创 2020-08-12 11:38:09 · 9676 阅读 · 1 评论 -
Java学习-方法的重写(覆盖)和重载
1、方法重写(Overide)1.1什么是方法重写?1.2重写规则1.3重写注意事项2、方法重载(overload)2.1什么是方法重载2.2重载规则3、方法重写和方法重载的区别1、方法重写(Overide)1.1什么是方法重写?在Java程序中,类的继承关系可以产生一个子类,子类继承父类,它具备了父类所有的特征,继承了父类所有的方法和变量。 子类可以定义新的特征,当子类需要修改父类的一些方法进行扩展,增大功能,程序设计者常常把这样的一种操作方...原创 2020-08-10 18:05:29 · 10314 阅读 · 1 评论 -
Java学习-继承、super关键字
1、引例假如现在有四个类它们的成员属性分别为:学生类:姓名,性别,年龄,学校 教师类:姓名,性别,年龄,学科 工人类:姓名,性别,年龄,工种 农民类:姓名,性别,年龄,收入 对于上面的四个类我们在实际写代码的时候会发现,发我在重复性地写一些代码比如(姓名、性别、年龄)是这四个类共有的成员属性。这时候我们就可以建一个person类把(姓名,性别,年龄)作为它的成员属性,而上面四个类通过继承这个person类实现对共有的成员属性的调用以提高代码的复用性2、继承2.1 概述...原创 2020-08-10 16:34:25 · 10160 阅读 · 1 评论 -
Java学习-访问权限控制
Java学习-访问权限控制1、为什么要有访问权限控制?2、包:库单元3、Java访问权限修饰词1、为什么要有访问权限控制?访问控制(或隐藏具体实现)与“最初的实现并不恰当”有关。 所有优秀的作者,包括那些编写软件的程序员,都清楚其著作的某些部分直至重新创作的时候才变得完美,有时甚至要反复重写多次。如果你把一个代码段放到了某个位置,等过一会儿回头再看时,有可能会发现有更好的方式去实现相同的功能。这正是重构的原动力之一,重构即重写代码,以使得它更可读、更易理解,并因此而更具可维...原创 2020-08-08 23:12:38 · 9380 阅读 · 1 评论 -
Java学习-类的隐藏机制(封装性)
Java学习-类的隐藏机制(封装性)1、封装的含义2、类的setXXX 和 getXXX3、this关键字4、总结![在这里插入图片描述](https://img-blog.csdnimg.cn/20200808174303429.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDI3OTE3OA==,size_16,color原创 2020-08-08 18:16:47 · 9933 阅读 · 1 评论