自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 Java编程思想学习心得(七)逻辑操作符和短路非短路

逻辑操作符无外乎与(&&)、或(||)、非(!)。与操作是操作符两边都为真整个表达式才为真,或操作是操作符两边只要有一个是真的,整个表达式即为真,非操作符是一元的,直接取反。而且,这几个操作符可以“杂交”使用,如下面代码所示:System.out.println(!(10 > 1 && 2 > 1 || 1 > 10)); 这三个操作符也经常和括号一起使用,为了表达清楚真实意图。逻辑操作符

2015-12-10 18:04:51 1084

原创 Java编程思想学习心得(六)关系操作符的陷阱

关系操作符包括“”(大于),“=”(大于等于),“==”(等于)和“!=”(不等于)。其中的含义也都比较简单,“==”(等于)和“!=”(不等于)适用于所有的基本数据类型,其它的比较符不适用于boolean类型,因为boolean类型只能为true或false,大于或小于没有意义。另外,基本类型和非基本类型在使用上也存在差异,基本类型所比较的就是值,如1,2,3,4,5等做比较,而非基本类型所

2015-12-08 17:49:08 683

原创 Java编程思想学习心得(五)自动递增和递减操作符的陷阱

自动递增和递减操作符是一种在各种语言中都比较常见的操作符,使用方法无外乎下面几种:int a = 1 ;a++;++a;a--;--a; 其中操作符放在前面和后面的意思有所区别,放在后面是先取用这个值后做操作,放在前面正好相反,先做操作后取用这个值。另外还有一个陷阱需要特别注意,虽然这个操作符看起来像是一个原子操作,但其实自动递增和递减操作符都不是原子操作。执行“a++”其实做了三

2015-12-08 17:29:17 552

原创 Java编程思想学习心得(四)赋值操作符的陷阱

在任何一门语言中,操作符都是必备的,在Java中也不例外。在操作符中,我们最先接触的就是赋值操作符,即“=”。这个操作符的含义是将“=”右边的赋给左边,如下面的代码所示:int a = 1; 这种是基本类型的赋值,就是说将“1”这个值直接存储在变量“a”里,并存储在堆栈里。还有像下面这种形式:

2015-12-08 17:09:42 537

原创 Java编程思想学习心得(三)基本类型

在Java中,所有的对象基本都是通过“new”关键字创建出来并存储在“堆”里,但是对于一些比较小的简单的变量往往不是很有效。所以这种变量不用“new”关键字来创建,而是创建一个并非是引用的“自动”变量,这个变量直接存储“值”,并放在堆栈中。这种被特殊对待的类型就是Java中的基本类型。这种类型确定了所占存储空间的大小,不会随着机器硬件架构的变化而变化。下面这张图取自《Java编程思想》:

2015-12-07 22:22:18 428

原创 Java编程思想学习心得(二)Java中的对象

Java语言是一种比较纯粹的面向对象语言,面向对象的思想就是入门的基本功,在Java中(几乎)一切都是对象。那么在Java中如何操纵对象呢?在Java中,我们是通过引用来操纵对象的。任何语言操纵内存中元素的方式都不一样,而且这些元素的类型也不一样,是直接操纵这些元素还是通过一种基于特殊语法的间接表示来操纵,这些都是问题。在Java中,既然一切都是对象,那么我们索性也把这些元素都当成对象,这样一

2015-11-27 08:54:52 708

原创 Java编程思想学习心得(一)对象那些事儿

众所周知,Java是一门面向对象的语言,那么什么是面向对象?更简单的说,在编程的范畴里,什么是对象?这些问题是我们在学习任何一门面向对象的语言时都会面对的问题,解决了这些问题,更有助于我们学习面向对象语言,在本文中就是更有助于我们学习Java。在学习面向对象的时候,有一句非常经典的话,对于我们理解对象以及面向对象都非常有帮助,这句话是“施法于自然,万物皆对象”。说的直白一点,就是把你看到的东西

2015-11-27 06:52:59 1631

转载 [Android]startActivityForResult启动singleTask的Activity,则onActivitResult()立即回调且resultCode为RESULT_CANCEL

转自:http://blog.csdn.net/sodino/article/details/22101881问题现象:          在刚安装完demo应用未登录任何帐号时,通过系统内的分享功能想将文件/图片等内容"发送给好友"或"发送到我的电脑",触发登录界面,但登录成功后,没有跳转到选择demo好友发送界面,无法继续发送。代码分析:         demo中Jump

2015-11-26 14:22:35 427

原创 Java编程思想学习心得(序)

有句话说的好,读一百本书,不如一本书读一百遍。像《Java编程思想》这么经典的书更应该多读多想,以前只是读了很多遍,并没有适当的做一些总结,从这次读这本书开始,我会阶段性的写一些总结性的文章,这些文章的内容基本上就是学习这本书的一些心得体会,还有一些比较重要的概念,以及相应的分析和自己的一些理解。

2015-11-25 23:22:05 1331

原创 选择排序之简单选择排序

选择排序是几大排序算法中的一种,选择排序的思想如下:每趟从待排序的记录序列中选择关键字最小的记录放置到已排序表的最前位置,直到全部排完。选择排序大概有两种,今天我们说其中一种——简单选择排序。1、基本思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换;然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。这段话什么意思呢?我们

2015-08-01 19:16:18 966

原创 Android中BitmapFactory.Options详解

