随笔分类 - Java学习笔记
摘要:需要便利不同子文件夹,所以用递归方法最简单。递归函数中需要完成的内容: 1> 判断传递参数是文件还是文件夹 2> 如果参数是文件则输出文件路径 3> 如果传递参数是目录则遍历该目录下每一个文件及目录,并且对其调用递归方法 代码如下:
阅读全文
摘要:HashSet<E> 泛型E必须重写hashCode方法,否则会导致add结果与预期不符 如 若不重写hashCode()则输出为2,若重写hashCode()则输出为1。为什么会这样? 查看HashSet的的源码会发现,HashSet的Contains方法,和add方法,其实是引用了HashMap
阅读全文
摘要:根据contains的描述: 既然System.out.println(r3.equals(rectObject)); System.out.println(rectObject.equals(r3));返回在rectObject为r3时返回值都为true;为何set.contains(r3)的返回
阅读全文
摘要:代码主要实现了重写TreeMap的比较器然后根据Map Value进行排序的功能,具体思路: 比较器默认比较的是Key值,正常情况下重写Comparator也是重写比较Key值,考虑到当Map确定时,可以通过Map.get(Key)的方法确定Value的值,此时比较value的值实现TreeMap按
阅读全文
摘要:不可变量包括:基本类型及其包装类还有String 可变量:除可变量之外的引用类型都是可变量 主要区别: 1.在作为参数传递时 不可变量传递值,可变量传递引用(reference) 2.被final修饰时 不可变量不能重新赋值, 可变量不能重新指定引用,单其引用指向的值可以改变
阅读全文
摘要:1.Object类 Object类是java语言中所有类的根,所有的类都继承了Object类,拥有Object类的属性和方法。 1.1 clone() 返回对象的拷贝(克隆),对于基本类型会进行数值拷贝,对于引用类型只拷贝他的引用reference,也成为浅拷贝 1.2 equals(Object
阅读全文
摘要:final 1.修饰属性 final修饰基本类型及String类型等不可变量时,其指向的值不可改变 final修饰数组,对象等引用类型时,其引用(句柄)的指向,不能改变,即其不能为其重新指定引用,单其所指向内容的值是可以改变的 2.修饰方法 final修饰方法时,该方法不能被重写(override)
阅读全文
摘要:面向对象三大特性:封装、继承、多态 1.方法重写 1.1方法重写(Override)区别于方法重载(Overloading): >方法重写是在子类中对父类方法进行方法体的重写,要求重写后返回值形参与父类一致,要求同名同参 >方法重载是指在类内部对方法的形参进行改写,要求同名异参 1.2方法重写与多态
阅读全文
摘要:Java中只有值传递,基本类作为参数传递并在方法中修改后不会对基本类型的变量造成影响,引用类传递的是句柄或者说对象的指针,在方法中进行操作会对引用类型产生影响。或者理解为,不可变类传递时传递的是变量指向的值,可变类传递时传递的是句柄、指针、地址。以String 和StringBuffer举例 代码输
阅读全文
摘要:1.面向对象的三大特征: 封装、继承,多态 OOP ObjectOriented Programming POD面向过程:Procedure Orien Programming 2.对象是类的实例 类包括成员变量(属性),和成员方法(函数) 3.类创建步骤: 定义类、编写类的属性、编写类的方法 3.
阅读全文
摘要:其实是10进制到16进制的转换 1.首先确定转换成16进制后有几位 2.根据位数创建String数组 3.算出每一位对应的16进制表达,存入数组 4.一次输出数组元素 核心是这行代码,用到知识点: >三目运算符 >基本数据类型的自动转换和强制转换char->int,int->char >String
阅读全文
摘要:1.循环语句 -循环语句主要有:for、while、dowhile、foreach -循环包含四部分:初始条件,循环判断,循环自增、语句块,应注意循环自增变量与语句块的位置关系不同会导致程序结果不同; -continue语句表示继续下一次循环 -break语句表示跳出循环体
阅读全文
摘要:1.基本数据类型 基本数据类型包括:byte,short,int,long,char,float,double,boolean八种,各类型所占空间与初始值如下表所示 boolean的长度没有明确定论,组成数组时boolean占1Byte,单独定义时占4个Byte 2.类型转换 2.1自动转换 -容量
阅读全文
摘要:1.“|”运算符:不论运算符左侧为true还是false,右侧语句都会进行判断,下面代码 左侧为true,右侧为true,输入出结果为: 2.“||”运算符:若运算符左边为true,则不再对运算符右侧进行运算,如下代码: 左侧为true,所以没有判断运算符右侧语句,输出结果为: 3.&运算符与|运算
阅读全文
摘要:包名统一小写,如环境配置中CLASSPATH值:“tools.jar”“dt.jar” 常量名统一大写,如MAX等 类名,接口名采用帕斯卡命名法:LikeThisName 变量名,方法名采用驼峰命名法:likeThisName
阅读全文

浙公网安备 33010602011771号