第一周学习总结-Java
2018年7月15日
暑假第一周,我从网上找了一些讲Java的视频,学到了一些Java的基础,同时也弥补了一些之前学c/c++的知识漏洞。例如,了解到了原码反码补码和按位取反运算符(~)的运算原理。
在计算机中一个整型数4字节,1字节8位;正数的原码反码补码是一样的;二进制数以补码的形式存储,负数以其正值的补码形式存在。
负数原码转换为反码,符号位不变,其他按位取反,反码转换为原码也是一样;原码转换为补码:符号位不变,其他按位取反,末位再加1,即反码末位加1。
-7 10000000 00000000 00000000 00000111 原码
11111111 11111111 11111111 11111000 反码
11111111 11111111 11111111 11111001 补码
接下来求7取反操作后的值(~为按位取反运算符)即~7的值
① 先写出7的原码
00000000 00000000 00000000 00000111
② 按位取反后变成未知数X的补码
11111111 11111111 11111111 11111000
③ 补码变反码需要末位减一,得到未知数X的反码
11111111 11111111 11111111 11111000
- 00000000 00000000 00000000 00000001
———————————————————————
11111111 11111111 11111111 11110111
④ 反码变原码需要符号位不变,数值位按位取反,得到原码,此时可看出X=8
10000000 00000000 00000000 00001000
其次,还总结了一些c++与java的不同点并发表在博客园。Java与c++都是面向对象语言,我们学过c++,再根据这些不同点来学java就能更快掌握java的基础。
本周总计学习时间可达到20小时,周一至周五每天有4个小时用来学Java,周六周日休息、总结,其中用在代码上的时间基本上每天有1个小时。
本周遇到了一些细节性的问题,比如要用Scanner类输入数据就必须有一句import java.util.Scanner;但是我把util写成了until,所以编译一直报错,仔细检查一遍就解决了问题。还有一些问题是对Java一些语句用法不熟悉造成的,比如Scanner中没有nextChar方法,还有nextInt、nextLine方法连用出现无法录入数据的现象。原因是nextInt方法只获取了整数就结束了,整数后边的\r\n不吸收,而nextLine方法遇到\r\n就会结束,解决方法是将nextLine改为next。这些问题不算大问题,所以加起来总共花在上面的时间大概只有1小时。
这一周学习生活很充实,下一周我会继续保持目前速度。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· PPT革命!DeepSeek+Kimi=N小时工作5分钟完成?
· What?废柴, 还在本地部署DeepSeek吗?Are you kidding?
· DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地
· 程序员转型AI:行业分析
· 重磅发布!DeepSeek 微调秘籍揭秘,一键解锁升级版全家桶,AI 玩家必备神器!