20165230 2017-2018-2 《Java程序设计》第2周学习总结

教材学习内容总结

  • 本周学习了JAVA中的数据类型、数组、运算符、表达式和语句,与C语言很类似,二者也有区别。
  • 标识符中的字母分大小写
  • JAVA没有无符号位的byte,short,int,long
  • 浮点数编译程序默认为double型,声明为float型变量后面必须加F。
  • JAVA中的char型数据一定是无符号的,而且不允许用unsigned来声明char类型
  • 在声明数组时,不能在方括号内指定数组元素个数
  • 数组的索引从0开始

教材学习中的问题和解决过程

  • 问题1:为什么双精度123456789.123456789强制转换成单精度时为1.23456792E8,而不是12.3456792E8
  • 问题1解决方案:f=1.23456792E8相当于是将123456789.123456789的小数点前移变成1.2345678912345678910^8,去掉小数的一半就变成1.2345678910^8了,

    • 若想控制误差,可以用strictfp。使用 strictfp关键字声明一个方法时,该方法中所有的float和double表达式都严格遵守FP-strict的限制,符合IEEE-754规范。

      当对一个类或接口使用 strictfp 关键字时,该类中的所有代码,包括嵌套类型中的初始设定值和代码,都将严格地进行计算。严格约束意味着所有表达式的结果都必须是 IEEE 754 算法对操作数预期的结果,以单精度和双精度格式表示。

      如果你想让你的浮点运算更加精确,而且不会因为不同的硬件平台所执行的结果不一致的话,可以用关键字strictfp.
  • 问题2:P28页中提到如果想输出char型数组的引用,必须让数组a和字符串做并置运算,什么是并置运算?
  • 问题2解决方案:在网上查询得到以下解答:

    并置“&” 就是用来进行位和位矢量的连接运算

    所谓位和位矢量的连接运算是指将并置操作符右边的内容接在左边的内容之后以形成一个新的位矢量

参考:并置语句

  • 问题3:不理解Example3_7.java中求100以内的素数的方法
  • 问题3解决方案:通过自己调试代码与询问同学理解了代码,若要求100以内的素数,有一种方法为从1开始的数与根号100进行取模运算,若所得余数不为0,则是素数。此代码类似,只是与100/2进行取模运算,再依次求余。

代码调试中的问题和解决过程

  • 问题1:启动乌班图系统时显示出现内部错误
  • 问题1解决方案:通过在网上查找,找到解决方案为在终端输入sudo gedit /etc/default/apport将enabled设置为0。

参考Ubuntu16.04 系统错误报告屏蔽尝试修改

  • 问题3:在调试example2_5时,反复检查多次又出现以下错误,显示找不到符号

    .

  • 问题3解决方案:通过再次检查代码发现是把Scanner scanner = new Scanner(System.in);中的第二个scanner少输入了一个c。
  • 问题4:在调试example3_4时,输入209 显示209既是二等奖又是一等奖

  • 问题4解决方案:没有在是二等奖后的语句加break;
  • 问题5:在调试example3_9时,错误把System.out.println中的System首字母大写,显示错误

  • 问题5解决方案:将system改正为System

代码托管

其他(感悟、思考等,可选)

  • 在本周的学习中,代码量比上周增加了不少,对代码的理解也在加深,同时,敲代码的错误率在减少,平时敲代码时注意了大小写,空格等细节。
  • 通过自学视频与教材,类比C语言对JAVA中的基本数据类型、语句有了了解,过程中遇到的问题都通过网络查询以及询问同学一一解决。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第二周 426/426 3/3 12/12

参考资料

20165230 2017-2018-2 《Java程序设计》第2周学习总结的更多相关文章

  1. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

  2. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  3. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  4. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  5. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  6. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  7. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  8. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  9. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

  10. 《Java程序设计》第九周学习总结

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

随机推荐

  1. openresty+lua劫持请求,有点意思

    0x01 起因 几天前学弟给我介绍他用nginx搭建的反代,代理了谷歌和维基百科. 由此我想到了一些邪恶的东西:反代既然是所有流量走我的服务器,那我是不是能够在中途做些手脚,达到一些有趣的目的. op ...

  2. Ironic几种不同的场景下的网络拓扑

    最近帮领导做了几页ppt,总结几种场景下ironic管理物理机网络的网络拓扑,简单做成一份文章记录下.只是方便自己记忆,没有认真修改.如果对ironic有一定了解,可以看下,加深理解. 1. vlan ...

  3. javascript 一些关于css操作的函数

    // 通过样式表 获得css样式 //obj 表示dom对象,name 表示css属性 比如width等 function getStyle(obj,name){ if(obj.currentStyl ...

  4. Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.commons.EmptyVisitor

    1.错误描述 2014-7-13 1:45:53 org.apache.struts2.spring.StrutsSpringObjectFactory info 信息: ... initialize ...

  5. JSP中的编译指令和动作指令的区别

    JSP中的编译指令和动作指令的区别 1.编译指令是通知Servlet引擎的处理消息,而动作指令只是运行时的脚本动作 2.编译指令是在将JSP编译成Servlet时起作用,而动作指令可替换成JSP脚本, ...

  6. HTML5中的checkbox

    HTML5中的checkbox 1.选中checkbox (1)<input type="checkbox" checked/> (2)<input type=& ...

  7. 多线程下不重复读取SQL Server 表的数据

    在进行一些如发送短信.邮件的业务时,我们经常会使用一个表来存储待发送的数据,由后台多个线程不断的从表中读取待发送的数据进行发送,发送完成后再将数据转移到历史表中,这样保证待发送表的数据一般情况下不会太 ...

  8. 转:SQL进阶之变量、事务、存储过程与触发器

    一.变量那点事儿 1.1 局部变量 (1)声明局部变量 DECLARE @变量名 数据类型 DECLARE @name varchar(20) DECLARE @id int (2)为变量赋值 SET ...

  9. Kettle根据时间戳同步数据实现

    1 Kettle总体步骤 由于Kettle自身的特殊性以及在多个步骤中kettle自身处理数据库事务的特殊性,尝试了很多种方案,最终确定暂使用如下方案. 1.使用此方案可以解决kettle本身数据库事 ...

  10. LCT总结(LCT,Splay)

    概念.性质简述 LCT(Link-Cut Tree),就是动态树的一种,用来维护一片森林的信息,滋磁的操作可多啦! 动态连边.删边 合并两棵树.分离一棵树(跟上面不是一毛一样吗) 动态维护连通性 维护 ...