Java学习总结

合集下载

Java的总结心得体会(优秀8篇)

Java的总结心得体会(优秀8篇)

Java的总结心得体会(优秀8篇)Java的总结心得体会要怎么写,才更标准规范?根据多年的文秘写作经验,参考优秀的Java的总结心得体会样本能让你事半功倍,下面分享【Java的总结心得体会(优秀8篇)】,供你选择借鉴。

Java的总结心得体会篇1五个月在刚来的时候,觉得过得好慢,可转眼到了毕业又觉得时间过得好快,时间恐怕才是最会捉弄人的。

java培训结束即将走入工作岗位,我想先讲一个故事来切入正题。

有两拨人进行篮球比赛,可是一拨人有四个人,而另一拨只有3个,人数不均,显然人数居多的占优势。

比赛是不公平的,比赛快要停止的时候,拥有四人的队伍突然要求三人的队伍稍等5分钟。

正在三人队疑惑的时候,震惊的一幕开始了,另外四人走到篮板前,轮流开始投篮,每人十次,投的最少的被淘汰了,余下的三人回到比赛。

比赛的结果是什么我不知道,但我知道原来的三人组无论胜败,在他们取得成功的路上绝对比预期要困难的多。

与中国的仁义之道相比,物竞天择恐怕是社会乃至世界的本职,从细微处看不到的东西,我们就从宏观角度出发,又会发现什么呢?中国五千年历史可以发现有用的东西,实在很少,原因是它是一个反对竞争的。

开朝时文武并举,立国后重文轻武,除了唐朝稍微好点外,其他就不敢恭维了。

宋朝就更能看出问题了,岳飞枉死就是最好的证明。

岳飞之所以被我尊重,当然不会是今天不被看好的,他那点狗屁忠义,而是他创造了一个奇迹。

在冷兵器时代,骑兵是最强的兵种,岳飞创造了步兵胜骑兵的先例。

在受到金国如此威胁下还是将如此将才杀掉。

原因只有一个,岳飞赢了,就会有三个皇帝出现,而当时的赵皇,宁可称儿也要保证竞争者不出现,赵家当家皇帝怎么就不想想,救出另外两个皇帝虽然有竞争对手,但是收复旧河山我的功劳最大,那么皇帝还不会就是我的。

这是不可能的,原因就是四个字,长幼有序!中国的美德延伸的束缚。

可怜的赵括皇帝撼不动这铁礼。

从古至今竞争从来没有停止过。

也许你听过前人跟你说过你们是幸福的一代,现在回味除了他又标榜自己业绩的同时对你寄予祝福,但还有就是未来的不可知。

java实训总结5篇

java实训总结5篇

java实训总结5篇第1篇示例:本次Java实训总结将围绕项目背景、项目任务、项目实施、经验收获、存在问题以及未来展望等方面展开,全面总结这次实训的过程和成果。

1. 项目背景本次Java实训项目是由某高校计算机学院组织的一次实训活动,旨在提高学生对Java技术的应用能力,锻炼学生的团队合作能力和项目管理能力。

项目要求学生利用所学知识,设计并实现一款具有一定功能的Java应用程序。

2. 项目任务本次实训项目的主要任务是设计并实现一个学生信息管理系统,系统包括学生基本信息录入、查询、修改、删除等功能,同时还可以实现学生成绩查询和排名等功能。

学生需要分组合作完成项目,并按时提交最终的作品。

3. 项目实施在项目实施阶段,学生们首先进行了团队分组,确定了各自的角色和任务分工。

然后通过讨论和思考,确定了项目的整体架构和功能设计。

在开发阶段,团队成员按照设计文档,分工合作,分别实现各自负责的模块。

在开发过程中,遇到了一些技术难题和bug,但大家积极合作,相互帮助,最终顺利完成了项目的开发。

4. 经验收获通过本次实训项目,我收获了很多。

首先是对Java技术的应用能力有了进一步的提升,熟练掌握了Java语言的基本语法和常用API。

其次是学会了团队合作和沟通,明白了团队合作的重要性。

还学会了如何根据需求文档设计和实现一个完整的项目,锻炼了自己的项目管理能力。

