20175209 《Java程序设计》第二周学习总结
教材学习内容总结
二三章介绍的主要是Java中的基本知识:数据类型及转换,数据的输入输出,数组,运算符表达式,和常见的一些语句,这些都是帮助我们学习Java的基本知识,而这些知识很大一部分都和C语言相同,因此在学习时并不吃力,许多都很容易理解。当然,由于编译软件和环境的原因,还是存在一部分和C语言不同的地方,在接下来的内容中会有详细介绍。
在此指出问题的同时也会对和C语言不同的地方做出简要说明。
第二章学习问题总结
区别1:字符集的使用
C语言中的字符来源主要是ASCII码表,共计128或256种可能的字符,而Java中采用Unicode字符集,最多可识别65536个字符,这为代码的编写提供了更加充足的空间。
区别2:数据类型的不同
需要注意的是,与C语言相比在Java语言中多了逻辑类型boolean,作用是定义逻辑变量例如Java中的true和false;在整数类型中,Java中多出了byte类型,long型变量在定义时要加上后缀L;浮点类型中定义float型变量时需要加上后缀F或f,否则会被当做double型变量;在Java中不存在无符号类型的byte,short,long,int和char型变量,因此也不能用unsigned声明。
区别3:输入和输出
在输入和输出方面,我认为Java和C语言存在较大差异。首先Java中不能直接键盘输入,而是要从Java库中调用Scanner类进行输入;输出时Java语言主要采用System.out.println的命令,注意这里的“ln”代表了C语言中的“\n”表示换行,在输出时字符串和数字之间需要用到“+”进行连接。
区别4:数组
关于数组,最主要的区别在于定义数组时,C语言中定义数组为int a[5] ,在Java中需要用到关键字new进行定义:int a[] = new a[5]。此处注意:Java中允许直接使用int指定数组元素的个数;其余知识点例如数组的初始化和长度都比较易于理解,也没有需要特殊记忆的内容,大家在学习教材后很容积就可以理解,在此不再过多介绍。
问题1:在编写程序Example2_3时,对于程序中第一行给出的命令不理解

