20155327 2016-2017-2 《Java程序设计》第三周学习总结

教材学习内容总结

一、三种重要的数字表示

无符号:编码基于传统的二进制表示法,表示大于或者等于零的数字。
补码:编码是表示有符号整数的最常见的方式,有 符号整数就是可以为正或者为负的数字。
浮点数:编码是表示实数的科学记数法 的以二为基数的版本。

二、信息存储

机器级程序将存储器视为一个非常大的字节数组, 称为虚拟存储器。存储器的每个字节都由一个唯一的数字来标识,称为它的地址,所有可能地址的集合称为虚拟地址空间。
1.十六进制表示法
2.字
每台计算机都有一个字长,指明整数和指针数据的标称大小。因为虚拟地址是以这样的一个字来编码的,所以字长决定的最重要的系统参数就是虚拟地址空间的最大大小。对于一个字长为w位的机器而言,虚拟地址的范围为0~2w-1,程序最多访问2w个字节,计算机多为32和64位。
3.字节顺序
小端法——在存储器中按照从最低有效字节到最高有效字节的顺序存储对象。
大端法——从最高有效字节到最低有效字节的顺序存储。
小端法:高对高,低对低。
大端法:高对低,低对高。
4.布尔代数
与或非,取反运算。
用0、1表示真假,以研究逻辑推理的基本原则。
5.C语言中的运算
位级:将十六进制的参数扩展成二进制表示并执行二进制运算,然后再转换回十六进制。
逻辑:逻辑运算符 “||、&&、!”分别对应于命题逻辑中的OR、AND、NOT运算。
移位:对于无符号数据,右移必须是逻辑的。而对于有符号数据,算术的或者逻辑的右移都可以。
6.整数表示

7.无符号数与有符号数转换
强制类型转换的结果保持位值不变,改变解释这些位的方式。
处理同样字长的有、无符号数之间相互转换的规则:数值可能会变,但是位模式不变。(底层的位表示保持不变)
8.IEEE浮点表示
(1)特点
符号:s决定这个数是负数(s = 1)还是正数(s = 0),而对于数值0的符号位解释作为特殊情况处理。
尾数:M是一个二进制小数,它的范围是1 ~ 2-ε,或者是0 ~ 1-ε。
阶码:E的作用是对浮点数据加权,这个权重是2的E次幂(可能是负数)。
(2)两种不同的浮点数据类型
float和double
(3)浮点数的舍入
向偶数舍入(默认)、向零舍入、向下舍入、向上舍入。
字长决定虚拟地址空间的最大大小(对于一个字长为w位的机器,虚拟地址的范围为0~2^w-1)。

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

1.小端法(Little-Endian)就是低位字节排放在内存的低地址端即该值的起始地址,高位字节排放在内存的高地址端。

2.大端法(Big-Endian)就是高位字节排放在内存的低地址端即该值的起始地址,低位字节排放在内存的高地址端。
位向量常用于集合的表述(状态压缩常用)。
对于无符号数,右移必须是逻辑的;对于有符号数,逻辑、算数右移都可以。

理解二进制在计算机中的重要地位

1.从可行性来说,采用二进制,只有0和1两个状态,能够表示0和1两种状态的电子器件有很多,比如开关的接通和断开、晶体管的导通和截止、磁原件的正负剩磁、电位电平的高低等都可以表示0和1两个数。使用二进制,电子器件具有实现的可行性。

2.从运算的简易性来说,二进制的运算法则少,运算简单,使计算机运算器的硬件结构大大简化(十进制乘法九九口诀有55条公式,而二进制乘法只有四条规则)。

3.从逻辑上讲,由于二进制0和1正好和逻辑代码假和真相对应,有逻辑代数的理论基础,用二进制表示二值逻辑很自然。

掌握布尔运算在C语言中的应用

布尔运算定义了几种二进制的运算,或、与、非和异或是我们在平时的编程过程当中也会遇到。

理解有符号整数、无符号整数、浮点数的表示

%d 十进制有符号整数

%u 十进制无符号整数

%f 浮点数

理解补码的重要性

能够统一+0和-0的表示,对于有符号整数的运算能够把符号位同数值位为一起处理

代码托管

上周考试错题总结

错题1及原因,理解情况
错题2及原因,理解情况
...

结对及互评

评分标准

正确使用Markdown语法(加1分):
不使用Markdown不加分
有语法错误的不加分(链接打不开,表格不对,列表不正确...)
排版混乱的不加分
模板中的要素齐全(加1分)
缺少“教材学习中的问题和解决过程”的不加分
缺少“代码调试中的问题和解决过程”的不加分
代码托管不能打开的不加分
缺少“结对及互评”的不能打开的不加分
缺少“上周考试错题总结”的不能加分
缺少“进度条”的不能加分
缺少“参考资料”的不能加分
教材学习中的问题和解决过程, 一个问题加1分

代码调试中的问题和解决过程, 一个问题加1分

