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. tcp/ip 卷一 读书笔记(2)物理层和链路层网络

    物理层和链路层网络 术语 链路 是一对相邻结点间的物理线路,中间没有任何其他的交换结点. 数据链路 除了物理线路外,还必须有通信协议来控制这些数据的传输. 帧 数据链路层的协议数据单元(PDU) 串行 ...

  2. Redis笔记4-持久化方案

    一:快照模式 默认redis是会以快照的形式将数据持久化到磁盘的(一个二进制文件,dump.rdb,这个文件名字可以指定),在配置文件中的格式是:save N M表示在N秒之内,redis至少发生M次 ...

  3. Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)

    首先要了解一下Hadoop的运行模式: 单机模式(standalone)        单机模式是Hadoop的默认模式.当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选 ...

  4. Debug格式化输出----基于C语言

    Debug格式化输出----基于C语言 1. 使用宏实现 举例: #include <stdio.h> #define ECHO_COLOR_NONE "\033[0;0m&qu ...

  5. 读取含有BOM头的文件遇到的问题

    需求是读取一个csv文件,然后解析成对应的数据结构.csv必须包含指定的某些列,通过列名header来进行校验. 解析配置文件的方法. public List<QuestionData> ...

  6. Caused by: java.lang.ClassNotFoundException: org.jboss.logging.BasicLogger

    1.错误描述 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -help ...

  7. Java中的表达式运算

    1.问题背景    以下代码运行的结果为:    A.a的值:8   b的值:7           B.a的值:8  b的值:8    C.a的值:9   b的值:7           D.a的值 ...

  8. 将泛类型集合List类转换成DataTable

    /// <summary> /// 将泛类型集合List类转换成DataTable /// </summary> /// <param name="list&q ...

  9. Query 插件为什么要return this.each()

    jQuery.fn.test2= function(){ this.css("background","#ff0");//这里面的this为jquery对象,而 ...

  10. form表单的action提交写到js中来,同时onclick事件也写在js中来。其action也可以通过ajax来提交的。

    1,html脚本 <body> <div style="display: none;"> <form id="submitForm" ...