![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 68
莫说海无岸
你知道的越多,你不知道的越多
展开
-
BigDecimal累加求和数值为0问题:
双层循环中需要对bigdecimal类型数值进行累加要注意:累加之后要赋给新值(totalAmount)原创 2022-09-07 17:20:19 · 943 阅读 · 0 评论 -
java中关键字this和super的区别与理解:
文章目录this:this调用属性、方法:this调用构造器:super:super调用属性、方法:super调用构造器:this与super的区别总结:this:this理解为:当前对象 或 当前正在创建的对象可以调用的结构:属性、方法;构造器this调用属性、方法:先了解一下形参:形参的意义就是给属性赋值,我们是要给同名的属性赋值,这时候我们就把形参名和属性的名字写成一样,这样我们就知道我们传入的形参就是要给我们同名的属性去赋值的.在类的方法中,我们可以使用"this.属性"或"this原创 2021-01-29 21:56:05 · 1307 阅读 · 15 评论 -
一个例题:(遍历100以内所有的偶数并计数、求和)来理解java的三种循环结构(超详细):
一个例题:(遍历100以内所有的偶数并计数、求和)来理解java的三种循环结构(超详细):一.for循环 二.while循环 三.do-while循环在此之前先说明循环结构的四个要素:循环结构的四个要素(所有循环结构都是):①初始化条件②循环条件 -->是boolean类型的 返回值 true / false③循环体④迭代条件注意: 通常, ②中的条件返回false代表循环结束一.for循环 :1.for循环的结构:for(①;②;④){ ③;} 执行顺序①原创 2020-12-29 11:45:40 · 1283 阅读 · 2 评论 -
java二维数组转稀疏数组IO流存盘并写出到控制台后恢复为二维数组
一个类中声明两个方法方法1.将二维数组存入txt文件中方法2.读取txt文件并写出到新的二维数组中package sparseArray;import java.io.*;import java.util.ArrayList;import java.util.List;public class readwrite { /**\ * 将二维数组存入txt文件中 * @param array */ public static void save原创 2021-03-16 22:16:30 · 624 阅读 · 3 评论 -
JavaSE面向对象三大特性之一(封装性)
对封装性的理解:当我们创建一个类的对象以后,我们可以通过"对象.属性"的方式,对对象的属性进行赋值.这里赋值操作要受属性的数据类型和存储范围的制约.除此之外没有其他的制约条件.但是在实际问题中,我们往往需要给属性赋值加入额外的限制条件.这个限制条件就不能在属性声明时体现,我们只能通过方法进行限制条件的添加.同时我们需要避免用户再使用"对象.属性"的方式来进行对属性赋值.则需要将属性声明为私有的-----此时,针对于属性就体现了封装性.封装性的体现我们将类的属性私有化(private),同时提供公共原创 2020-12-02 17:30:38 · 245 阅读 · 2 评论 -
Java集合排序方法comparable和comparator的区别
文章目录为什么要用这两个接口(作用)?Comparable: ( 自然排序 ):默认从小到大排序:Comparator: ( 定制排序 ):区别总结:为什么要用这两个接口(作用)?答: 我们一般用"=="和equals()方法来比较基本数据类型的两个值的大小;现在我们有需求要比较两个对象的大小,而比较对象的大小实则是比较对象中属性的大小,这个时候我们就有对对象进行排序的需求,name该对象所在的类就要实现这两个接口然后重写接口中的抽象方法compareTo()和compare()来比较对象属性的大小从原创 2021-02-17 23:16:16 · 295 阅读 · 0 评论 -
String、StringBuffer、StringBuilder三者的区别与理解:
文章目录1.理解什么是不可变,什么是可变?2.为什么可变?3. StringBuffer、StringBuilder中的常用方法String: 不可变的字符序列;底层使用char[]存储StringBuffer: 可变的字符序列;线程安全的,效率低;底层使用char[]存储StringBuilder: 可变的字符序列;jdk5.0新增的,线程不安全的,效率高;底层使用char[]存储几个问题:1.理解什么是不可变,什么是可变?观察String类底层:public final class Str原创 2021-02-14 16:07:17 · 365 阅读 · 4 评论 -
java多线程的同步机制
文章目录方式一:同步代码块方式二:同步方法方式三:Lock锁synchronized 与 Lock的异同?说在前面:1.什么是线程同步?答: 处理多线程问题时,多个线程访问同一个对象,并且某个对象还想修改这个线程。这时候就需要线程同步。线程同步其实就是一种等待机制,多个需要同时访问此对象的线程进入这个对象的等待池形成队列,等待前面线程使用完毕,下一个线程再使用。2.为什么有线程同步机制(目的)?答: 解决线程安全问题3.什么是线程安全问题?答: 所谓线程安全指的是多个线程对同一资源进行访问时,原创 2021-02-14 01:10:41 · 445 阅读 · 4 评论 -
java创建多线程的四种方式
文章目录一、继承Thread类二、实现Runnable接口继承Thread类的方式与实现Runnable接口方式对比:三、实现Callable接口实现Callable接口的方式相对于实现Runnable接口的方式的优点:四、使用线程池1.什么是线程池?2.为什么要用线程池(好处)?3.怎么使用线程池?先理解三个问题: 1.什么是多线程?答:程序(program)是一段静态的代码,而进程(process)是正在运行的一个程序,而线程(thread)是进程的一条执行路径。多线程就是进程同时运行多条执行路原创 2021-02-13 00:17:42 · 637 阅读 · 2 评论 -
java中“==“和equals()的区别:这样答面试官直呼内行!
★ 为重点,面试中这样答就很完美~== 运算符:equals()方法:总结:(图):== 运算符:== :它是个运算符,“等于”可以使用在基本数据类型变量和引用数据类型变量中;★ 如果比较的是基本数据类型变量:比较两个变量保存的数据(值)是否相等。(类型不一定非要一样,除了boolean型与其他类型不能比,其他基本数据类型相互之间都能比);public class Test { public static void main(String[] args) { int a原创 2021-01-31 20:22:21 · 522 阅读 · 5 评论