本周有效代码超过300分行的(加2分)
一周提交次数少于20次的不加分
其他加分:
周五前发博客的加1分
感想,体会不假大空的加1分
排版精美的加一分
进度条中记录学习时间与改进情况的加1分
有动手写新代码的加1分
课后选择题有验证的加1分
代码Commit Message规范的加1分
错题学习深入的加1分
点评认真,能指出博客和代码中的问题的加1分
结对学习情况真实可信的加1分
扣分:
有抄袭的扣至0分
代码作弊的扣至0分
迟交作业的扣至0分
点评模板:

博客中值得学习的或问题:
xxx
xxx
...
代码中值得学习的或问题:
xxx
xxx
...
基于评分标准,我给本博客打分:XX分。得分情况如下:xxx

参考示例

点评过的同学博客和代码

本周结对学习情况

上周博客互评情况
学号1
学号2
学号3
学号4
...
其他(感悟、思考等,可选)
xxx
xxx

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第三周 500/1000 3/7 22/60
第四周 300/1300 2/9 30/90

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难,软件工程 估计方法

计划学习时间:25小时

实际学习时间:15小时

改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表)

参考资料
Java学习笔记(第8版)

《Java学习笔记(第8版)》学习指导
...

#20155327 2016-2017-2 《Java程序设计》第三周学习总结的更多相关文章

  1. Java程序设计第三周学习总结

    1. 本周学习总结 2. 书面作业 Q1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; ...

  2. 对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈

    对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈 一:教学中存在的学习问题 “1.由于同学们平时练习不足,上课总是出现跟不上老师的节奏的现象. 2.个别同学上课不认真听讲,打开 ...

  3. 20155327 2017-2018-2 《Java程序设计》第一周学习总结

    20155327 2017-2018-2 <Java程序设计>第一周学习总结 教材学习内容总结 三大平台: 1.Java SE:JVM,JRE,JDK,java语言 JVM:Java虚拟机 ...

  4. 20155327 2016-2017-2 《Java程序设计》第一周学习总结

    20155327 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 浏览教材,根据自己的理解每章提出一个问题 1.JAVA SE中JVM,JRE与JDK分别是什 ...

  5. 20155304 2016-2017-2 《Java程序设计》第九周学习总结

    20155304 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC ...

  6. 20155330 2016-2017-2 《Java程序设计》第九周学习总结

    20155330 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 学习目标 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛 ...

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

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

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

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

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

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

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

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

随机推荐

  1. background-size之CSS Sprite巧用

    前言 background-size:规定背景图片的尺寸.为CSS3属性.so...万恶的ie浏览器,此刻的内心一定是崩溃的!说实话,作为一个前端的coder,面对CSS3如此多的炫酷效果,我不能用起 ...

  2. Oracle密码过期the password has expired解决办法

    oracle 出现the password has expired这个问题,今天突然发现项目访问不了,一查发现用不了,也登不进去, 这个问题由是Oracle11g密码过期的原因导致的 调试Web项目的 ...

  3. angularJs的作用域和依赖注入

    一.angularJs的作用域 &scope这是局部作用域,先在局部作用域中找,如果没有就在全局作用域中找  &rootScope这是全局作用域 <!DOCTYPE HTML&g ...

  4. 【C语言天天练(二二)】位操作

    C的位运算符 1.二进制反码或按位取反:~ ~(10011010) = (01100101). 假设val是一个unsigned char,~val不改名原来val的值. 2.位与:& 二进制 ...

  5. 【Java虚拟机结构(第1部分)数据类型】摘要

    <Java虚拟机规范(Java SE 7版)>作者:Tim Lindholm.Frank Yellin.Gilad Bracha.Alex Buckley 摘要:第二章 Java虚拟机结构 ...

  6. luogu P2742 【模板】二维凸包

    嘟嘟嘟 没错,我开始学凸包了. 其实挺简单的. 前置技能: 1.极坐标系 2.向量叉积 1.极坐标系 就是一种二维坐标系.只不过两个坐标分别表示向量和极轴的角度和自身的长度.对于不同的问题,极轴可以自 ...

  7. EF和linq to sql 关系

    LINQ to SQL 允许你用任何类来代表数据库中的数据.表.同样的,EF也允许你用任何类来代表苏据库中的数据.表. 所不同的的地方是Linq to sql 用这些被修饰过的类直接同数据库打交道,存 ...

  8. Jenkins Gitlab持续集成打包平台搭建

    http://www.cnblogs.com/skyseraph/p/5695021.html 1. 相关概念 Jenkins Jenkins,一个用Java编写的开源的持续集成工具,提供了软件开发的 ...

  9. Filters in ASP.NET Core (转自MSDN)

    Filters in ASP.NET Core MVC allow you to run code before or after specific stages in the request pro ...

  10. koa2学习笔记01 - 创建项目 —— koa生成器一键生成koa项目

    前言 从17年开始尝试学习搭建个人网站开始,就开始学习摸索node了,至今差不多快两年了. 说起来现在都9102年了,所以最近打算整体设计重构一下网站,索性node后台也重写一遍. 重温一下node, ...