20175221 2018-2019-2 《Java程序设计》第二周学习总结
20175221 《Java程序设计》第2周学习总结
教材学习内容总结
教材方面
- 本周学习了第二章的“基本数据类型与数组”的内容,以及粗略地看了一下第三章“运算符、表达式和语句”的内容。
- 由于第二.三章大部分内容都已经在c语言的学习过程中懂了,所以这一次的学习相对来说较为轻松,也节省了很多时间。
- 但java和c即使是相同的内容,也是会有一些不一样的表示方法,例如:
- java中的char型数据一定是无符号的,而且不允许使用unsigned来修饰所声明的char型变量。
- java允许使用int型变量的值指定数组的元素的个数。
- ......
- 而且java有很多细节需要去注意,不然一不小心就会犯错,从而导致程序编译失败,例如:
- float型常量后面必须有后缀f或F
- switch表达式中的值不能是long类型
- ......
- 所以我觉得,通过类比于c的学习,java的进度还是很快的。
- 这期间有一个失误,我的git commit 注释没有做好,所以导致总截图看起来比较乱,这是我的失误,下周开始会改正的
其他方面
IDEA的安装
- 首先进入https://account.jetbrains.com/login,注册一个jetbrains账号

然后进入https://www.jetbrains.com/zh/student/,下载Toolbox APP的tar版(注意!我这里是在虚拟机上操作的,所以下的是Linux版的压缩包。如果是在windows上操作,就选择相对应的版本下载就行了)

- 下载完后,运行Toolbox App,并安装Intellj IDEA Ultimate

-
安装完后一路next,之后停在登录界面,点击evaluate for free试用一个月,就可以开始使用IDEA了
后续工作
-
只是试用还是不够的,我们接下来申请学生免费使用权。进入https://www.jetbrains.com/shop/eform/students?_st=22h9vvympu。根据提示填写信息,并上传照片,如图勾选。


IDEA的使用
-
把老师给的快捷键过一遍,首先是「Alt+1」显示项目视图

-
然后是在代码编辑窗口中输入「psvm」,然后按「tab」,IDEA会帮我们生成main方法

-
接着代码编辑窗口中输入「sout」,然后按「tab」,IDEA会帮我们生成
System.out.println() 
-
至此,可以慢慢感觉到:IDEA的方便之处,感觉是更智能化,一个tab补全很多东西,可以节省很多时间。
教材学习中的问题和解决过程
问题1:教材17页,Unicode只有65536个字符存放,真的能表示完世界上所有的字符吗?
问题1解决方案:上网查阅资料得知:
- 2的16次方即65536给初学计算机的人一般会留下比较深刻的印象。
- Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案,它为世界上目前已存在的所有文字和符号以及将来可能出
现的字符都指定(或者说预留)了一个唯一的数字编码,但它并不是具体的实施方式。 - 也就是说Unicode中的数字编码和电脑上的文字编码是不能直接划等号的。UTF-8、UTF-16和UTF-32才是具体的实施方式,其中UTF-8
用8位的倍数来表示一个字符,也就是说在UTF-8编码格式中,一个字符可以是8位(一个字节),同理,UTF-16则可以是16位(两个字
节)、32位(四个字节),而UTF-32则所有字符都是32位(即四个字节)的。 - 事实上,用三个字节表示一个字符的容量(16777216)已经远远超过Unicode标准中的最大容量(17*65536=1114112)了。所以足够
了,另外中文的unicode码的范围4e00-9fa5 
问题2:教材23页的例子3,import那行是什么意思?它和后边章节的package有什么关系
问题2解决方案:
上网查阅资料得知:
- package功能是将一些类打包至某个目录下,import是引出包中的类。
- 书上给出的java.的包已经默认package过了,也就是打包了, 类似c的头文件。
- 所以我们在引用的时候要点名引用的是哪个目录下的类,import引出就行了。

问题3:教材43页,switch表达式中的值为什么不能是long类型
问题3解决方案:上网查阅资料得知:
swtich()里面必须是int和enum--即枚举类型。
short、 char 或者 byte他会自动转换为int的。
- long不能自动转换为int,因为long比int范围大,可能会丢失精度。

代码调试中的问题和解决过程
问题1: 175221.java文件编写完以后,编译很多次都没有出来175221.class文件
问题1解决方案:上网查阅资料得知,问题出在,给文件起名称不能以数字开头
- (1)第一个字符必须是字母(不分大小写)或下划线(_);
- (2)后跟字母(不分大小写)、下划线(_)或数字组成;
- (3)标识符中的大小写字母有区别。
(4)不能与c编译系统已经预定义的、具有特殊用途的保留标识符(即关键字)同名。

