摘要:1.1. java虚拟机整数 在java虚拟机中整数有byte、short、int、long四种 分别表示 8位、16位、32位、64位有符号整数。整数使用补码表示。 所以我们先了解一下原码和反码。 1.1.1. 原码 所谓原码就是符号位加上数字的二进制表示,int为例,第一位表示符号 (0正数 1
阅读全文
摘要:Map中的key:可以无序的、不可重复的,使用Set存储所有key >所在的类必须要重新equals()和hashCode()方法 因为key必须不可重复 (以HashMap为例) Map中的value:无序的、可重复的,使用Collection存储所有value >value所在的类要重写equa
阅读全文
摘要:/** Set框架结构 Collection接口:单列集合,用于存储一个一个的数据 Set接口 存储无序的 不可重复的数据 --》高中将的集合 HashSet 作为Set接口的主要实现类 线程不安全的 可以存储 null 1、无序性:不等于随机性。存储的数据在底层数组中并非按照索引的顺序添加。而是根
阅读全文
摘要:| Map:双列数据,用于存储key-value对的数据 类似于高中的函数 y=f(x) | HashMap:作为Map的主要实现类;线程不安全,效率高:存储null的key和value | LinkedHashMap:保证在遍历map元素时,可以按照添加的顺序实现遍历。 原因:在原有的HashMa
阅读全文
摘要:package com.yuteng.stack; /** @version 1.0 @author: 余腾 @date: 2021-07-26 11:09 */ public class LinkedStackDemo { public static void main(String[] args
阅读全文
摘要:package com.yuteng.stack; import java.util.Scanner; /** @version 1.0 @author: 余腾 @date: 2021-07-26 10:34 */ public class ArrayStackDemo { public stati
阅读全文
摘要:package com.yuteng.linkedlist; import java.util.Stack; /** * @version 1.0 * @author: 余腾 * @date: 2021-07-22 14:54 */ public class SingleLinkedListDemo
阅读全文
摘要:package com.yuteng.linkedlist; /** * @version 1.0 * @author: 余腾 * @date: 2021-07-22 14:54 */ public class SingleLinkedListDemo { public static void ma
阅读全文
摘要:package com.yuteng.linkedlist; /** * @version 1.0 * @author: 余腾 * @date: 2021-07-22 14:54 */ public class SingleLinkedListDemo { public static void ma
阅读全文
摘要:package com.yuteng.linkedlist; /** * @version 1.0 * @author: 余腾 * @date: 2021-07-22 14:54 */ public class SingleLinkedListDemo { public static void ma
阅读全文
摘要:package com.yuteng; import org.junit.Test; import java.util.ArrayList; import java.util.Collection; /** * @version 1.0 * @author: 余腾 * jdk5.0新增了foreac
阅读全文
摘要:通过集合的iterator()方法生成迭代器,迭代器的方法 package com.yuteng; import org.junit.Test; import java.util.ArrayList; import java.util.Arrays; import java.util.Collect
阅读全文
摘要:Collection集合中的一些方法的使用 package com.yuteng; import org.junit.Test; import java.util.*; /** * 一、集合框架的概述 * 1 集合、数组都是对多个数据进行存储操作的结构,简称Java容器。 * 说明:此时的存储主要指
阅读全文
摘要:数组模拟环形队列的思想 设计思路 front变量的含义做一个调整:front就指向队列的第一个元素,也就是说arr[front]就是队列的第一个元素 front 的初始值改变为0 rear变量含义的调整:rear指向队列的最后一个元素的后一个位置。因为我希望空出一个空间作为约定 rear的初始值改变
阅读全文
摘要:数组模拟队列代码实现(不是环形队列目前只能存取一次) package com.yuteng.queue; import java.util.Scanner; /** * @version 1.0 * @author: 余腾 * @date: 2021-07-21 10:16 */ public cl
阅读全文
摘要:二维数组转换为稀疏数组与稀疏数组转换为原始二维数组的代码如下 package com.yuteng; /** * @version 1.0 * @author: 余腾 * @date: 2021-07-21 09:23 */ public class SparseArray { public sta
阅读全文
摘要:程序(program) 是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。 进程(process) 是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期 如:运行中的QQ,运行中的MP3播放器 程序是静态的,进程
阅读全文
摘要:异常:在Java语言中,将程序执行中发生的不正常情况称为“异常”。 (开发过程中的语法错误和逻辑错误不是异常).Java程序在执行过程中所发生的异常事件可分为两类:Error、Exception Error: Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等严重情况。比如:Sta
阅读全文
摘要:自定义一个自己的业务异常 具体代码如下 @EqualsAndHashCode(callSuper = true) @Data public class ServiceException extends RuntimeException { private Integer code; private
阅读全文
摘要:原理 选择一个关键值作为基准值。比基准值小的都在左边序列(无序的),比基准值大的都在右边(无序的)。一般选择序列的第一个元素。 一次循环:从后往前比较,用基准值和最后一个值比较,如果比基准值小的交换位置,如果没有继续比较下一个,直到找到第一个比基准值小的值才交换。找到这个值之后,又从前往后开始比较,
阅读全文
摘要:创建一个长度为6的int型数组,要求取值为1-30,同时元素值各不相同 方法一 /** * @version 1.0 * @author: 余腾 * @date: 2021-07-01 10:07 */ public class Test { public static void main(Stri
阅读全文
摘要:一:与运算符(&) 运算规则: 0&0=0;0&1=0;1&0=0;1&1=1 即:两个同时为1,结果为1,否则为0 例如:3&5 十进制3转为二进制的3:0000 0011 十进制5转为二进制的5:0000 0101 结果:0000 0001 →转为十进制:1 二:或运算(|)运算规则: 0|0=
阅读全文
摘要:二进制 Java整数常量默认是int类型,当用二进制定义整数时,其第32位是符号位;当是long类型时,二进制默认占64位,第64 位是符号位 二进制的整数有如下三种形式: 原码:直接将一个数值换成二进制数。最高位是符号位 负数的反码:是对原码按位取反,只是最高位(符号位)确定为1 负数
阅读全文
摘要:常用的构造方法 方法名说明public String()创建一个空白字符串对象,不含有任何内容public String(char[] chs)根据字符数组的内容,来创建字符串对象public String(byte[] bys)根据字节数组的内容,来创建字符串对象String s = “abc”;
阅读全文
摘要:Java中Static关键字的四种用法 在java的关键字中,static和final是两个我们必须掌握的关键字。不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构。下面我们先来了解一下static关键字及其用法。 static关键字 1.修饰成员变量
阅读全文
摘要:Java中private、protected、public和default的作用范围和区别 public: 具有最大的访问权限,可以访问任何一个在classpath下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。 protected: 主要的作用就是用来保护子类的。它
阅读全文
摘要:类和对象的理解 客观存在的事物皆为对象 ,所以我们也常常说万物皆对象。 类 类的理解 类是对现实生活中一类具有共同属性和行为的事物的抽象 类是对象的数据类型,类是具有相同属性和行为的一组对象的集合 简单理解:类就是对现实事物的一种描述 类的组成 属性:指事物的特征,例如:手机事物(品牌,价格,尺寸)
阅读全文
摘要:Java的内存划分作用、和内存的清理 内存概述 内存是计算机中的重要原件,临时存储区域,作用是运行程序。 我们编写的程序是存放在硬盘中的,在硬盘中的程序是不会运行的。 必须放进内存中才能运行,运行完毕后会清空内存。 Java虚拟机要运行程序,必须要对内存进行空间的分配和管理。 java中的内存分配
阅读全文
摘要:Java面向对象基础-2. 分析对象在内存中的存储 单个对象内存图 多个对象内存图 多个对象指向相同内存图 总结 当多个对象的引用指向同一个内存空间(变量所记录的地址值是一样的) 只要有任何一个对象修改了内存中的数据,随后,无论使用哪一个对象进行数据获取,都是修改后的数据。
阅读全文
摘要:成员变量和局部变量的区别 (1)在类中的位置不同 成员变量:类中方法外 局部变量:方法定义中或者方法声明上 (2)在内存中的位置不同 成员变量:在堆中 局部变量:在栈中 (3)生命周期不同 成员变量:随着对象的创建而存在,随着对象的消失而消失 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
阅读全文
摘要:一、数组 1、容器概述 容器:是将多个数据存储到一起,每个数据称为该容器的元素。 2、数组概述 数组:数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致。 数组特点: (1)数组是一种引用数据类型; (2)数组当中的多个数据,类型必须统一; (3)数组的长度在程序运行期间不可改变; 3、数
阅读全文
摘要:JAVA数组的静态初始化和动态初始化 1、静态初始化 // 一维数组静态初始化 int [] arr={1,2,3}; 2、动态初始化 int [] arr=new int[5];
阅读全文
摘要:JAVA基本数据类型有哪些 Java的基本数据类型有8种,分别是:byte(位)、short(短整数)、int(整数)、long(长整数)、float(单精度)、double(双精度)、char(字符)和boolean(布尔值)。 关于Java的8种基本数据类型,其名称、位数、默认值、取值范围及示例
阅读全文