20172328《程序设计与数据结构》第二周学习总结

20172328李馨雨《程序设计与数据结构》第二周学习总结

又到周五,李馨雨同学要开始写博客了。让我们开始吧!(????)

教材学习内容总结

  • 1.首先是String类定义的字符串,然后是printprintln的区别、转义字符的学习。(让我印象深刻的\b【回车符】在字符串结尾不显示哈哈,及其更新的\t【换行符】,还有在课堂上真正明白了什么是回车。)
  • 2.了解变量、常量、赋值语句。变量:保存数据的内存单元。常量:坚定自己不会变的数据!除非你用java的反射(有点复杂,改权限、去修饰符等等。没实践过不能具体说明)。赋值语句:掌握基本运算再加以运用就好。
  • 3.基本数据类型:四个整型、两浮点型、字符型和布尔型。
  • 4.表达式的学习和运算符类型和功能了解;给你看看运算符的family:求余%、加+、减 -、乘 、除 /、右移>>、左移<<、自增++、自减 --、组合赋值+=、-=、=、/=、%=。运算符优先级:括号你先、乘除夹中、加减跟上、赋值断后。
  • 5.数据类型转换及其三种转换技术:压缩类型转换即大变小,容易装不下丢失数据;扩展类型转换即小变大,数据完整性比较高。三种转换技术就是:赋值类型转换【把此类变量赋给彼变量时,此变量自动转换为彼变量类型】、提升类型转换【做一个运算然后将变量类型转换】、强制类型转换【要转变类型的变量前面加(需更新的变量名)】。
  • 6.交互式程序!这才是你和计算机聊天的美好程序啊对不对!当然掌握代码、内部含义、熟练应用三部曲不可少。

    下面是我手写的总结,字有点丑,你凑合凑合着看吧啊哈哈。

教材学习中的问题和解决过程

  • 问题1:SR2-5很有意思,它问代码段输出是什么。很有把握的题目就是考printprintln的。结果很遗憾,我写错了。

    System.out.print("Ready");

    System.out.println();

    System.out.println("set");

    System.out.println();

    System.out.println("co");

    当时我以为三个单词中间都两两隔一行。

  • 1.(〃‘▽‘〃)本题解答:结果是Ready和set两行中间没有空行,我后来思考了一会,认为是第一行代码中的print使得第二行的代码失效。嗯是这样。
  • 问题2:刚开始敲书上代码时,发现常量名称都是用大写字母来命名。而且书上并没有具体提如何强制修改常量。
  • 2.(〃‘▽‘〃)本题解答:我去详细的找了一下java中的命名规则。如下

    强制修改常量的话帖子很少,修改成功率好像也挺低。没做深究。

  • 问题3:不太明白字符型究竟是什么?书上说是字符和字符串后面又提到了字符集和char数据类型,当时有点懵ミ?Д?彡。
  • 3.(〃‘▽‘〃)本题解答:百度到的结果如下:

    字符型量包括字符常量和字符变量。字符串常量是由一对双引号括起的字符序列。字符变量的取值是字符常量,即单个字符。

    字符变量的类型说明符是char。字符变量类型说明的格式和书写规则都与整型变量相同。

