
java
文章平均质量分 62
小乔不掉发
爱编程 爱生活
展开
-
Java 中对象的大小比较
我是目录:1、equals2、对象大小的比较:(1)实现 Comparable 接口(2)构造比较器(Comparator)1、equals所有的类都具备的能力(比较两个对象代表的是不是同一个实际事物)需要覆写 equals 方法才能实现public class EqualsDemo { public static void main(String[] args) { Student t1 = new Student("s1"); Student t2 = n原创 2021-03-28 11:13:17 · 1227 阅读 · 3 评论 -
Java IO详解
目录一、基础 IO二、文件操作:一、基础 IO1、IO 包括:(1)BIO:同步阻塞 IO(2)NIO:同步非阻塞 IO(3)AIO:异步非阻塞 IO2、IO 的读写方式:(IO 的本质就是对数据的读写操作)(1)本地文件 IO(2)网络 IO3、IO 的特性:(1)本质上是属于数据传输(2)涉及两个设备间数据的传输方向(只关注自己写的java程序)(3)数据流(数据在不同设备间流转)(4)java进程的 IO操作,对进程影响:① 阻塞 IO会导致进程在原创 2021-01-24 15:06:51 · 238 阅读 · 1 评论 -
易错总结:String 定义的那些字符串之间的比较
你是不是经常在做题的时候,会遇到这种类型的题:String s1 = “hello”;String s2 = “hel” + “lo”;Assert.assertTrue(s1 == s2);但是你又对 String 的定义不是那么的清晰小伙伴们,你们的福利来了,下面我将为你详细叙述:1、字符串在内存中的分配:2、代码中见实效:// true:都是常量池中的字面量 @Test public void test1(){// 测试通过 String s1 =原创 2021-01-03 16:24:02 · 210 阅读 · 0 评论 -
易错总结:int 和 Integer 的缠绵
你是不是经常在做题的时候,会遇到这种类型的题:int i1 = 128;Integer i2 = 128;Assert.assertTrue(i1 == i2);但是你又对 int 和 Integer 的区别不是那么的清晰小伙伴们,你们的福利来了,下面我将为你详细叙述两者的区别:1、int 和 Integer 在内存中的分配:1、int 类型 赋一个整数值,不管大小,都是在常量池中查找;如果有,返回引用,如果没有,创建再返回引用。2、Integer 类型 赋一个整数值,-128到12原创 2021-01-03 16:02:29 · 220 阅读 · 2 评论 -
JavaSE 最全学习大纲指南,你值得拥有
这个大纲里面的具体内容在我博客 Java 模块哦!!!想学习的小伙伴可以进入我的主页学习,如果有错误,欢迎大家纠正。到这里就结束了。。小伙伴们觉着有帮助的话,给个小小的赞呗!!...原创 2020-10-29 20:09:45 · 214 阅读 · 0 评论 -
详述Java中的异常
异常: 一、异常的解决方案:二、异常的基本用法:三、Java异常体系:四、自定义异常:所谓 异常 指的就是程序在 运行时 出现错误时通知调用者的一种机制我们平时把 System.out.println 拼写错了, 写成了 system.out.println. 此时编译过程中就会出错, 这是 "编译期 " 出错,可不是我们的异常错误哦!!而 运行时 指的是程序已经编译通过得到 class 文件了, 再由 JVM 执行过程中出现的错误.一、异常的解决方案:错误在代码中是客观存在的. 因此我们要让程序原创 2020-10-29 20:04:28 · 377 阅读 · 1 评论 -
#1024程序员节#活动勋章
#1024程序员节#活动勋章,想要获得原创 2020-10-24 14:52:50 · 307 阅读 · 0 评论 -
抽象类 和 接口 的异同
抽象类和接口:1、抽象类:2、接口:3、抽象类和接口的区别:1、抽象类:(1) 含有abstract修饰符的class即为抽象类,在方法前加上 abstract 关键字, 表示这是一个抽象方法. 同时抽象方法没有方法体(没有 { }, 不能执行具体代码)abstract class Shape { abstract public void draw(); }(2)abstract 类不能创建实例对象Shape shape = new Shape(); // 编译出错Error:(原创 2020-10-24 14:47:21 · 332 阅读 · 0 评论 -
Java 中的内部类
内部类分类:1、实例内部类2、静态内部类3、本地内部类:4、匿名内部类1、实例内部类实例内部类:你可以把他看成是外部类的实例的成员/方法(1)实例内部类当中,是不可以定义静态的成员变量的但是,如果非要定义,那么只有一个办法(加 final,给初始值)(2)如何实例化内部对象?OuterClass.innerclass2 innerclass = outerClass.new innerclass2();(3)如何访问和外部类同名的属性?面试问题: 实例内部类,是否有额外的开销?实例内部类当原创 2020-10-20 18:37:30 · 233 阅读 · 0 评论 -
String 在Java中的用法详解
认识String类 和 String的使用1、创建字符串:(1)常见的构造String的方式:(2)String的基本概念:1、创建字符串:(1)常见的构造String的方式:① 方式一:String str = "You are very cool!";② 方式二:String str = new String("You are very cool!");③ 方式三:char[] array = {'c','o','o','l'};String str = new String(ar原创 2020-10-18 23:05:34 · 8938 阅读 · 1 评论 -
Java面向对象三大特性:继承、封装、多态
继承:有的时候客观事物之间就存在一些关联关系,那么在表示成类和对象的时候也会存在一定的关联。例如 猫它是动物,就具有动物的基本属性,当我们定义猫这个类时,有些动物属性我们没必要重复定义,只需要让猫这个类继承动物这个类就可以了。(代码的复用,降低了代码冗余)1、表现形式: A extends BA: 子类 、 派生类B: 父类 、 基类 、 超类2、子类继承了父类的什么?(BAT 面试)除 构造方法 外的所有东西 !!!3、 this 和 super 关键字的区别?(面试)(1)this原创 2020-10-11 11:13:27 · 630 阅读 · 5 评论 -
重载和重写的区别???
首先什么是 重载 :1、个数不同 :public class OverLoad { public static int add (int a,int b) { return a + b; } public static int add (int a,int b,int c) { return a + b + c; } public static void main(String[] args) { int a =原创 2020-10-10 19:31:32 · 201 阅读 · 1 评论 -
类 和 对象
我相信应该会有很多人像我一样,在学校学习的时候都是从C语言开始,然后着手开始学习Java, c语言 其实和 Java 区别挺大的:C语言 是 面向过程 的,关注的是 过程 ,分析出求解问题的步骤,通过函数调用逐步解决问题。JAVA 是基于 面向对象 的,关注的是 对象 ,将一件事情拆分成不同的对象,靠对象之间的交互完成。面向过程 注重的是 过程 ,在整个过程中所涉及的行为,就是功能。面向对象 注重的是 对象 ,也就是参与过程所涉及到的主体。是通过逻辑将一个个功能实现连接起来。面向过程: 1.把冰箱原创 2020-10-03 10:12:54 · 128 阅读 · 0 评论 -
我们那些年对 this 的误解
什么是 this ,这个问题也许经常会有人问到。很多人的回答是: this 是代表当前对象那么这个回答对不对呢,我们往下走:首先我们得知道一个对象的产生分为两步:1、为对象分配内存(引用)2、调用合适的构造方法那么可能又有人要问了,什么是构造方法:构造方法: 没有返回类型 ,且与类名一样话不多说,直接上代码:class Student { private String name; public Student(String name) { //构造方法 th原创 2020-10-02 14:01:36 · 238 阅读 · 0 评论 -
优化冒泡排序
问题:给定一个整型数组, 实现冒泡排序 (升序排序)一般我们写出来的是这个代码:public static void bubbleSort(int[] array) { for(int i = 0;i < array.length -1;i++) { if(array[i] > array[i+1]) { int temp = array[i]; array[i] = array[i+1原创 2020-10-01 10:06:50 · 405 阅读 · 0 评论 -
Java 中的四种数组拷贝方式(深拷贝和浅拷贝)
1、当然是我们最熟悉的 for 循环了package test24;import java.util.Arrays;public class Array2 {public static int[] copy1(int[] array) { int[] array2 = new int[array.length]; System.out.println("拷贝前:"+Arrays.toString(array2)); for(int i = 0;i<原创 2020-09-30 23:45:07 · 614 阅读 · 0 评论 -
“小和尚的游戏”- -汉诺塔
相传山上有个庙,庙里有个小和尚和老和尚。一天小徒弟闲来无事,就去找老和尚,问有没有什么可以锻炼智力的游戏,老和尚就给小和尚准备了三根柱子,说:首先第一根柱子上只有一个碗,你吧这个碗挪到第三个柱子上,小和尚很轻松的就完成了;然后老和尚又在第一根柱子上放了三个碗,而且这三个碗是按从小到大依次放,他这次要求小和尚把这三个碗从第一根柱子挪到第三根柱子上,但是挪动的过程中得保证小碗在大碗之上,且每次只能移动一个碗,小和尚思索片刻后,完成了目标;但是最后老和尚说我要是给你64个碗呢? 小和尚陷入了思考。聪明的你知道怎么原创 2020-09-29 23:37:37 · 2000 阅读 · 2 评论 -
何为 递归 ?
递归: 递 + 归 的操作将大问题化解成小问题的过程。为什么可以化解,是因为大问题的处理方式和小问题的处理方式是一样的。1、要调用自己本身;2、要有一个趋于终止的条件。下面以一个求阶乘的例子简单介绍一下:public class recursion { public static int fac(int n) { if(n == 1){ return 1; //终止条件 } return n * fac(n-1);原创 2020-09-27 14:54:33 · 243 阅读 · 0 评论 -
计算一个数的二进制数中1的个数
package test24;import java.util.Scanner;public class Tesk {public static void main(String[] args) { System.out.println("请输入一个数: "); Scanner input = new Scanner(System.in); int num = input.nextInt(); int count = 0; for(int i = 0;i <原创 2020-09-26 09:35:55 · 240 阅读 · 0 评论 -
阶乘求和
package test24;import java.util.Scanner;public class SentenceStructure { public static void main(String[] args) { System.out.println("请输入一个数字,表示 1!+2!+3!+…… 加到几:"); Scanner scan = new Scanner(System.in);// 从键盘输入 int num = scan原创 2020-09-25 17:36:14 · 1839 阅读 · 0 评论 -
Java中的运算符
1、算术运算符基本四则运算符: + - * \ %(1)规则比较简单,需要注意的是除法:① int / int 的结果还是 int,要想结果中有小数需要使用 double 类型② 0 不能用来做除数(2)在Java中,% 表示取余,不仅可以对int 取余,也可以对double 取余...原创 2020-09-25 12:54:31 · 372 阅读 · 0 评论 -
Java初识 (数据类型)
有人说Java是一种简单的语言,实际上没有简单的语言,只有相对简单。Java是一种面向对象的语言学习Java,首先得了解 JDKJDK: Java开发者工具JRM: Java运行环境JVM: Java虚拟机Java 中的数据类型:1、基本数据类型:① int :整型,4个字节包装类:Integerint num = 10;//定义一个整型变量System.out.println(num);② long:长整型,8个字节包装类: Longlong num = 10L;//初原创 2020-09-23 23:14:28 · 617 阅读 · 0 评论