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页的代码。

  1. public class Shift
  2. {
  3. public static void main(String[] args)
  4. {
  5. int number=1;
  6. System.out.printf("2 的 0 次方: %d%n",number);
  7. System.out.printf("2 的 1 次方: %d%n",number=number << 1);
  8. System.out.printf("2 的 2 次方: %d%n",number=number << 2);
  9. System.out.printf("2 的 3 次方: %d%n",number=number << 3);
  10. }
  11. }



可以看到运行结果不是正确的。这是因为误将number多次赋值造成的。

可以将代码修改成

  1. public class Shift
  2. {
  3. public static void main(String[] args)
  4. {
  5. int number=1;
  6. System.out.printf("2 的 0 次方: %d%n",number);
  7. System.out.printf("2 的 1 次方: %d%n",number=number << 1);
  8. System.out.printf("2 的 2 次方: %d%n",number=number << 1);
  9. System.out.printf("2 的 3 次方: %d%n",number=number << 1);
  10. }
  11. }

或者

  1. public class Shift
  2. {
  3. public static void main(String[] args)
  4. {
  5. int number=1;
  6. System.out.printf("2 的 0 次方: %d%n",number);
  7. System.out.printf("2 的 1 次方: %d%n",number << 1);
  8. System.out.printf("2 的 2 次方: %d%n",number << 2);
  9. System.out.printf("2 的 3 次方: %d%n",number << 3);
  10. }
  11. }

均可以解决这一问题。

代码调试中的问题和解决过程

其他(感悟、思考等)

对于九九乘法表不显示重复部分

  1. public class NineNineTable2 {
  2. public static void main(String[] args) {
  3. for (int j = 1; j < 10; j++) {
  4. for (int i = 1; i <= j; i++) {
  5. System.out.printf("%d*%d=%2d ", i, j, i * j);
  6. }
  7. System.out.println();
  8. }
  9. }
  10. }

学生成绩评级

  • 书上的代码中Level符合MECE(相互独立,完全穷尽),虽然效率不如Level高,但是却不会出现120分评级为E的现象。

    可以修改为如下代码可以得出正确的结果。
  1. public class Level2 {
  2. public static void main(String[] args){
  3. int score = 120;
  4. int quotient = score / 10;
  5. char level;
  6. if(quotient>10 )
  7. level = 'A';
  8. else {
  9. switch (quotient) {
  10. case 10:
  11. case 9:
  12. level = 'A';
  13. break;
  14. case 8:
  15. level = 'B';
  16. break;
  17. case 7:
  18. level = 'C';
  19. break;
  20. case 6:
  21. level = 'D';
  22. break;
  23. default:
  24. level = 'E';
  25. }
  26. }
  27. System.out.printf("得分等级:%c%n",level);
  28. }
  29. }

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周学习总结的更多相关文章

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

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

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

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

  3. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

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

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

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

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

  6. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  7. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  8. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

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

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

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

    20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...

随机推荐

  1. Java 图片处理——如何生成高清晰度而占有磁盘小的缩略图

    现在的web项目,图片越来越多,图片大小也越来越大,随便就能达到1M,2M,甚至更大.用户上传的图片,一般是无法直接使用的.一般要生成两三种对应的缩略图,分别适配不同的终端,不同的场景.比如PC,手机 ...

  2. 《SQL Server企业级平台管理实践》读书笔记——SQL Server中关于系统库Tempdb总结

    Tempdb系统数据库是一个全局资源,可供连接到SQL Server实例的所有用户使用. 存储的内容项: 1.用户对象 用户对象由用户显示创建.这些对象可以位于用户会话的作用域中,也可以位于创建对象所 ...

  3. cd dirname $0

    这个命令的功能是返回脚本正在执行的目录. 可以根据这个目录来定位运行的程序的相对位置. 这样,对shell脚本里面的相对目录的路径代码就比较安全了.在任何一台服务器上面都可以安全执行.

  4. 烂泥:通过vsphere给esxi添加本地硬盘

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 公司ESXi服务器的硬盘空间不够使用,现在新加了一块硬盘在ESxi服务器上.在服务器上添加完硬盘后,在Vsphere上是看不到新加硬盘的. 下面我们来通 ...

  5. HTML5客户端数据存储

    HTML5 使在不影响网站性能的情况下存储大量数据成为可能.之前,这些都是由 cookie 完成的,cookie不适合大量数据的存储,因为会影响速度. 举个例子: var obj = {x:1}; / ...

  6. Kafka原理与java simple producer示例

    brokers和消费者使用zk来获取状态信息和追踪消息坐标. 每一个partition是一个有序的,不可变的消息序列. 只有当partition里面的file置换到磁盘文件以后,才开放给消费者来消费. ...

  7. JavaScript功能检测技术和函数构造

    Javascript与很多编程语言不同,它不能够控制其运行环境.再写php代码时,只要在服务器端部署了正确的版本,那么程序就绝对能够运行,对于其他python或ruby后端语言来说,也不存在什么灰色区 ...

  8. 使用DateLocaleConverter和SimpleDateFormat实现字符串转换成日期

    使用DateLocaleConverter: public static void change() { String birthday = "1990-12-32"; DateL ...

  9. html之大白

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  10. selenium循环点击文本框

    1.可以用xpath循环点击checkbox List<WebElement> list = dr.findElements(By.className("datagrid-row ...