解决了我的疑惑。

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

  • 问题1:不会移动文件到其他目录下,很头疼。认为自己命令没问题,但是移动不过去。

  • 1.(〃‘▽‘〃)本题解答:感谢我的室友仇夏和于欣月,教我只能在同一级目录下移动并且要标明具体路径。成功示例mv src/第二周/java_homework/pp1_3.class bin/第二周.
  • 问题2:定义了一个浮点值,结果显示错误,无法编译。

  • 2.(〃‘▽‘〃)本题解答:最后灵机一动。忘记在float类型数据后面加上f,因为系统默认double啊! ̄□ ̄||
  • 问题3:关于交互式程序编译完成后,出现两个输入粘连在一起的情况。

  • 3.(〃‘▽‘〃)本题解答:感谢张昊然同学教我把程序中使用Scanner的后两个变量中的next方法中的xxx = scan.nextLine();变量改为xxx = scan.next();就成功喽。看学长在蓝墨云中说再次复制第三条语句,虽然可以解决,原理现在还不太懂。

    第一种解决方法原理应该是书上提到的:如果输入数据由一系列空格符分割的单词组成,则每次调用next方法将返回下一个单词。nextLine方法读取所有数值直到输入行结束,并将所读取数据作为一个字符串返回。

    代码托管

    (statistics.sh脚本的运行结果截图)

    上周考试错题总结

  • 问题1: Which memory capacity is the largest? (哪个选项的存储容量最大?)

    A . 1,500,000,000,000 bytes (1,500,000,000,000个字节)

    B . 100 gigabytes (100千兆字节)

    C . 3,500,000 kilobytes (3,500,000千字节)

    D . 10 terabyte (10太字节)

    E . 12,000,000 megabytes (12,000,000百万字节)

  • 问题1分析和领悟:这道题是很简单的算术题,存储容量从B.KB.MB.GB.PB.TB依次以2的十次方递增。通过简单的运算比较即可得出。
  • 问题2:The ability to directly obtain a stored item by referencing its address is known as (通过引用地址直接获得存储项的能力被称为___)

    A . random access (随机存取)

    B . sequential access (顺序存取)

    C . read-only access (只读访问)

    D . fetch access (获取访问)

    E . volatility (易变性)

  • 问题2分析和领悟:在书的第十页有一句话解释的很清楚:“直接存取和随机存取两个概念是同一个意义。”
  • 问题3:It is important to dissect a problem into manageable pieces before trying to solve the problem because (试图解决问题之前,把一个问题分解成可控制的几部分是很重要的,因为)

    A . most problems are too complex to be solved as a single, large activity (大多数问题太复杂,以至于不能作为一个单独大型的活动来解决)

    B . most problems are solved by multiple people and it is easy to assign each piece to a separate person (大多数问题都是由很多人解决的而且把每一部分分配给不同的人是很容易的)

    C . it is easier to integrate small pieces of a program into one program than it is to integrate one big chunk of code into one program (将程序的小部分整合到一个程序中比将一大块代码整合到一个程序中更容易)

    D . our first solution may not solve the problem correctly (我们的第一个方案可能无法正确解决问题)

    E . all of the above (以上皆是)

  • 问题3分析和领悟:应该是选择A。
  • 问题4:The main method for a Java program is defined by (Java程序中的主方法是由___定义的)

    A . public static main( )

    B . public static main(String[ ] args);

    C . public static main(String[ ] args)

    D . private static main(String[ ] args)

    E . the main method could be defined as in A, C or D but not B (主方法可以定义为A,C或者D,但不是B)

  • 问题4分析和领悟:这个题不应该出错的,因为作为java 程序的开端,其定义后应该是由{来开始的。
  • 问题5: Which of the following is a legal Java identifier? (下面哪个是合法的Java标识符?)

    A . i

    B . class

    C . ilikeclass!

    D . idon‘tlikeclass

    E . i-like-class

  • 问题5分析和领悟: 此题目有点小问题,但是还是不应该判断理解失误。标识符是编写程序时用的各种单词。程序中自定义的标识符可以是任何字母、数字、$和下划线的组合且不能以数字开头。class虽然是标识符,但是它是保留字标识符,因此具体分析即可判断。
  • 问题6: Which of the following is true regarding Java syntax and semantics? (关于Java的语法和语义,下列哪一项是正确的?)

    A . a Java compiler can determine if you have followed proper syntax but not proper semantics (Java编译器可以判定你是否遵循正确的语法,但不能判定正确的语义)

    B . a Java compiler can determine if you have followed proper semantics but not proper syntax (Java编译器可以判定你是否遵循正确的语义,但不能判定正确的语法)

    C . a Java compiler can determine if you have followed both proper syntax and semantics (Java编译器可以判定你是否遵循正确的语义和语法)

    D . a Java compiler cannot determine if you have followed either proper syntax or semantics (Java编译器不能判定你是否遵循正确的语义或语法)

    E . a Java compiler can determine if you have followed proper syntax and can determine if you have followed proper semantics if you follow the Java naming convention rules (如果你遵循Java的命名规范,Java编译器就可以判定你是否遵循正确的语法,并且可以判定你是否遵循正确的语义)

  • 问题6分析和领悟: java编译器可以判断你的语法,但是不能判定语意。因此程序员应对一个程序的精准度负责。
  • 问题7: Which of the following would be a good variable name for the current value of a stock? (下面哪个是关于变量“current value of a stock”的最佳命名?)

    A . curstoval

    B . theCurrentValueOfThisStockIs

    C . currentStockVal

    D . csv

    E . current

  • 问题7分析和领悟: 命名既要简单又要合理清晰,因此选c才最合适。
  • 问题8: A color image is broken down into individual pixels (points), each of which is represented by (一个彩色图像被分解成单个像素(点),其中每个像素表示)

    A . a 1 for white and a 0 for black (白色的1和黑色的0)

    B . 3 values denoting the intensity of red, green, and blue in the image (3个表示图像中红、绿和蓝色的亮度值)

    C . a single number indicating the intensity of color between white and black (一个单独的数字,它表示白色和黑色之间的颜色亮度)

    D . two numbers, a value that denotes where between white and black the color is, and a brightness (两个数字,一个表示白色和黑色之间的颜色,另一个表示亮度)

    E . none of the above, it is not possible to represent a color image (以上都不是,不可能表示一个彩色图像)

  • 问题8分析和领悟: 三基色RGB,每基色一个字节(8bit),一个像素可以呈现出2的24次方种颜色,大约是1600多万种。但如果是再引入其他的色彩分量,一个像素可以呈现的色彩数量还可以更多。因此应该选择B,错误的原因主要是将像素和位图没有分清楚。位图是由像素点组成的。
  • 分析和领悟:本次错题都主要在简单的概念方面,这说明对于很多知识点没有透彻的把握。将在未来的学习中注意知识点内核要义,从而深入了解。错误让我改正,让我印象更加深刻。

    心语(感悟、思考等)

    在java的学习中,实践是最有乐趣,虽然极易失败,但是会让人更加珍惜成功编译得到快乐。学习过程中询问和求教很重要,会让你不一样的知识重构和深入理解,就算解决不了,增进一下同学友谊也是好的。哈哈。java的第二周学习还是挺快乐的,尤为是交互式程序的学习和运用。继续前行吧!

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 100/100 1/1 15/15
第二周 377/477(周五) 1/1 16/16

参考资料

1.java程序设计教程(第八版)第二章相关内容

2.字符型

3.JAVA反射修改常量,以及其局限

原文地址:https://www.cnblogs.com/LXY462283007/p/8566035.html

时间: 2024-10-18 01:46:18

20172328《程序设计与数据结构》第二周学习总结的相关文章

201671010117 2016-2017-2 《Java程序设计》Java第二周学习心得

Java第二周学习心得 这一周老师在周四进行了课堂测验,完全出乎我的意料,我以为老师会在前两周上课讲一下,由于我在课前没有好好准备,反转课堂来的有的措手不及,那些题很多很多都不会,也错了很多,班上有很多表现很好的同学,他们课前准备充分,在课堂上完全没有任何压力,我也意识到了我课前没有花大量时间看书的严重性,所以我下课便去看第三章了,以后也一定要好好看书,找出不懂得问题,课上也要认真向其他优秀同学学习,不懂的问题也要想办法解决. 今天写了PPT上的任务1-9,着实也遇到了很多不会的问题,像是最后的

201777010217-金云馨《面向对象程序设计(Java)》第二周学习总结

项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/11475377.html 作业学习目标 学习并掌握Java Application程序结构: 学习并掌握Java语言的数据类型与变量: 学会使用Java运算符构造各类表达式: 掌握Java Application输入输出技术: 掌握Java流程控制技术(分支.循环): 掌握Math类.Strin

201771010123汪慧和《面向对象程序设计Java》第二周学习总结

一.理论知识部分 1.标识符由字母.下划线.美元符号和数字组成, 且第一个符号不能为数字.标识符可用作: 类名.变量名.方法名.数组名.文件名等.第二部分:理论知识学习部分 2.关键字就是Java语言中已经被赋予特定意义 的一些单词. ?常见有:class.public.try.catch.if. float.import.void等. 关键字不做变量名. 3.Java有三种注释的方式:   // 注释内容由//一直到此行结束. /*和*/ 定义一个注释块.  /**开始,*/结束 这种注释方法

20172304 《程序设计与数据结构》 第二周学习总结

20172304 <程序设计与数据结构>第二周学习总结 教材学习内容总结 本周主要学习了第三章和第四章的内容 第三章 集合概述--栈 3.1集合 集合是一种聚集组织了其他对象的对象. 集合可以分为两大类线性集合和非线性集合 线性集合:其元素按直线方式组织的集合. 非线性集合:其元素按某种非直线方式组织的集合.例如按层次结构或按网状结构. 3.1.1抽象数据类型 集合十一找给你隐藏了实现细节的抽象 数据类型:一组值及作用于这些数值上的各种操作. 抽象数据:类型(Absttract Data Ty

20172322 2017-2018-2 《程序设计与数据结构》第二周学习总结

20172322 2017-2018-2 <程序设计与数据结构>第二周学习总结 教材学习内容总结 了解了print与println的区别 了解了字符串的拼接可以用+来完成 了解了转义字符的使用 学会了使用赋值 学会使用部分算术运算符 学会了使用Scanner来实现交互性 教材学习中的问题和解决过程 问题1:在最初接触赋值时对foalt和double的赋值范围不了解 问题1解决方案:使用万能的度娘后看到一个高赞答案后有了了解 问题2:在提前预习时看到2.7图形后敲入的代码无法执行 问题2解决方案

20172327 2017-2018-2 《程序设计与数据结构》第二周学习总结

20172327 2017-2018-2 <程序设计与数据结构>第二周学习总结 教材学习内容总结 字符串的拼接和转义序列的使用 变量的声明和使用 讨论语法及表达式的处理 定义数据转换类型和实现类型转换的机制 创建Scanner类 教材学习中的问题和解决问题 暂无 代码学习中的问题和解决过程 问题1:在提交过程中,突然遇到无法上传的情况 问题2解决方案:通过上网查找,输入git pull之后弹出一个编辑框,选择关闭之后,再次用git push就成功了. 问题2:在按照例题2.10打代码时,Jav

20172330 2018-2019-1 《程序设计与数据结构》第二周学习总结

20172330 2018-2019-1 <程序设计与数据结构>第二周学习总结 教材学习内容总结 集合 1.集合是一种对象,类似于保存其他对象的存储库 集合中的元素通常是按照他们添加到集合的顺序,或者是按元素之间的某种内在联系来组织的. 2.抽象数据类型(ADT)是由数据和在该数据上所实施的具体操作构成的集合. 3.栈是一种线性集合,元素按后进先出(LIFO)的方法进行处理,有push,pop,peek,isempty,size等常用操作 4.栈是用于计算后缀表达式的理想数据结构 5.Java

《面向对象程序设计(java)》第二周学习总结

<面向对象程序设计(java)>第二周学习总结 王颖奇 201771010129 第一部分:实验目的与要求 ①理论部分目的与要求 (1)3.1基本知识(2)3.2数据类型(3)3.3变量(4)3.4运算符(5)3.5类型转换 (6)3.6字符类型(7)3.7输入输出(8)3.8控制流程(9)3.9大数值(10)3.10数组 ②实验部分目的与要求 (1)进一步熟悉命令行和IDE两种方式下java程序开发的基本步骤: (2)掌握Eclipse集成开发环境下导入Java源程序的过程: (3)掌握Ja

王之泰201771010131《面向对象程序设计(java)》第二周学习总结

王之泰201771010131<面向对象程序设计(java)>第二周学习总结 第一部分:理论知识学习部分 第三章 第三章内容主要为Java语言的基础语法,主要内容如下 1.基础知识 1.1标识符 a)标识符可用作类名.变量名.方法名.数组名.文件名等. 注:第一个符号不能为数字,即不能用数字开头. 1.2关键字 a)关键字是Java语言中已经被赋予特定意义的一些单词. b)常见有:class.public.try.catch.if. float.import.void等. 注:关键字不做变量名