Java学习笔记
记录学习Java、看Java相关书籍等的知识点,部分内容摘自书籍。
胤灬壬
菜鸟一枚
展开
-
整型,字符串,括号混合运算
题目:如果int x=20, y=5,则语句System.out.println(x+y +""+(x+y)+y); 的输出结果是()答案:25255解释:1)不论有什么运算,小括号的优先级都是最高的,先计算小括号中的运算,得到x+y +""+25+y2)任何字符与字符串相加都是字符串,但是是有顺序的,字符串前面的按原来的格式相加,字符串后面的都按字符串相加,得到25+“”+25+53)上面的结果按字符串相加得到25255...原创 2021-12-16 16:37:55 · 261 阅读 · 0 评论 -
JVM内存
从别人那里摘抄的,只是为了记录一下错题的原因大多数 JVM 将内存区域划分为 Method Area(Non-Heap)(方法区) ,Heap(堆) , Program Counter Register(程序计数器) , VM Stack(虚拟机栈,也有翻译成JAVA 方法栈的),Native Method Stack ( 本地方法栈 ),其中Method Area 和 Heap 是线程共享的 ,VM Stack,Native Method Stack 和Program Counter Reg原创 2021-11-12 10:00:00 · 75 阅读 · 0 评论 -
继承中代码的执行顺序
涉及:静态初始化代码块、构造代码块、构造方法当涉及到继承时,按照如下顺序执行:执行父类的静态代码块执行子类的静态代码块执行父类的构造代码块执行父类的构造函数执行子类的构造代码块执行子类的构造函数在执行子类中的其他代码段...原创 2021-11-11 21:59:53 · 480 阅读 · 0 评论 -
Java8新特性(流API)
1.1 流的基本认识流的概念:流是数据的渠道。因此,流代表了一个对象的序列。流操作数据源,如数组或集合。流本身不存储数据,而只是移动数据,在移动过程中可能会对数据执行过滤、排序或其他操作。流操作本身不修改数据。例如,对流排序不会修改数据源的顺序,相反对流会创建一个新流,其中包含排序后的结果。注意:这里使用的“流”与I/O类使用的“流”不同。流与集合的区别:1.流并不存储其元素。这些元素可能存储在底层的集合中,或者按需生成的2.流的操作不会修改其数据源。例如,filter方法不会从流中移除元素,而是原创 2021-10-27 20:36:02 · 295 阅读 · 0 评论 -
Java面对对象五个特性
OOP:Object-oriented Programming。万物皆为对象。将对象视为奇特的变量,它可以存储数据,除此之外,你还可以要求它在自身上执行操作。理论上讲,你可以抽取带求解问题的任何概念化构件(狗、建筑物、服务等),将其表示为程序中的对象。程序是对象的集合,它们通过发送消息来告知彼此所要做的。要想请求一个对象,就必须对该对象发送一条消息。更具体地说,可以把消息想象为对某个特定对象的方法的调用请求。每个对象都有自己的由其他对象所构成的存储。换句话说,可以通过创建包含现有对象的包的方式来创建原创 2021-09-27 09:18:15 · 95 阅读 · 0 评论 -
Java8新特性(lambda表达式)
1.1 lambda表达式简介理解lambda表达式的Java实现,有两个结构十分关键:第一个是lambda表达式自身,第二个是函数式接口。lambda表达式本质上就是一个匿名(即未命名)方法。但是,这个方法不是独立执行的,而是用于实现由函数式接口定义的另一个方法。因此,lambda表达式会产生一个匿名类。lambda表达式也常被称为闭包。函数式接口是仅包含一个抽象方法的接口。这个方法指明了接口的目标用途。因此,函数式接口通常表示单个动作。例如:标准接口Runnable是一个函数式接口,因为它只定义了原创 2021-10-24 20:08:41 · 1071 阅读 · 0 评论 -
Java对象持久化
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-10-23 18:17:18 · 1007 阅读 · 0 评论 -
查找素数
使用Java位集BitSet查找素数public class sieve{ public static void main(String[] args){ int n = 2000; BitSet b = new BitSet(n + 1); int count = 0; int i; for(i = 2;i <= n;i++){ b.set(i); } i原创 2021-09-21 15:29:27 · 95 阅读 · 0 评论 -
Java抽象类实现接口
普通的类在实现某个接口时需要实现接口中的所有方法,否则编译器会报错。抽象类实现接口时,可以实现接口中的一部分方法,也可以全部不实现。在不实现的方法中使用abstract关键字修饰方法。通过使用抽象类实现接口可以将接口中的公共方法(每个实现类对接口中的方法具体实现是一样的方法)在抽象类中实现,而子类需要覆写的方法不需要实现它,当抽象类被继承后,可以访问抽象类中已经实现的方法,而没有实现的方法根据子类的不同需求需要自己实现,当然子类还是可以覆写抽象类已经实现的方法。...原创 2021-09-25 16:08:31 · 1051 阅读 · 0 评论 -
计算存款本息(错误记录)
C语言编写过程的错误记录(计算存款本息)项目场景:计算银行存款的本息。输入存款金额money、存期year、年利率rate,根据下列公式计算存款到期时的本息合计sum(税前),输出时保留两位小数。问题描述:在程序编写完成后,编译并没有出错,但是在运行程序时得到的结果却是错误的,出现了逻辑错误。本息一直等于原来输入的本金(也就是sum等于money)。APP 中接收数据代码:#include<stdio.h>#include<math.h>int main(){原创 2020-09-16 15:24:14 · 993 阅读 · 0 评论