20145208《Java程序设计》第2周学习总结
2015208 《Java程序设计》第2周学习总结
教材学习内容总结
- 本章内容主要讲了类型、变量与运算符的一些知识,也讲了一些基本的流程语法。
类型
基本类型
- 整数:short整数(占2字节),int整数(占4字节),long整数(占8字节)。
- 字节:byte类型--用于逐字处理数据。
- 浮点数:用于储存小数数值。分为float类型(4字节)和double类型(8字节)。
- 字符:char类型(2字节)。
- 布尔:只有true和false,表示真假逻辑。
类类型是第四章讲的内容,我在本周没有进行深入的学习
- 学到这里我已经发现,JAVA语言的数据类型大体上了C语言一样,这为我学习JAVA更添了一份信心。
注释
注释的意义
- 在视频的学习中和老师的学习指导博客中,我也意识到了注释的重要性。注释是帮助别人理解程序,增强我所编写的程序的可读性,最好的程序和最差的程序都是不用注释的。
注释的方法
- 单行注释://注释内容。
- 多行注释:/* 注释内容 */
- java.doc文档注释:/** 注释内容 */
变量
变量的命名
- 变量的命名不可以用数字作为开头,也不可以用一些特殊字符,而且变量名称不能与关键字和保留字同名,命名是要以小写字母开始且各单字首字母大写的驼峰式命名法,这样方便别人一眼看出变量作用。
- 注意在命名的时候不要使用汉语拼音的方法来命名。
- 例如:ageOfStudent。
字面常量
- 整数可以用二进制(0bdddd),八进制(0ddd)、十进制(dddd)、十六进制(0Xdddd)。
- 浮点数除了使用小数方式还可以直接用科学记号表示。
- 一些常用的忽略符号。
- \uxxxx表示法。
数字常量
- Java SE7 后可以用下划线分隔数字,如:
123_456,3.141_592_653,0b1010_0011.
运算符
- 算术运算符:+(数值相加或字符串相加)、-、*、/、%、++、--。
- 赋值运算符:=、+=、-=、*=、/=、%=
- 比较运算符:==、!=、<、>、<=、>=,比较运算符的结果都是布尔型,要么为true,要么为false
- 逻辑运算符:&、|、^、!、&&、||
- 位运算符:<<、>>、>>>(无符号右移)、&、|、^、~,位运算是对二进制进行运算
类型转换:
- 自动类型提升:如果表达式中包括不同类型数值,则运算时以最长的为主,其他数值自动提升类型。
- 强制类型转换:长的类型转换为短的需要强制进行。
流程控制:
- 判断结构:if-else语句
- 选择结构:switch语句
- 循环结构:while语句、do while语句、for语句
- 通过对一些JAVA中基础的流程语句结构的学习,我发现与C语言中的基本相同,上手起来也很轻松。
教材学习中的问题和解决过程
在教材的学习中,我主要是在对着教材敲代码,但是在敲代码中我也发现了一些问题。
比如卢肖明同学也提到的一道题(http://group.cnblogs.com/topic/73916.html)教材64页的代码。
public class Shift
{
public static void main(String[] args)
{
int number=1;
System.out.printf("2 的 0 次方: %d%n",number);
System.out.printf("2 的 1 次方: %d%n",number=number << 1);
System.out.printf("2 的 2 次方: %d%n",number=number << 2);
System.out.printf("2 的 3 次方: %d%n",number=number << 3);
}
}

可以看到运行结果不是正确的。这是因为误将number多次赋值造成的。
可以将代码修改成
public class Shift
{
public static void main(String[] args)
{
int number=1;
System.out.printf("2 的 0 次方: %d%n",number);
System.out.printf("2 的 1 次方: %d%n",number=number << 1);
System.out.printf("2 的 2 次方: %d%n",number=number << 1);
System.out.printf("2 的 3 次方: %d%n",number=number << 1);
}
}
或者
public class Shift
{
public static void main(String[] args)
{
int number=1;
System.out.printf("2 的 0 次方: %d%n",number);
System.out.printf("2 的 1 次方: %d%n",number << 1);
System.out.printf("2 的 2 次方: %d%n",number << 2);
System.out.printf("2 的 3 次方: %d%n",number << 3);
}
}
均可以解决这一问题。
代码调试中的问题和解决过程
其他(感悟、思考等)
对于九九乘法表不显示重复部分
public class NineNineTable2 {
public static void main(String[] args) {
for (int j = 1; j < 10; j++) {
for (int i = 1; i <= j; i++) {
System.out.printf("%d*%d=%2d ", i, j, i * j);
}
System.out.println();
}
}
}

学生成绩评级
- 书上的代码中Level符合MECE(相互独立,完全穷尽),虽然效率不如Level高,但是却不会出现120分评级为E的现象。
可以修改为如下代码可以得出正确的结果。
public class Level2 {
public static void main(String[] args){
int score = 120;
int quotient = score / 10;
char level;
if(quotient>10 )
level = 'A';
else {
switch (quotient) {
case 10:
case 9:
level = 'A';
break;
case 8:
level = 'B';
break;
case 7:
level = 'C';
break;
case 6:
level = 'D';
break;
default:
level = 'E';
}
}
System.out.printf("得分等级:%c%n",level);
}
}
random()的值的范围
- 通过*数字来确定范围

- 我将
*10修改为*110出现了如图效果。
C语言与JAVA的异同
- 本周的学习让我觉得C语言与JAVA 的基础语法和结果十分相似,甚至JAVA还要相对于C语言更好掌握一点。
思考
- 果然,多敲代码多联系十分有用,从开学到现在,仅仅敲了了300行左右的代码就能感受到自己的进步,配合上教材和老师的博客上的内容,本学期JAVA的学习确实更像是健身教练和健身学员,健身教练也就是老师给出了一个方法和问题的解决方案,但是具体的实施和学习都要考个人的努力和主观能动性,但是只要去跟着教练的方法坚持下去就可以有很大的收获。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | 成为超过高级初学者的存在 |
| 第一周 | 150/150 | 1/3 | 15/15 | 第一个java程序 |
| 第二周 | 150/300 | 2/5 | 20/35 | 第一次对教材的代码进行自己的修改 |
参考资料
20145208《Java程序设计》第2周学习总结的更多相关文章
- 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 ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 《Java程序设计》第二周学习总结
20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...
随机推荐
- 为什么Erlang比C慢那么多倍?
Erlang 一直以慢“著称”,本文就来看看 Erlang 慢在什么地方,为什么比实现同样功能的 C 语言程序慢那么多倍.Erlang 作为一种虚拟机解释的语言,慢是当然的.不过本文从细节上分析为什么 ...
- Effective Java 32 Use EnumSet instead of bit fields
Bit fields is used for passing around sets of constants. Such as // Bit field enumeration constants ...
- Spring 下载与安装以及spring 3.2.9 jar包详解
一.Spring简介 Spring官网改版后,很多项目的完整zip包下载链接已经隐掉了,虽然Spring旨在引导大家用更“高大上”的maven方式来管理所依赖的jar包,但是完全没想到中国的国情,在 ...
- 烂泥:KVM虚拟机的关机与开启
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 我们在开启与关闭KVM虚拟机时,一般是通过start.shutdown.reboot等命令来进行.但是有时候我们会发现在使用shutdown.reboo ...
- 再学TSQL基础--单表查询
本内容是我学习tsql2008的阅读笔记 什么是关系模型? 若对列创建唯一约束,背后中的物理机制也是创建了一个唯一索引. SQL语句的逻辑解析顺序是FROM WHERE GROUP BY HAVING ...
- 《TCP/IP详解 卷一》读书笔记-----TCP persist &Keeplive timer
1.persist timer:当接收方建议的窗口大小为0时,发送方就会停止发送,直到接收方有缓存空间时再用一个窗口值非零的ACK提示发送方可以继续发送.但是这个称为window update的ACK ...
- 广搜+输出路径 POJ 3414 Pots
POJ 3414 Pots Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 13547 Accepted: 5718 ...
- 简单的抓取淘宝关键字信息、图片的Python爬虫|Python3中级玩家:淘宝天猫商品搜索爬虫自动化工具(第一篇)
Python3中级玩家:淘宝天猫商品搜索爬虫自动化工具(第一篇) 淘宝改字段,Bugfix,查看https://github.com/hunterhug/taobaoscrapy.git 由于Gith ...
- Unity3d 内置图形界面系统(Editor GUI)
一.说在前面的 1.unity内置的ui系统,无论是在性能的表现上.功能的强大性上.制作复杂ui的便捷性上,还是其它的一些方面都不如一些第三方的插件来的好,如:NGUI和DF-GUI(PS: 后者比前 ...
- Linux下php安装memcache扩展
安装环境:CentOS 6.4 php扩展memcache的作用是为了支持memcached数据库缓存服务器,下面是安装方法. 1.下载 下载地址:http://pecl.php.net/packag ...