5. 存在问题在项目实施过程中,也出现了一些问题。

团队成员之间的沟通不够及时和顺畅,导致了进度的拖延。

有时候个别成员的代码风格不统一,造成了代码的混乱。

有些成员在技术上遇到了瓶颈,需要更多的指导和帮助。

6. 未来展望在今后的学习和实践中,我会继续加强对Java技术的学习和掌握,不断提升自己的技术能力。

也会加强团队合作和沟通能力,学会更好地与团队成员合作。

希望未来能够参与更多的项目实施,锻炼自己的实践能力,成为一名优秀的Java开发工程师。

本次Java实训项目是一次非常有意义和收获的经历。

java总结及心得体会

java总结及心得体会

java总结及心得体会java总结及心得体会(通用8篇)java总结及心得体会要怎么写,才更标准规范?根据多年的文秘写作经验,参考优秀的java总结及心得体会样本能让你事半功倍,下面分享,供你选择借鉴。

java总结及心得体会篇1在本学期的开学初期,我们在学校机房进行了为期三周的JAVA实训。

现在即将结束了,回首本学期的java学习,重点还是在学习概念等一些常识性的东西,通过这次为期三周的实训,遇到了很多自己感兴趣的问题,就会很有兴趣,当然学知识可不能凭自己的爱好和一时兴趣,不能遇到自己不敢兴趣的问题就把它抛给同学,要学会自己踏踏实实认真的去解决问题。

要一步一个脚印,认认真真,踏踏实实,理论与实践相结合,在扎实掌握课本实例和内容之后,有一定的扩展阅读和课外学习,充分全面的了解JAVA的应用和扩展运用。

本次我们小组所做的程序是“小小通讯录”基本功能已经较好的完成,可是还是有一些不完善,比如我们的通讯录没有能够做到把通讯录里所储存的信息以列表的形式展现出来,所以还是有些不完善,,我们的指导老师对我们的程序作出了大体评价,发现我们的思想还是处于一个比较简单的过程当中,老师的几句简单评价,就带给我们无与伦比的冲击性,由于我们写程序的经验尚且较少,很多东西无法考虑到位,老师的点评,使我们认识到了不足与今后的前进方向与目标,使我们更加具有动力与激情,拥有了继续认真学习JAVA的信心,拥有了成为一位合格的高级程序员的壮志,在编写程序的过程当中,我们在一开始就遇到了问题,一直在纠结与是使用数据库连接还是使用文件,经过老师的耐心讲解,我们了解到了尚未接触到的Jar包等一些列名词,但是经过数据库的抒写与连接发现与无法同步,所以最终我们选择了使用文件来进行这次程序的编写,第二个问题就是我们的程序在进行按钮新窗口的链接,在新窗口弹出时,无法将老窗口关闭,纠结了好久,询问老师,老师还给我用了“父子”的生动例子来讲解,最终我们查找JDK,查找类的用法终于完美解决!甚是兴奋! 在我所学的语言当中,我自认为JAVA是一门比较强大的面向对象的编程语言,不仅仅因为它的跨平台性,更多的是因为它的灵活多变和实用性较强,可以说比较的经典和强悍。

java实训个人总结8篇

java实训个人总结8篇

java实训个人总结8篇篇1时间过得真快,转眼间我已经实训了4个月了。

在这4个月的时间里,我学到了很多关于Java的知识,也积累了一些工作经验。

现在,我对这段时间的学习和工作进行一下总结,以便更好地反思和提高。

一、Java基础学习在实训初期,我主要学习了Java的基础知识,包括Java的基本语法、面向对象编程的思想、常用的数据结构和算法等。

通过不断练习和巩固,我逐渐掌握了这些基础知识,并能够灵活运用它们来解决实际问题。

二、项目实践在掌握了Java基础之后,我开始了项目实践的阶段。

在这个过程中,我参与了一个小型项目的开发,主要负责后端接口的设计和实现。

通过实践,我深刻体会到了Java在实际应用中的强大之处,同时也锻炼了我的团队协作能力和解决问题的能力。

在项目实践中,我遇到了很多挑战。

例如,在实现某个功能时,我最初的设计方案并不完美,导致后续的修改和调整花费了很多时间和精力。

