04 2018 档案

运算符的优先级
摘要:单目运算符:+,-,++,-- 算数运算符:+,-,*,/,% 移位运算符:<<,>> 关系运算符:>,<,>=,<=,==,!= 位运算符:&,|,~,^, 逻辑运算符:&&,|| 三目运算符:表达式1?表达式2:表达式3; 赋值运算符:=等 口诀:淡云一笔安洛三福 单目>算数运算符>移位>比较> 阅读全文

posted @ 2018-04-24 15:39 lijingran 阅读(324) 评论(0) 推荐(0)

原码、反码、补码
摘要:原码是什么? 原码就是早期用来表示数字的一种方式: 一个正数,转换为二进制位就是这个正数的原码。负数的绝对值转换成二进制位然后在高位补1就是这个负数的原码,说的更通俗点,负数的原码就是高位为1的对应正数的原码。 举例说明: int类型的 3 的原码是 11B(B表示二进制位), 在32位机器上占四个 阅读全文

posted @ 2018-04-23 15:52 lijingran 阅读(753) 评论(0) 推荐(0)

Java中>>和>>>的区别
摘要:转自https://www.cnblogs.com/565261641-fzh/p/7686757.html >>:带符号右移。正数右移高位补0,负数右移高位补1。比如: 4 >> 1,结果是2;-4 >> 1,结果是-2。-2 >> 1,结果是-1。 >>>:无符号右移。无论是正数还是负数,高位通 阅读全文

posted @ 2018-04-23 14:59 lijingran 阅读(241) 评论(0) 推荐(0)

Java设计模式之《适配器模式》及应用场景
摘要:转自https://www.cnblogs.com/V1haoge/p/6479118.html 适配器就是一种适配中间件,它存在于不匹配的二者之间,用于连接二者,将不匹配变得匹配,简单点理解就是平常所见的转接头,转换器之类的存在。 适配器模式有两种:类适配器、对象适配器、接口适配器 前二者在实现上 阅读全文

posted @ 2018-04-21 11:36 lijingran 阅读(1085) 评论(0) 推荐(0)

java程序运行结果
摘要:下面这段代码的运行结果是:AB.B 分析原因:也就是说在你的operate()方法中,参数是引用传递,也就是x,y分别为a,b引用的拷贝,在方法中,你给x追加了值,也就相应的改变了a的值,但是第二条语句:y = x; 确实将引用y指向了另外一个对象x,这样y就和b指向不同的两个对象了,当然b的值也就 阅读全文

posted @ 2018-04-19 20:06 lijingran 阅读(1947) 评论(0) 推荐(0)

Floyd算法
摘要:转自https://blog.csdn.net/qq_35644234/article/details/60875818 1、最短路径问题介绍 问题解释: 从图中的某个顶点出发到达另外一个顶点的所经过的边的权重和最小的一条路径,称为最短路径 解决问题的算法: 迪杰斯特拉算法(Dijkstra算法) 阅读全文

posted @ 2018-04-19 18:57 lijingran 阅读(5600) 评论(0) 推荐(0)

Java中能否利用函数参数来返回值
摘要:转自https://blog.csdn.net/da_da_xiong/article/details/70039532 我们在写代码时通常会遇到一种情况,就是我们可能希望在一个函数操作完成后返回两个值,这两个值互不关联并且不希望以数组的形式返回,甚至这两个返回值都不属于同一种类型,这种情况下在C或 阅读全文

posted @ 2018-04-18 10:48 lijingran 阅读(1880) 评论(0) 推荐(0)

