山东青岛安卓培训就业中心 专业Android软件工程师培训,手机软件开发人才就业实训中心0532-85025005

Java I/O 总结

 

Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。

数据流是一串连续不断的数据的集合,就象水管里的水流,在水管的一端一点一点地供水,而在水管的另一端看到的是一股连续不断的水流。数据写入程序可以是一段、一段地向数据流管道中写入数据,这些数据段会按先后顺序形成一个长的数据流。对数据读取程序来说,看不到数据流在写入时的分段情况,每次可以读取其中的任意长度的数据,但只能先读取前面的数据后,再读取后面的数据(不能随机读取)。不管写入时是将数据分多次写入,还是作为一个整体一次写入,读取时的效果都是完全一样的。

Tags:

发布: 青软于老师 分类: 未分类 评论: 0 浏览: 16

谈谈我对Java中CallBack的理解

 

CallBack是回调的意思,熟悉Windows编程的人对"回调函数"这四个字一定不会陌生,但是Java程序员对它可能就不太了解了。"回调函数"或者"回调方法"是软件设计与开发中一个非常重要的概念,掌握"回调函数"的思想对程序员来说(不管用哪种语言)是非常必要的。

  那么什么是回调函数呢?我认为,回调函数就是预留给系统调用的函数,而且我们往往知道该函数被调用的时机。这里有两点需要注意:第一点,我们写回调函数不是给自己调用的,而是准备给系统在将来某一时刻调用的;第二点,我们应该知道系统在什么情形下会调用我们写的回调函数。

Tags:

发布: 青软于老师 分类: 未分类 评论: 0 浏览: 23

Java基本数据类型详解

 

Java语法总结 - 基本数据类型


Java不是纯的面向对象的语言,不纯的地方就是这些基本数据类型不是对象。当然初期Java的运行速度很慢,基本数据类型能在一定程度上改善性能。如果你想编写纯的面向对象的程序,用包装器类是取代基本数据类型就可以了。

1、基本类型的存储空间。byte--8位,short--16位,int--32位,long--64位,float--32位,double--64位。这六种数字类型都是有符号的。固定的存储空间正是Java可移植性、跨平台的原因之一!

2、基本类型的存在导致了Java OOP的不纯粹性。因为基本类型不是对象,一切皆对象是个小小的谎言。这是出于执行效率的权衡。

3、使用公式-2的(位数-1)次幂到2的(位数-1)次幂-1确定整数类型的范围(byte、short、int、long)。

4、char是16位Unicode字符或者说是16位无符号整数,范围从0到65535。即便如此,可以强制转换非法的数据,如:char c1 = (char) 10000;  char c2 = (char) -200;。可以从二进制存储的角度理解这点。

5、整数有八进制(以0开头的整数)、十进制、十六进制(以0x或0X开头的整数)表示。

6、char可以用单引号表示单个字符,如:'良'。也可以用unicode值'"ucafe'(四位十六进制数)。

7、布尔型boolean。布尔型只能是true或者false,并且测试它为真还是假。它不能进行任何其他的运算,或者转化为其他类型。
正例:boolean b1 = 1 > 2;    反例:int seen = button.isVisible();
实践:简洁是美德,请不要这样写:if ( is == true && done == false ) ,只有新手才那么写。
对于任何程序员 if ( whether && !done ) 都不难理解吧。所以去掉所有的==fasle 和 ==true。

8、默认的浮点类型是双精度(double),要想要一个float必须在浮点数后面加F或者f。如:float pi = 3.14;是错误的。

9、默认的整数类型是int型,要想使用长整型可在后面加“l”或“L”,如:1000L。(小写l容易被误认为1,不推荐用)

10、float可以精确到7位有效数字,第8位的数字是第9位数字四舍五入上取得的;double可以精确到16位有效数字,第17位的数字是第18位数字四舍五入上取得的。盖茨到底有多少钱?要用double表示,用float是装不下的……

11、如果要求精确的答案,请不要使用float和double,因为它们是为了在广域数值范围上提供较为精确的快速近似运算而精心设计的。然而,它们没有提供完全精确的结果。尤其是对货币计算尤为不适合,因为要让一个float或double精确地表达0.1(或者10的任何)

12、BigInteger支持任意精度的整数。BigDecimal支持任意精度的定点数。

13、初始化无论怎么强调都不过分!Java为所有的成员变量提供了默认初始化:byte、short、 int、long--0  float--0.0f double--0.0  boolean--false  char--'"u0000',特别地对象类型的引用全被初始化为null。(注意!除了数组之外的局部变量是得不到这种优待的,需要你自己初始化。另外,默认初始化的值是你想要的吗?所以最好明确地对变量进行初始化,一般是在构造函数中。)