代码托管(https://gitee.com/zxjacdl/zxj175221/tree/master)

上周考试错题总结
错题1
如果在Main.java中撰写以下的程序代码:
public class Main {
public static void main(string[] args) {
System.out.println("Hello World");
}
}
以下描述何者正确?
A . 执行时显示Hello World
B . 执行时出现NoClassDefFoundError
C . 执行时出现出现找不到主要方法的错误
D . 编译失败
选D。有两个错误:
1.“String”的S要大写
2.“【】”应该是在arg数组名称后边,而不是在String字符串后边。
结对及互评
点评过的同学博客和代码
上周博客互评情况(只要链接,具体点评放相应博客下)
其他(感悟、思考等,可选)
这是学习java的第二周,也是第二次写博客。
经过第一周的熟悉之后,第二周托管代码的任务很快就完成了。
紧接着是观看教材配套视频和做课后作业,以及一些其他任务。
目前java的学习任务可以说是有条不紊地进行着,相信我能够认真并坚持下去
学习进度条(三月份)
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 1000行 | 4篇 | 50小时 | |
| 第一周 | 13/13 | 1/1 | 12/12 | |
| 第二周 | 309/322 | 1/2 | 13/25 | 敲代码的量有了明显的提升 |
| 第三周 | 0/322 | 0/2 | 0/25 | |
| 第四周 | 0/322 | 0/2 | 0/25 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。 耗时估计的公式 :Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:12小时
实际学习时间:13小时
改进情况:这一周算是真正开始了java学习,敲代码的量有了明显的提升,我觉得这是一个很大的进步,希望我能在后边的学习继续保持下去。
(有空多看看现代软件工程 课件软件工程师能力自我评价表)
参考资料
[ Java 2 实用教程(第5版)]
20175221 2018-2019-2 《Java程序设计》第二周学习总结的更多相关文章
- 20145304 刘钦令 Java程序设计第二周学习总结
20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...
- 201521123063 JAVA程序设计 第二周学习总结
1.本周学习重点(2.27-3.5) java中的数组 以二维数组为例,数组名为scores,则 (1)先声明数组 int[][] scores;或int scores[][];或int[] scor ...
- 2017面向对象程序设计(Java)第二周学习总结
2017面向对象程序设计(Java)第二周学习总结 直系学妹学弟们好!额...不要问我为什么把学妹放前面,我也不知道!我只是你们和蔼可亲的学长一枚而已.也不要问为什么是第二周学习总结而不是第一周,因为 ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第二周学习总结
丁宣元 <面向对象程序设计(java)>第二周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在 ...
- 201521044152<java程序设计>第一周学习总结
本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...
- 20145304 刘钦令 Java程序设计第一周学习总结
20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...
- 201621123007 Java程序设计第一周 学习总结
第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...
- 201871010121 王方 《面向对象程序设计(java)》 第二周学习总结
这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/11475 ...
- 杨其菊201771010134《面向对象程序设计Java》第二周学习总结
第三章 Java基本程序设计结构 第一部分:(理论知识部分) 本章主要学习:基本内容:数据类型:变量:运算符:类型转换,字符串,输入输出,控制流程,大数值以及数组. 1.基本概念: 1)标识符:由字母 ...
- 201777010217-金云馨《面向对象程序设计(Java)》第二周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
随机推荐
- Git命令备忘
最近在用Git,查了点相关资料,逻辑依然不太明了,先整理一部分备忘,以后补充 一.本地Git与Github/码云的关联 1. 设置本地用户名,邮箱 git config --global user.n ...
- c/c++ 网络编程 UDP 改变网卡的硬件地址
网络编程 UDP 改变网卡的硬件地址 在程序里动态改变网卡的硬件地址 1,取得网卡的硬件地址 #include <stdio.h> #include <string.h> #i ...
- IO多路复用三种方式select/poll/epoll
select多并发socket例子: #_*_coding:utf-8_*_ __author__ = 'Alex Li' import select import socket import sys ...
- 《JAVA程序设计》_第四周学习总结
一.本周学习内容 1.子类与父类--5.1知识 在类的声明中用关键字extends来定义一个类的子类,格式如下: class 子类名 extends 父类名 { ... } 2.子类的继承性--5.2 ...
- 转://11g之后,通过v$wait_chains视图诊断数据库hang和Contention
1g之前,通常我们数据库hang住了之后,我们会对数据库做hang analyze来进行分析,在11g之后,我们可以通过一个新的视图v$wait_chains来诊断数据库hang和contention ...
- C. Songs Compression(简单贪心)
水题 #include<iostream> #include<algorithm> using namespace std; #define LL long long ; st ...
- [LeetCode] 7. 整数反转
题目链接:https://leetcode-cn.com/problems/reverse-integer/ 题目描述: 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 ...
- SpringBoot前端模板
Springboot支持thymeleaf.freemarker.JSP,但是官方不建议使用JSP,因为有些功能会受限制,这里介绍thymeleaf和freemarker. 一.thymeleaf模板 ...
- 模型加速[tensorflow&tensorrt]
在tensorflow1.8之后的版本中,tensorflow.contrib部分都有tensorrt的组件,该组件存在的意义在于,你可以读取pb文件,并调用tensorrt的方法进行subgraph ...
- Gdi绘图
在使用VC开发项目过程中,界面是项目中的一个子模块.虽然界面并不那么重要,把握住核心功能就可以了,但界面美观与否直接关系到用户的体验, 因此我们也应该关注界面的处理. 我们可以在OnEraseBkgn ...