问题1解决方案:按照书上讲述的内容,我首先去书上4.10中阅读了相关内容并学习到了一个新的关键字package,在了解import的内容后,我又对package和import的用法产生了疑问,在浏览网上的相关解答(https://wenda.so.com/q/1368830278060213?src=140个人认为是最适合自己的理解方式)并在蓝墨云中和老师同学们的讨论后,我认识到了二者的区别,package是将某些类打包至某个目录下,而import则是调出包中的类,Example2_3中的类已经默认被package好,我们直接调出即可,类似于C语言中的头文件。
注意点1:关于书上的例子Example2_5,老师在蓝墨云中所给的代码和书上所给的代码有所不同,与书上相比多了一行命令System.out.println(Arrays. toString(a));

这行命令的作用是按照从小到大顺序输出数组,这样在输入要查找的数字时也能够清晰看出查找的数字是否在其中。

第三章学习问题总结
区别1:运算符的扩张
在运算符方面,Java与C语言相比多出了位运算符和instanceof运算符。位运算符作用是对整型数据进行位运算,包含与、或、非、异或运算;instanceof运算符的作用是对表达式两遍类的包含关系的逻辑真值进行判断。
区别2:switch语句
在书上P43页中强调switch语句中表达式的值不可以是long型,因为在Java中规定switch语句中参数只能是离散型或枚举型,byte,int,char,short均属于离散型,而枚举型需要自己定义,因此不可以为龙型。这一点在C语言中并没有如此规定。
区别3:for语句的扩充
在JDK 1.5中对for语句功能进行了扩充,给出了for语句一种新的书写方式(书上P46):for (声明循环变量: 数组的名字) {}
个人认为这种方式相对而言减轻了程序员编写代码的出错率,与原来的for语句的使用相比有所简化,而且便于记忆。
问题1:对于书上的内容学习过后的应用还是不够自如,在完成蓝墨云中的习题时不是很顺利,有些题目不能及时看出存在的问题。
问题1解决方案:针对这个问题,我觉得还是程序写的比较少,在学习的时候除了书上给出的例子和视频资源中的一些例子没有写过其他的程序,因此虽然书上的内容都理解了但有时不会应用。为了解决这个问题,我认为首先要把书上每一章的课后习题都过一遍,书上的例题是对每一章的总结,其中不乏一些改错题和编译题,对我们的学习会有很大帮助。此外应该再Linux中多调试一些程序,理解每一步程序运行的方法,我认为这对于我们在编写程序时可以避免一些错误。另外可以多找一些基础的程序,自己编写操作一下。
关于代码调试:
第二三章的代码在总体上来说其实大同小异,第三章主要是让我们熟练掌握各种循环语句的使用方法。再次接触调试时用起来熟练度明显提升,和调试第一章代码时相比有一个好处就是,第二三章中有很多循环语句,之前所给的博客中有一部分命令是关于调试循环时的操作方法,在调试第一章代码时这一部分时进行不到的,在调试二三章代码时就弥补了之前的操作漏点。(图中主要列举了执行断点操作的相关步骤)

脚本运行截图:
这里出现了一些问题,由于我之前建立的仓库存在一点问题,所以我又重新建立了一个仓库,并把上一周的作业(包括书上和课上的程序还有两个脚本)重新上传至仓库中,所以显示的时间应该是3月7日的时间。
在将新仓库的内容推送到码云上时出现了一个问题,上一次我推送仓库的时候Linux中的bin文件夹是可以在码云仓库中显示的,但是这一次再次推送时一直没有显示bin文件夹,我以为是自己操作的问题所以重复了很多次操作,并且在同学的帮助下用一部分命令强制将bin文件推送至仓库中,但后来老师给出解答:码云的仓库只是用于托管代码,可以用代码生成的不需要管理,因此bin文件不需要上传至git中,之后在经历了几次修改之后,终于把之前的工作都补齐成功上传。
以下为脚本截图(二三章的脚本我统一分两次上传,因此注释分别为chapter2和chapter3,。在上传时将注释打错了,capter应为chapter)


20175209 《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 ...
随机推荐
- Linux & Windows 环境下 RabbitMQ 安装与基本配置
索引: 目录索引 参看代码 GitHub: rabbitmq.txt 一.Linux (DeepinOS) 环境 .安装: sudo apt install rabbitmq-server .进入目录 ...
- 使用mysqlhelper可以连接mysql
已经验证OK通过. 参考地址: https://www.oschina.net/code/snippet_579976_48967 https://files.cnblogs.com/files/mo ...
- VS根据数据库生成实体类
一.在类库项目上添加新项 二. 三.依次填入数据库连接 选择数据库 就可以生成数据库实体
- 自动化测试之路2---python安装
借鉴这位老哥的文章http://www.cnblogs.com/shabbylee/p/6792555.html
- Bootstrap -- 导航栏样式、分页样式、标签样式、徽章样式
Bootstrap -- 导航栏样式.分页样式.标签样式.徽章样式 1. 使用图标的导航栏 使用导航栏样式: <!DOCTYPE html> <html> <head&g ...
- 【js】this问题
var obj = { a: 10, b: () => { console.log(this.a); // undefined console.log(this); // Window {pos ...
- nginx与fastdfs配置详解与坑
nginx与fastdfs配置详解与坑 环境 ubantu19.04 fastdfs-5.11 fastdfs-nginx-module-1.20 libfastcommon-1.0.39 nginx ...
- python购物车demo
product_list = [ ('Iphone',11800), ('Mac Pro',13800), ('BMW CAR',480000), ...
- 调用Runtime.getruntime 下的exec方法时,有",<,|时该怎么办?
今天写一个用到编译的程序,遇到了问题. 在调用runtime.exec("javac HelloWorld.java");运行完美,也就是有生成.class. 而到了runtime ...
- 如何基于Winform开发框架或混合框架基础上进行项目的快速开发
在开发项目的时候,我们为了提高速度和质量,往往不是白手起家,需要基于一定的基础上进行项目的快速开发,这样可以利用整个框架的生态基础模块,以及成熟统一的开发方式,可以极大提高我们开发的效率.本篇随笔就是 ...