14、基本类型之间的转化。Java的类型检查很严格,从低精度转换到高精度是无须显式转换的,double d = 123;。但是反过来,进行窄化转换,由高精度向低精度,或者一种类型到另一种类型,则必须使用强制类型转化。Java提供了安全转化机制,但是结果是否是期望的,你自己保证吧。
double d = 12.5;
float f = (int) d; //结果不是13,而是12!
浮点型转化为整型时,不进行四舍五入,直接截断小数点后面的数。

15、提升。各种基本数据类型进行混合运算,结果会是表达能力最强的那种。如:int和long运算,结果是long,整型和浮点型运算结果是浮点型。特殊的一点是:只要类型比int小(如char、byte、short),那么在运算之前,这些值会自动地转换成int。例子:
byte b1 = 12;
byte b2 = b1 + 1; //在编译时出错了!因为b1+1已经是int型了!切记!

16、浮点类型的科学表示法。在数学中e代表自然对数(Math.E给出了double值),而在Java中e代表10的幂次。浮点型的数可以这样表示float f = 1e-27f; 代表1乘以10的负27次幂。

Tags:

发布: 青软于老师 分类: 未分类 评论: 0 浏览: 15

程序员如何留住健康?

 摘要:     相信大家已经注意到了,程序员的大部分时间都花在电脑桌前编程,这会损害程序员的健康。其实不需要多么复杂的养生,你只需每天做一些小小的改变,就可以摆脱病痛、保持健康。 变换姿势 虽然站立桌、昂贵的椅子和一些基于人体工程学的玩意的确很酷,哪怕LINUS(linux创始人)都在踏步机前工作,而事实上你并不需要这些。

相信大家已经注意到了,程序员的大部分时间都花在电脑桌前编程,这会损害程序员的健康。其实不需要多么复杂的养生,你只需每天做一些小小的改变,就可以摆脱病痛、保持健康。

Tags:

发布: 青软于老师 分类: 未分类 评论: 0 浏览: 9

JavaBean简单及使用

 一、JavaBean简介

JavaBean是使用Java语言开发的一个可重用的组件,在JSP的开发中可以使用JavaBean减少重复代码,使整个JSP代码的开发更简洁。JSP搭配JavaBean来使用,有以下的优点:

Tags:

发布: 青软于老师 分类: 未分类 评论: 0 浏览: 12

Java跨平台原理

  1、是么是平台

Java是可以跨平台的编程语言,那我们首先得知道什么是平台,我们把CPU处理器与操作系统的整体叫平台

Tags:

发布: 青软于老师 分类: 未分类 评论: 0 浏览: 7

JavaScript 面试中常见算法问题详解

 JavaScript 中的变量提升

所谓提升,顾名思义即是 JavaScript 会将所有的声明提升到当前作用域的顶部。这也就意味着我们可以在某个变量声明前就使用该变量,不过虽然 JavaScript 会将声明提升到顶部,但是并不会执行真的初始化过程。、

-----------------------------------------------------------------------------------------------------------------------------

use strict; 的作用
顾名思义也就是 JavaScript 会在所谓严格模式下执行,其一个主要的优势在于能够强制开发者避免使用未声明的变量。对于老版本的浏览器或者执行引擎则会自动忽略该指令。
  1. // Example of strict mode

Tags:

发布: 青软于老师 分类: 未分类 评论: 0 浏览: 5

Java集合的小抄 Java初学者必备

 

在尽可能短的篇幅里,将所有集合与并发集合的特征,实现方式,性能捋一遍。适合所有”精通Java”其实还不那么自信的人阅读。

不断更新中,请尽量访问博客原文。

List

ArrayList

以数组实现。节约空间,但数组有容量限制。超出限制时会增加50%容量,用System.arraycopy()复制到新的数组,因此最好能给出数组大小的预估值。默认第一次插入元素时创建大小为10的数组。

Tags:

发布: 青软于老师 分类: 未分类 评论: 0 浏览: 13

大前端时代下App开发者的生存之道

 

作者没故事的卓同学
2017.02.11 23:39*字数 3093阅读 4315评论 42


在16年底我写过一篇谈未来的文章《2016年末闲谈iOS开发的未来》,当时刚参加完秋季的Qcon,整理了一下写了出来。到现在17年的春,过去四个月,社区里讨论气氛已经从《从入门到放弃》变成了《从入门到转行》、《从上架到上吊》。

Tags:

发布: 青软于老师 分类: 未分类 评论: 0 浏览: 14