但是,通过不断学习和摸索,我逐渐找到了更好的解决方案,并成功完成了任务。

这个过程让我深刻认识到了学习和实践的重要性,也让我更加自信地面对未来的工作。

三、团队协作在实训期间,我还锻炼了团队协作的能力。

我们经常需要一起开会讨论、分工合作、共同解决问题。

在这个过程中,我学会了如何与他人有效沟通、如何分工协作、如何处理团队冲突等。

这些能力对于未来的工作和生活都非常有用。

四、自我提升除了学习和项目实践之外,我还注重自我提升。

我不断阅读相关的技术文档和书籍、观看视频和参加线上线下的技术交流活动等。

这些经历不仅让我更加深入地了解了Java技术栈的各个方面,还让我结识了很多志同道合的朋友和业界大咖。

通过与他们的交流和学习,我受益匪浅。

五、总结与展望总的来说,这次Java实训让我收获颇丰。

我不仅掌握了Java的基础知识,还锻炼了项目实践和团队协作的能力。

同时,我也认识到了自己的不足之处并努力加以改进。

在未来的学习和工作中我会继续努力提升自己的技术水平和综合素质以更好地适应市场需求和企业发展需求!篇2一、实训背景与目标本次Java实训旨在通过实践操作,深化理论知识,提高编程技能,以便更好地适应工作岗位需求。

java心得总结7篇

java心得总结7篇