在Android中,BitmapFactory相信大家都很熟悉了,这个类里面的所有方法都是用来解码创建一个Bitmap,其中有一个重要的类是Options,此类用于解码Bitmap时的各种参数控制,那这里面的各种参数都是什么含义呢?今天我们就来重点解读几个参数。inJustDecodeBounds:如果将这个值置为true,那么在解码的时候将不会返回bitmap,只会返回这个bit

2015-08-01 14:33:16 14343

原创 inDensity,inTargetDensity,inScreenDensity关系详解

如果接触Android中的Bitmap较深的话,肯定会知道标题上的这三个属性值,那么这三个属性值的关系和作用是什么呢?下面我们就来详细解读一下。这三个属性值在Bitmap和BitmapFactory中都有不同程度的出现,其中Bitmap中只有mDensity(对应inDensity),BitmapFactory中这三个都有,那么可以知道这三个值主要是在BitmapFactory中活动,于是

2015-08-01 14:31:36 7144 1

原创 Android中的抖动解码(inDither)

在Android中的BitmapFactory.Options中有一个属性值是inDither,这个值表示是否采用抖动解码,那什么叫抖动解码呢,今天我们就来详细解说一下。Bitmap的解码是根据它所记录的节点,依照一定算法,来补充两个节点之间的数据,可以理解为补充其中像素点的颜色,那么在解码的时候肯定会和当前所采用的颜色模式有关,很直观的说,采用32位的肯定比16位的颜色要多,自然展现

2015-08-01 13:41:10 5785 1

原创 屏幕尺寸,像素,分辨率,dpi,dp,density详解

在Android中,有一些概念你肯定听过,但是对它一知半解,就比如我们标题上提到的几个名词,在Android开发中肯定接触过,但是并不完全知道是什么含义,今天我们就详细的说一说这几个名字的概念,以及其中的关系。首先我们来说一说这些名词的基本概念:屏幕尺寸:屏幕对角线长度。像电脑,电视都是这么算的。比如说手机5寸屏,就是说手机屏幕的对角线长度是5寸。像素:pixel,构成图片的一

2015-07-28 23:57:50 2214

原创 归并排序

归并排序是几大排序算法中的一种,下面就来说说归并排序。1、基本思想:归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。 然后再把有序子序列合并为整体有序序列。这段话什么意思呢?我们举个例

2015-07-26 13:59:55 466

原创 Fragment涉及的add、remove和replace方法和回退栈的关系详解

在现在的Android开发中,Fragment属于比较常用的了,在使用Fragment过程中,add、remove和replace这三个方法是比较常用的,也是容易引发歧异的,再加入回退栈的功能就更乱了,那么本文就从实践的角度来说一说这其中的关系。在开发中,常用的做法是在Activity的布局中放一个FrameLayout,然后以这个FrameLayout为容器,把Fragment当成View(

2015-07-22 00:10:47 14389 1

原创 Java泛型(一)泛型的使用和自我理解

Java泛型是JDK1.5引入的新特性,那么这个泛型究竟要怎么用呢,以下是我对泛型的一些自我理解:首先说Java中的泛型,一般有三种使用场景,分别是泛型类,泛型接口,泛型方法。别管哪种形式,我理解的一个通用的概念就是泛型存在于其作用域内。这句话乍一看是废话,但是确是贯穿这三种形式的一句话。先看泛型类:/* * To change this license header, choose

2015-07-20 11:16:16 344

转载 在移动互联时代下,介绍几个Android 开发的新技术

本文转自:http://blog.csdn.net/u011075946/article/details/46840125Android 的发展确实太快了,每年的都有很多新东西出现,想要覆盖所有新东西感觉也不太可能,我这里主要说一下主要的 Android 的主要新技术发展,其实了解 Android 的发展趋势,可能对开发者更有帮助。开发工具Android Studio:

2015-07-14 08:21:26 685

转载 深入Java核心 Java内存分配原理精讲

本文转自:http://blog.csdn.net/u011225629/article/details/46857563栈、堆、常量池虽同属Java内存分配时操作的区域,但其适用范围和功用却大不相同。本文将深入Java核心,详细讲解Java内存分配方面的知识。 Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收

2015-07-14 08:16:30 345

原创 交换排序之快速排序

快速排序也是一个比较基本的排序,面试考算法的话,这个排序的命中率比较高,那么下面就说说快速排序。1、基本思想:选择一个基准元素,通常是第一个元素或者最后一个元素,通过一趟扫描,将待排序列分成两部分,一部分比基准元素小,一部分大于基准元素,此时,基准元素在其排好序后的正确位置,然后再用同样的方法递归的排序划分的两部分。这段话什么意思呢?我们举个例子来说说:还是那个数组{3,5,2,10,

2015-07-12 18:18:31 687

原创 交换排序之冒泡排序

大学学的算法已经基本遗忘了,最近又重新捡起来好好钻研一下,那么就先从排序开始。先说交换排序中的冒泡排序,这个是比较基础的一个排序算法。1、基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将他们互换。这段话什么意思呢?举个例子来说说:比如有

2015-07-12 17:38:58 665

原创 个推推送第三方服务的应用和自我理解(二)

上次提到了,

2014-11-20 10:06:12 1089

原创 个推推送第三方服务的应用和自我理解(一)

最近做项目需要用到推送的功能,

2014-11-18 00:08:23 1949

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除