Arrays.asList()
摘要:Arrays.asList() 将一个数组转化为一个List对象,这个方法会返回一个ArrayList类型的对象。 @SafeVarargs @SuppressWarnings("varargs") public static <T> List<T> asList(T... a) { return 阅读全文

posted @ 2018-04-18 09:27 lijingran 阅读(1498) 评论(0) 推荐(0)

堆、栈、方法区的区别
摘要:堆区:只存放类对象,线程共享; 方法区:又叫静态存储区,存放class文件和静态数据,线程共享; 栈区:存放方法局部变量,基本类型变量区、执行环境上下文、操作指令区,线程不共享; 堆区:只存放类对象,线程共享; 方法区:又叫静态存储区,存放class文件和静态数据,线程共享; 栈区:存放方法局部变量 阅读全文

posted @ 2018-04-18 09:07 lijingran 阅读(696) 评论(0) 推荐(0)

&,|,^的用法
摘要:&,|,~,^的用法 &按位与 |按位或 ~按位非 ^按位异或 举例: int x = 5; int y = 11; System.out.println(x|y); System.out.println(x&y); System.out.println(x~y); System.out.print 阅读全文

posted @ 2018-04-16 11:23 lijingran 阅读(3118) 评论(0) 推荐(0)

利用异或求(整数数组中,有2K+1个数,其中有2k个相同,找出不相同的那个数)
摘要:转自https://blog.csdn.net/renjie_998003/article/details/50738025 java的位运算符中有一个叫异或的运算符,用符号(^)表示,其运算规则是:两个操作数的位中,相同则结果为0,不同则结果为1。下面看一个例子: 运行结果是:i ^ j = 13 阅读全文

posted @ 2018-04-16 11:12 lijingran 阅读(585) 评论(0) 推荐(0)

运行程序,填写结果
摘要:结果是: 22 34 17 关键点:try finally的返回的结果是try中的return那个值 本程序运行步骤如下: new B()执行的步骤: 1. super(5)→setValue(5)结果是:10 2. getValue()→10+1=11→return11→setValue()11* 阅读全文

posted @ 2018-04-16 09:34 lijingran 阅读(220) 评论(0) 推荐(0)

throw与throws的区别
摘要:转自https://www.cnblogs.com/alsf/p/5626384.html throw与throws两者都是消极处理异常的方式(这里的消极并不是说这种方式不好),只是抛出或者可能抛出异常,但是不会由函数去处理异常,真正的处理异常由函数的上层调用处理。 throws关键字 用在方法声明 阅读全文

posted @ 2018-04-15 22:21 lijingran 阅读(2161) 评论(0) 推荐(0)

牛客网多线程程序执行结果选择题
摘要:执行以下程序,最终输出可能是: 正确答案: C 你的答案: 空 (错误) 010 2123012 3434 01201 340124 2334 0012314 01223344 12345 12345 12345解释1:虽然每次结果不同,但是第一个空格之前必然有 0 1 2 3 4 这四个数字,这是 阅读全文

posted @ 2018-04-14 21:59 lijingran 阅读(400) 评论(0) 推荐(0)

一个继承了抽象类的普通类的执行顺序
摘要:今天看《java编程思想》抽象类那节的时候,做了一个练习题3(p171页),发现了一个很有意思的东西,一个继承了抽象类的普通类的执行顺序是怎样的呢? 执行的结果是: 0 1 分析: main函数执行的时候 先执行main函数中的第一句:NotAbstractClass n=new NotAbstra 阅读全文

posted @ 2018-04-13 21:02 lijingran 阅读(3008) 评论(0) 推荐(0)

int i=0;i=i++
摘要:运行结果是234 分析如下 看看字节码就明白了源代码: 现在很明显了:它先把i压入栈,然后把i(在原来的位置上)加1,然后又把栈上的旧值写回i。这就导致了i被原来的旧值给覆盖了,所以值没有变化。 阅读全文

posted @ 2018-04-13 19:27 lijingran 阅读(1406) 评论(0) 推荐(0)

HashMap浅入理解
摘要:HashMap不能保证元素的顺序,HashMap能够将键设为null,也可以将值设为null,与之对应的是Hashtable,(注意大小写:不是HashTable),Hashtable不能将键和值设为null,否则运行时会报空指针异常错误; HashMap线程不安全,Hashtable线程安全 Ha 阅读全文

posted @ 2018-04-13 19:17 lijingran 阅读(163) 评论(0) 推荐(0)

&&和&、||和|的区别
摘要:&& 和 || 为短路与 短路或&&若前面的表达式为false,整个逻辑表达式为false,所以后面的表达式无论true和false都无法影响整个表达式的逻辑结果,所以为了提高代码执行速率,这里后面的表达式就不会执行。同理,若前面表达式为true,则后面的表达式无需计算。 & 和 | 为不短路与 不 阅读全文

posted @ 2018-04-13 17:00 lijingran 阅读(307) 评论(0) 推荐(0)

System.out.println()
摘要:System是java.lang中的类,out为System中的一个静态数据成员,out是java.io.PrintStream类的对象,而println()是java.io.PrintStream类的方法,所有可以调用类.静态方法.println()方法。 阅读全文

posted @ 2018-04-13 16:59 lijingran 阅读(244) 评论(0) 推荐(0)

java没有firendly访问类型
摘要:java中只有public、private、protected、default这几种修饰符,没有friendly修饰符,没加修饰符就是friendly。friendly只是一种说法,把它认为是default,即默认的就好!! 默认类型的访问控制权限是包内友好,即包内可见。 default是保留字,不 阅读全文

posted @ 2018-04-12 22:16 lijingran 阅读(337) 评论(0) 推荐(0)

异常的讲解
摘要:Throwalbe是所有异常类的父类,是Object的直接子类。 Exception是运行时异常和其他异常类的父类。 其他异常类包括: IOException(受查异常类必须通过try-catch捕获) ClassNotFoundException CloneNotSupportedExceptio 阅读全文

posted @ 2018-04-12 22:04 lijingran 阅读(265) 评论(0) 推荐(0)

2个byte类型数据相加(转型问题的分析)
摘要:转自https://blog.csdn.net/alinshen/article/details/53571857 今天看到网上有网友问到关于final修饰的面试题目,题目如下: [java] view plain copy <span style="font-family:SimSun;"><sp 阅读全文

posted @ 2018-04-12 21:39 lijingran 阅读(4579) 评论(0) 推荐(0)

java Queue中 add/offer,element/peek,remove/poll区别
摘要:转自https://blog.csdn.net/u012050154/article/details/60572567 java Queue中 add/offer,element/peek,remove/poll中的三个方法均为重复的方法,在选择使用时不免有所疑惑,这里简单区别一下: 1、add() 阅读全文

posted @ 2018-04-10 12:16 lijingran 阅读(933) 评论(0) 推荐(0)

Java 8 中的 Streams API 详解
摘要:转自https://www.ibm.com/developerworks/cn/java/j-lo-java8streamapi/ 还有2篇文章,挺不错的http://ifeve.com/stream/ https://blog.csdn.net/io_field/article/details/5 阅读全文

posted @ 2018-04-09 16:01 lijingran 阅读(404) 评论(0) 推荐(0)

java8中stream的map和flatmap的理解
摘要:转自https://blog.csdn.net/wynjauu/article/details/78741093 假如我们有这样一个需求给定单词列表["Hello","World"],你想要返回列表["H","e","l", "o","W","r","d"], 对于这样的需求,我们可能想到的第一个版 阅读全文

posted @ 2018-04-06 13:16 lijingran 阅读(72622) 评论(1) 推荐(1)

map和flatmap的区别+理解、学习与使用 Java 中的 Optional
摘要:转自:map和flatmap的区别 对于stream, 两者的输入都是stream的每一个元素,map的输出对应一个元素,必然是一个元素(null也是要返回),flatmap是0或者多个元素(为null的时候其实就是0个元素)。 flatmap的意义在于,一般的java方法都是返回一个结果,但是对于 阅读全文

posted @ 2018-04-06 11:01 lijingran 阅读(33044) 评论(0) 推荐(1)

java 中 “==” 和 equals 的区别
摘要:转自https://www.cnblogs.com/www123 /p/7857298.html 在初学Java时,可能会经常碰到下面的代码: 为什么第4行和第5行的输出结果不一样?==和equals方法之间的区别是什么?如果在初学Java的时候这个问题不弄清楚,就会导致自己在以后编写代码时出现一些 阅读全文

posted @ 2018-04-05 20:22 lijingran 阅读(227) 评论(0) 推荐(0)

Java之Collections.emptyList()、emptySet()、emptyMap()的作用和好处以及要注意的地方
摘要:转自https://www.cnblogs.com/qiumingcheng/p/7126281.html 先说明一下好处有哪些:1,如果你想 new 一个空的 List ,而这个 List 以后也不会再添加元素,那么就用 Collections.emptyList() 好了。new ArrayLi 阅读全文

posted @ 2018-04-05 20:13 lijingran 阅读(580) 评论(0) 推荐(0)

JAVA中的线程安全与非线程安全
摘要:转自http://blog.csdn.net/xiao__gui/article/details/8934832 线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。 线程不安全就 阅读全文

posted @ 2018-04-05 14:04 lijingran 阅读(64274) 评论(6) 推荐(13)

java函数式编程之Consumer
摘要:参考https://blog.csdn.net/z345434645/article/details/53794724 https://blog.csdn.net/chuji2012/article/details/77871011 1、先来看一个简单的Consumer<T>的例子 描述:Consu 阅读全文

posted @ 2018-04-03 13:44 lijingran 阅读(28669) 评论(0) 推荐(2)

Java8-6-Predicate接口详解
摘要:转自https://segmentfault.com/a/1190000012256677 Predicate函数式接口的主要作用就是提供一个test方法,接受一个参数返回一个布尔类型,Predicate在stream api中进行一些判断的时候非常常用。 使用泛型T指定传入的参数类型,我们通过一个 阅读全文

posted @ 2018-04-02 22:48 lijingran 阅读(2283) 评论(1) 推荐(1)

快速排序--未看
摘要:转自http://www.cnblogs.com/snowcan/p/6244398.html 转自https://www.cnblogs.com/coderising/p/5708801.html 阅读全文

posted @ 2018-04-02 22:06 lijingran 阅读(157) 评论(0) 推荐(0)

各种排序总结--未看
摘要:转自https://blog.csdn.net/stand1210/article/details/52403569 这几天笔试了好几次了,连续碰到一个关于常见排序算法稳定性判别的问题,往往还是多选,对于我以及和我一样拿不准的同学可不是一个能轻易下结论的题目,当然如果你笔试之前已经记住了数据结构书上 阅读全文

posted @ 2018-04-02 22:04 lijingran 阅读(226) 评论(0) 推荐(0)

Integer的疑惑
摘要:1、Integer m =200; Integer n =200; System.out.println(m==n); 输出falseInteger x =6; Integer y=6; System.out.println(x==y); 输出true 原因: java 保存有8中基本类型的“池” 阅读全文

posted @ 2018-04-02 21:33 lijingran 阅读(428) 评论(0) 推荐(0)

简单选择排序算法
摘要:package BrushProblem.sortQuestion;public class SimpleSelectSort { public static void main(String[] args) { int[] array = {23, 12, 4, 56, 0, 1}; simple 阅读全文

posted @ 2018-04-02 16:49 lijingran 阅读(272) 评论(0) 推荐(0)

冒泡排序
摘要:转自https://www.cnblogs.com/shen-hua/p/5422676.html 原理:比较两个相邻的元素,将值大的元素交换至右端。 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将 阅读全文

posted @ 2018-04-02 10:43 lijingran 阅读(192) 评论(0) 推荐(0)

插入排序算法java
摘要:转自https://blog.csdn.net/jianyuerensheng/article/details/51254415 1、基本思想 直接插入排序的基本操作是将一个记录插入到已经排好的有序表中,从而得到一个新的、记录数增1的有序表。对于给定的一组记录,初始时假定第一个记录自成一个有序序列, 阅读全文

posted @ 2018-04-02 10:33 lijingran 阅读(340) 评论(0) 推荐(0)

导航