20165215 2017-2018-2 《Java程序设计》第2周学习总结
20165215 2017-2018-2 《Java程序设计》第2周学习总结
教材学习内容总结
chapter2
- 逻辑类型
boolea只能赋值true或false - Java没有无符号整数类型,例如
unsighed int m是错误的 - 可用字符在Unicode中排序的十六进制装义(用u做前缀)表示该字符;
char x='a'等价于char x=97。 - 浮点类型
float保留8位有效数字,double保留16位有效数字。例如float x=12345.123456789f中实际存储的值为12345.123. - 输入字符串过长时,不可在" "中回车,应拆解成" "+ " "然后在+号前后进行回车换行。
- Java不允许在声明数组中的方括号内指定数组元素的个数
int []a,b[]等价于int a[],b[][]- 两个相同类型的数组如果具有相同的引用,它们就有完全相同的元素
chapter3
运算符、表达式和语句这章所讲的内容与C语言有很多相同之处,因此本章的内容总结主要是针对两者的不同
- 关系运算符与表达式的运算结果为
boolean型,逻辑运算与表达式的操作元必须是boolean型 - switch(表达式)中“表达式”的值可以为byte、short、int、char型,但不可为long型
- do while与while的区别在于do while中的循环体至少被执行一次
- 执行break语句则结束整个循环;continue语句结束本次循环,进行下一次循环
- for 语句与数组的格式为:
for(声明循环变量:数组的名字),其中声明循环变量的类型必须与数组类型相同
教材学习中的问题和解决过程
- 问题1:如何理解Java中不存在byte/short型常量的表示法,但可以把一定范围内的int型常量赋值给byte/short型变量?
- 问题1解决方案:通过查询,我找到这样一个说明
常量有两种,一种是final 的变量,由于不能修改,大家称是常量,另一种是真实的值,例如“abc” 这才是正统的常量。
有一列数 1, 2L,3.0, 4.0f。系统会认为第一个是int常量,第二个带 L是long型常量,第三个是double型,第四个是 float型。 但是 byte/short类型没有这样的写法。但只要定义final byte A=1; final short B=2;则A和B就是对应的常量了。
- 问题2:如何理解教材中的例子
byte a = (byte)128;
byte b = (byte)(-129);
那么a和b得到的值分别是-128和127
- 问题2解决方案:跟随微视频的课程学习,我是这样理解的:byte的取值范围为-128~127,以此为一个周期无限循环。存储中应是如此排列:……126、127、-128、-127……0,1,……127,-128……
- 问题3:如下程序,我理解的输出结果应为x=-6,y=0,事实上代码运行结果为x=-5,y=-1
public class E4 {
public static void main (String args[]) {
int x=1,y=6;
while(y-->0) {
x--;
}
System.out.print("x="+x+",y="+y);
}
}
- 问题3解决方法:
x--表示在使用过x之后,使x的值减1
以此本题应如此理解
| 循环次数 | 判断是否循环时的y值 | y的实际值 | x的实际值 |
|---|---|---|---|
| 1 | 6 | 5 | 0 |
| 2 | 5 | 4 | -1 |
| 3 | 4 | 3 | -2 |
| 4 | 3 | 2 | -3 |
| 5 | 2 | 1 | -4 |
| 6 | 1 | 0 | -5 |
| 7 | 0 | -1 | / |
当判断到y=0时结束循环体,此时y的取值为-1,x=-5
代码调试中的问题和解决过程
- 问题1:如何打出Example2_1中的日文字符あ
- 问题1解决方案:第一种是直接在Ubuntu中选择虚拟键盘里的平假名,便可以看到;第二种是在Ubuntu下安装日语输入法,然后敲击按键a便可找到。
- 问题2:

- 问题2解决方案:在
"Byte.MIN_VALUE"至"+Byte.MAX_VALUE的"至"前缺少+,加上即可 - 问题3:

- 问题3解决方案:注意()使用的是英文格式即可
代码托管
statistics.sh脚本的运行结果截图