java心得总结7篇(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如演讲致辞、策划方案、心得体会、条据文书、合同协议、应急预案、规章制度、教学资料、作文大全、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample essays for everyone, such as speeches, planning plans, reflections, legal documents, contract agreements, emergency plans, rules and regulations, teaching materials, essay summaries, and other sample essays. If you want to learn about different sample essay formats and writing methods, please stay tuned!java心得总结7篇写心得体会可以帮助我们更好地反思自己的行为和决策,心得体会是我们对过去经历的回顾,可以帮助我们更好地规划未来的发展方向,本店铺今天就为您带来了java心得总结7篇,相信一定会对你有所帮助。

java总结与心得体会5篇

java总结与心得体会5篇

java总结与心得体会5篇(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如总结报告、演讲致辞、事迹材料、学习心得、合同协议、条据文书、自我鉴定、教学资料、作文大全、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample essays for everyone, such as summary reports, speeches, deeds, learning experiences, contract agreements, normative documents, self-evaluation, teaching materials, essay summaries, other sample essays, etc. If you want to learn about different sample essay formats and writing methods, please stay tuned!java总结与心得体会5篇心得是一种感受性文字,所以只有结合自身的实际经历才会写出有趣的文章,平日里相信大家一定经常使用到心得,本店铺今天就为您带来了java总结与心得体会5篇,相信一定会对你有所帮助。

java学习心得体会_JAVA实训的心得(通用9篇)

java学习心得体会_JAVA实训的心得(通用9篇)

java学习心得体会_JAVA实训的心得(通用9篇)java学习_JAVA实训的心得篇11、我感觉学习java应该是循环渐进,有始有终,按部就班,脚踏实地。

java是一门有着阶梯性的一们语言,如果要学习它。

我觉得最好还是按照java的学习体系,先学习什么,在学习什么,只有这样,我们在学习中才会遇到更少的麻烦。

java是一门更倾向于网络的语言。

不要上来就学习JSP,这样不好,因为这没有基础。

在以后的学习中很可能遇到很多的麻烦,这就不好了。

2、信心,恒心,毅力是最重要的。

这是我们必须具备的心理素质。

要是学习这门语言开始的时候很有兴趣,遇到苦难就退缩,这样最终会放弃学习java,没有经历风雨怎么见彩虹。

编程就是有的时候就是那么这么人。

会遇到很多的困惑。

但是一旦你弄懂了,或者是你把问题解决了,你会感到很兴奋,编程的快乐就在此了。

3、多看看一些资料,多多的向高手请教,这样才好。

要学会总结和领会,当然,学习java一个人有一个人的想法,也有自己的独特学习方法。

总之适合自己的就是最好的。

java学习心得体会_JAVA实训的心得篇2从大三开始算,我学习java已经有一年的时间了,不过虽然时间长,但是对于现在的我还是一个初学者,懂不了多少的java初学者。

期间曾迷茫过,曾困惑过,走了不少的弯路,老师布置的试验作业每次都是不会做,每次都是要问同学,这个代码什么意思啊?为什么用这条代码,用别的不行吗?甚至后来根本没耐心问,索性就复制同学的作业交上去。

但是都是各种0分,害的同学也这样,不过他能找老师反驳,而我却没实力。

渐渐的,我认识到这样下去是不行的,我必须改正自己的学习态度和方式。

接下提到的就是我这一年来的java学习心得。

刚一开始学习java时,我就已经学习过C语言,不过C语言学的不是很好,所以开始看到java的时候我很反感,看着源代码,都不知道失什么意思。

看书的时候一看到源代码就头疼,因为根本看不懂。

那段时间根本就是一无所获,在图书馆借了一本书,关java的语法特性,与别的语言相比的优点,什么跨平台,源代码公开,什么write 、 once 、 run 、 anywhere,能说得头头是道,可是一到具体的问题,想写一些具体的东西,问题就都来了,根本不知道该怎么下手。

java实训心得体会(精选17篇)

java实训心得体会(精选17篇)

java实训心得体会(精选17篇)(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如总结计划、党团报告、合同协议、策划方案、演讲致辞、规章制度、条据文书、教学资料、作文大全、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample essays, such as summary plans, party and youth league reports, contract agreements, planning plans, speeches, rules and regulations, doctrinal documents, teaching materials, complete essays, and other sample essays. If you would like to learn about different sample formats and writing methods, please stay tuned!java实训心得体会(精选17篇)java实训心得体会(精选17篇)我们心里有一些收获后,常常可以将它们写成一篇心得体会,通过写心得体会,可以帮助我们总结积累经验。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

剖析该问题前请看如下代码public static String bytes2HexString(byte[] b) {String ret = "";for (int i = 0; i < b.length; i++) {String hex = Integer.toHexString(b[ i ] & 0xFF);if (hex.length() == 1) {hex = '0' + hex;}ret += hex.toUpperCase();}return ret;}上面是将byte[]转化十六进制的字符串,注意这里b[ i ] & 0xFF将一个byte和0xFF进行了与运算,然后使用Integer.toHexString取得了十六进制字符串,可以看出b[ i ] & 0xFF运算后得出的仍然是个int,那么为何要和0xFF进行与运算呢?直接Integer.toHexString(b[ i ]);,将byte强转为int不行吗?答案是不行的.其原因在于:1.byte的大小为8bits而int的大小为32bits2.java的二进制采用的是补码形式==================以下文字貌似有问题===================在这里先温习下计算机基础理论byte是一个字节保存的,有8个位,即8个0、1。

8位的第一个位是符号位,也就是说0000 0001代表的是数字11000 0000代表的就是-1所以正数最大位0111 1111,也就是数字127负数最大为1111 1111,也就是数字-128上面说的是二进制原码,但是在java中采用的是补码的形式,下面介绍下什么是补码1、反码:一个数如果是正,则它的反码与原码相同;一个数如果是负,则符号位为1,其余各位是对原码取反;2、补码:利用溢出,我们可以将减法变成加法对于十进制数,从9得到5可用减法:9-4=5 因为4+6=10,我们可以将6作为4的补数改写为加法:9+6=15(去掉高位1,也就是减10)得到5.对于十六进制数,从c到5可用减法:c-7=5 因为7+9=16 将9作为7的补数改写为加法:c+9=15(去掉高位1,也就是减16)得到5.在计算机中,如果我们用1个字节表示一个数,一个字节有8位,超过8位就进1,在内存中情况为(100000000),进位1被丢弃。

⑴一个数为正,则它的原码、反码、补码相同⑵一个数为负,刚符号位为1,其余各位是对原码取反,然后整个数加1- 1的原码为10000001- 1的反码为11111110+ 1- 1的补码为111111110的原码为000000000的反码为11111111(正零和负零的反码相同)+10的补码为100000000(舍掉打头的1,正零和负零的补码相同)Integer.toHexString的参数是int,如果不进行&0xff,那么当一个byte会转换成int时,由于int是32位,而byte只有8位这时会进行补位,例如补码11111111的十进制数为-1转换为int时变为11111111111111111111111111111111好多1啊,呵呵!即0xffffffff但是这个数是不对的,这种补位就会造成误差。

和0xff相与后,高24比特就会被清0了,结果就对了。

----Java中的一个byte,其范围是-128~127的,而Integer.toHexString的参数本来是int,如果不进行&0xff,那么当一个byte会转换成int时,对于负数,会做位扩展,举例来说,一个byte 的-1(即0xff),会被转换成int的-1(即0xffffffff),那么转化出的结果就不是我们想要的了。

而0xff默认是整形,所以,一个byte跟0xff相与会先将那个byte转化成整形运算,这样,结果中的高的24个比特就总会被清0,于是结果总是我们想要的。

引言昨天有个朋友问我long转byte要怎么转,然后吃饭期间我问了身边的人,发现也不会转。

所以我想有必要写一些位操作符和转化规则,同时还有一些不常用,但是源码中经常出现的操作符。

不可能所有的都写出来,但是举一反三就可以了。

在技术点中介绍一些不常用但是常见的操作符,后半部分展示实现转化的代码。

笔者目前整理的一些blog针对面试都是超高频出现的。

大家可以点击链接:/u012403290技术点:计算机中存储是用补码!!,同时注意一下计算省略了高位不变部分1、byte:有符号(意思是有正和负),在网络传输中都是会用到byte的,它占1个字节,共8位,比如说11111111就可以用1个byte表示,转化为10进制:- (2的6次+2的5次+2的4次+2的3次+2的2次+2的1次+2的0次)= -127。

其中前7位表示数字,最高位表示符号,0为正,1为负。

范围是(-2的7次~ 2的7次- 1),那为什么前面最小是-127,范围最小又是-128呢?因为规定-0(10000000)为-128。

2、short:有符号,占2个字节,共16位。

同byte一样,它的取值范围就是(-2的15次~ 2的15次- 1)。

3、int :有符号,占4个字节,共32位。

它的取值范围就是(-2的31次~ 2的31次)。

4、long:有符号,占8个字节,共64位,它的取值范围就是(-2的63次~ 2的63次)。

5、^:表示异或位运算,两者相同则为0,两者不同则为1。

比如说15^2,15用二进制表示就是1111,2用2进制表示就是0010,两者进行异或运算,结果就是1101,转换为十进制就是13。

A B A^B1 1 01 0 10 1 10 0 06、|:表示或运算,两者只有有一个为1就为1,比如说13|2,13用二进制表示就是1101,2用二进制表示就是0010,两者进行或运算,那么结果就是1111,转换为十进制就是15。

A B A或B1 1 11 0 10 1 10 0 07、&:表示与运算,两者都为1就为1,其余都为0,比如说15&2,13用二进制表示就是1111,2用二进制表示就是0010,两者进行与运算,那么结果就是0010,转换为十进制就是2。

A B A&B1 1 11 0 00 1 00 0 08、~:取反,就是本来是0变成1,本来是1变成0。

A ~B1 00 1注意:本来我打算不想解释这块的,但是学知识,既然要学了,就尽自己最大努力一次性一个知识点学透彻。

我举个例子,比如说-15|3等于多少呢?有些人会觉得-15转化为二进制就是10001111,而3转化为二进制就是00000011,那么结果应该是10001111呀,转换为十进制就是-15呀?大家可以自己写个demo就会发现是不对的。

要注意在计算机中所有的都是用补码的形式存储的,之所以上面介绍两个正数是对的,因为正数的反码和补码都是一样的。

而负数求补码应该是出去符号位取反+1,我们再来看看这个题-15|3,其中-15的原码为10001111,反码为11110000,那么补码就是11110001,然后3的补码为00000011,两者进行或操作就是11110011,你以为结束了么?还没有,再又要求它的原码了,原码就是补码再求补码再+1(是不是已经晕掉了?),也就是10001101,结果就是-13。

为了大家都好理解,我这里用算式整理一下:求-15|3[-15]原码= 10001111[-15]反码= 11110000 //原码求反码符号位不变[-15]补码= 11110001 //反码+1等于补码[3]原码= 00000011[3]反码= 00000011 //正数都一致[3]补码= 00000011 //正数都一致-15|3 = 11110011 //两个补码进行或操作[结果]补码= 11110011 //上面求得的值[结果]反码= 10001100 //符号位不变[结果]原码= 10001101 //反码+1100001101 转化为十进制就是-13。

不知道我这么解释会不会更加清楚一些呢?同理的,上面那些(尤其是求反‘~’我故意没写例子,大家自己去试试吧)。

在说一次,正数的原码,补码,反码都一样,如果一定要说为什么一样,我就举个例子。

有这么一个等式7+(-7)=0。

我们知道[-7]原= 10000111[-7]反= 11111000[-7]补= 11111001那么如果要存在一个值和[-7]补码相加等于0,是不是就是00000111!!所以正数的补码和原码是一致的。

这样解释虽然怪怪的,但是可以知道的确是这样的。

9、<<:左移运算符,不需要考虑符号位,因为在后面补0,把二进制的数字向左移动,低位补0。

比如说3<<2。

3的二进制码为11,向左移动2位就是1100,那么结果就是12。

10、>>:右移运算符,带符号位。

根据这个要移动的数字决定正负,如果是正数,那么就在前面补0,如果是负数就在前面补1。

比如说3>>2,3的二进制码为00000011,向右移动2位,就变成00000000,转化为十进制就是0了(3是正数所以在高位补0)。

再比如说-3>>2,-3的二进制码为10000011,转化为补码(只要涉及到负数,就需要转换到补码计算,正数之所以不用转化,是因为他们的补码和原码是一致的)11111101,进行位移运算,就是11111111,这个是补码,需要再转回原码。

那么就是取反+1,结果就是10000001,转化为十进制就是-1。

11、>>>:右移运算符,与上面的区别就是这个运算符是无符号的。

不论正负,高位都补0。

如果要用-3>>2来验证,因为高位补0,就需要把所有的位数都写全了。

如果是int,那就要写成32位来运算。

切记切记。

上面很多因为高位的变化“取反再取反”会导致前面所有的位都没变所以我就简化了,但是这个>>>运算符不行哦,它会把负数变为正数。

代码实现基本步骤:①分析转化和代转化之间位数的关系②计算偏移量。

每次都取最后8位③把最后8位和0xff进行&操作④得出结果。

有人会问,为什么要和0xff进行&操作?这里我做一下解释,因为再在割的时候,我们要保证最后8位是一致的,更高位都要置0,这样才能保证数据的一致性。

比如说由byte转化成short。

位数从8位变成了16位,那么在计算机自己看来,它会把前面多出来的8位置1。

而&0xff就可以把前面所有的位数都置0。

1、short 与byte互相转化public static byte[] short2byte(short s){byte[] b = new byte[2];for(int i = 0; i < 2; i++){int offset = 16 - (i+1)*8; //因为byte占4个字节,所以要计算偏移量b[i] = (byte)((s >> offset)&0xff); //把16位分为2个8位进行分别存储}return b;}public static short byte2short(byte[] b){short l = 0;for (int i = 0; i < 2; i++) {l<<=8; //<<=和我们的+=是一样的,意思就是l = l << 8l |= (b[i] & 0xff); //和上面也是一样的l = l | (b[i]&0xff)}return l;}12345678910111213141516172、int和byte的转化也差不多public static byte[] int2byte(int s){byte[] b = new byte[2];for(int i = 0; i < 4; i++){int offset = 16 - (i+1)*8; //因为byte占4个字节,所以要计算偏移量b[i] = (byte)((s >> offset)&0xff); //把32位分为4个8位进行分别存储}return b;}public static int byte2int(byte[] b){int l = 0;for (int i = 0; i < 4; i++) {l<<=8; //<<=和我们的+=是一样的,意思就是l = l << 8l |= (b[i] & 0xff); //和上面也是一样的l = l | (b[i]&0xff)}return l;}12345678910111213141516171819那么long和byte的转化,甚至是long和short等之间的转化大家自己琢磨。

相关文档
最新文档