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. day5(字符编码、数据类型、列表基本操作)

    一.字符编码 计算器所认识的编码都是二进制编码 二进制与十进制转换 计算机最开始使用的编码是美国的 ASCll编码 计算机容量单位 字符编码 python2.x 默认编码使用的是ASCll pytho ...

  2. 基于 HTML5 Canvas 的交互式地铁线路图

    前言 前两天在 echarts 上寻找灵感的时候,看到了很多有关地图类似的例子,地图定位等等,但是好像就是没有地铁线路图,就自己花了一些时间捣鼓出来了这个交互式地铁线路图的 Demo,地铁线路上的点是 ...

  3. Vue中method与computed的区别

    为了说明method与computed的区别,在此我想先来看看computed属性在vue官网中的说法:模板内的表达式是非常便利的,但是它们实际上只用于简单的运算.在模板中放入太多的逻辑会让模板过重且 ...

  4. vim编辑器——常用操作整理

    注意:以下的操作都是在命令状态下进行的,不要进入插入状态了.参考这里 1.删除 dd       删除一行 ndd    删除以当前行开始的n行dw    删除以当前字符开始的一个字符ndw   删除 ...

  5. iOS学习 NSString常用技巧

    字符串是程序设计最常用的数据类型之一了.在Mac/iPhone编程中,苹果为我们提供了一个不同的字符串类型NSString.有别与普通的String为数据类型,NSString其实是一个对象类型.NS ...

  6. React是什么,为什么要使用它?

    React是Facrbook内部的一个JavaScript类库,已于1年开源,可用于创建Web用户交互界面.它引入了一种新的方式来处理浏览器DOM.那些需要手动更新DOM.费力地记录每一个状态的日子一 ...

  7. 普通权限拿webshell

    普通权限拿webshell:   1.0day拿webshell:这个不多说.可以去网上搜索一些, 比如你找到你搞的网站cms是discz的,你可以搜索一些相 关0day直接拿   2.修改网站上传类 ...

  8. 面向对象的线程池Threadpool的封装

    线程池是一种多线程处理形式,预先创建好一定数量的线程,将其保存于一个容器中(如vector), 处理过程中将任务添加到队列,然后从容器中取出线程后自动启动这些任务,具体实现如下. 以下是UML图,展示 ...

  9. FusionCharts ID重复

    1.今天在做项目时,有关FusionCharts柱状图的,调试的过程中,我发现IE浏览器出现FusionCharts ID重复. 具体的消息如下: 消息:#25081843:IECompatibili ...

  10. VxWorks各部分初始化流程

    一)configAll.h中定义所有定置系统配置的宏 INCLUDED SOFTWARE FACILITIES:定义了基本组件: EXCLUDED FACILITIES:定义了扩充组件,缺省不包括: ...