其他(感悟、思考等,可选)
上周的考试可以说是措手不及,我调试的章节代码只是微视频里讲解的几个,不知道这个任务是包括章节习题里面的所有代码,但本周我便改正了这个问题,将章节里出现的完整的代码都调试一遍。还有就是本周课堂测试包的考点也给了我深刻的教训,老师第一周课上讲解的内容我有认真地做笔记记录,但因为不是第一章的学习内容,课后便没有再复习,导致我考试时明明有印象却因为一些细节的问题没能完成任务。在今后的学习中,老师上课讲过的知识点都会认真地加以巩固的。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 37/37 | 1/1 | 15/15 | |
| 第二周 | 398/429 | 2/3 | 15/30 |
参考资料
20165215 2017-2018-2 《Java程序设计》第2周学习总结的更多相关文章
- 20165215 2017-2018-2 《Java程序设计》第九周学习总结
20165215 2017-2018-2 <Java程序设计>第九周学习总结 教材学习内容总结 URL类 URL 类是 java.net 包中的一个重要的类,使用 URL 创建对象的应用程 ...
- 20165215 2017-2018-2《Java程序设计》第一周学习总结
20165215 2017-2018-2 <Java程序设计>第一周学习总结 教材学习内容总结 跟随网课学习了<Java2 实用教程>的第一章,进行了基础的编译练习 在Ubun ...
- 学号 20175212 《Java程序设计》第九周学习总结
学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
随机推荐
- python实现图片隐藏信息技术
隐秘通信的3种典型方式: ①将秘密信息隐于网络通信协议中. ②将秘密信息隐于数字签名等密码协议中 . ③将秘密信息隐于数字图像中. 第三种是利用图像或音频数据对人类感官系统的冗余. 隐藏域数字图像中的 ...
- 009-Iterator 和 for...of 循环
一.概述 原文地址:http://es6.ruanyifeng.com/#docs/iterator 二.详细 2.1.概念 遍历器(Iterator)是一种机制.它是一种接口,为各种不同的数据结构提 ...
- C# install-package:"xx"已拥有为“xxx”定义的依赖项
可能 nuget自身的版本落后于适配程序包的版本 Visual Studio 2013 更新 NuGet 包管理器 Ø 前言 使用 Visual Studio 中的 NuGet 包管理器下载程序时, ...
- Observer(__ob__: Observer) 对象添加属性
重点通过这句话给对象添加属性: this.$set(r,'upshow',false); 在data中定义laws来装从接口中请求到数据 data(){ return{ laws:[],//法律依据 ...
- JVM调优之jstack找出最耗cpu的线程、定位代码
jstack可以定位到线程堆栈,根据堆栈信息我们可以定位到具体代码,所以它在JVM性能调优中使用得非常多.下面我们来一个实例找出某个Java进程中最耗费CPU的Java线程并定位堆栈信息,用到的命令有 ...
- Spark快速获得CrossValidator的最佳模型参数
Spark提供了便利的Pipeline模型,可以轻松的创建自己的学习模型. 但是大部分模型都是需要提供参数的,如果不提供就是默认参数,那么怎么选择参数就是一个比较常见的问题.Spark提供在org.a ...
- 339A
#include <iostream> #include <string> #include <algorithm> using namespace std; #d ...
- android studio 设置安装不占用C盘
我们知道,android studio 安装会占用大量的空间,比如我们我们将andriod status 安装到了D:\IDE\Android Studio这里,但是你会发现,在编译出包过程中,C盘的 ...
- C#通过RFC连接sap系统
先理解一下 RFC(Romote Function Call)远程函数调用 调用前提: 1.要想通过C# 通过RFC调用SAP端,SAP端要存在RFC远程调用的函数才行(例如SAP端通过SE37创建) ...
- Tortoisegit和GitHub使用入门
作为一个Code人对于github并不陌生吧,记录下使用说明: gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub. 工具: git: ...