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

20172308 2017-2018-2 《Java程序设计》第三周学习总结

教材学习内容总结

这一章给本身最大的感觉就是,忽然多了不少方法,在不一样的类下面,引用的方式和方法调用有不一样,容易混淆和忘记。html

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

  • 问题1:对于String对象,无须显式的使用new运算符及调用构造方法来建立对象,即String *** = new String("###");。大多数状况下,使用这种简化语法:String *** = "###"
    问题就是这两种没有区别吗?
  • 问题1解决方案:在老师发布的蓝墨云班课资源中看到:显式的使用new,语句中则有两个变量,new和字符串。无显式则只有一个对象字符串。java

  • 问题2:一旦建立了String,该对象的长度就不可更改,而且也不能修改对象中的任何一个字符。
  • 问题2解决方案:从百科和蓝墨云理解这句话:首先,字符串是对象。字符串最大的特色就是,一旦被初始化就不可被更改。可是,String类适用于描述字符串事物,提供方法对字符串进行操做,能够返回新的String对象,这些新对象是对原对象字符串值修改的结果。linux

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

  • 问题1:在用IDEA从码云更新到本地以后,编了这一章的课后习题,其中一题的调试截图以下:

    程序是能够正常运行的,可是声明变量的那一行老是显示找不到代码。
  • 问题1解决方案:我如今以为这却是小问题了,毕竟还能运行,可是,当我把本地push到码云以后,再从linux里pull了以后,就出现了问题2的使人绝望的操做。git

  • 问题2:首先,我发现了我在bin目录下的目录chapter3里又多了一个目录chapter3。后来我把它删了,用了如图命令将class文件产生在chapter3目录里:

    因而它就自动给我在目录chapter3中产生了一个新的目录chapter3并把文件放进去。
  • 问题2解决方案:
    因而我把命令javac -d /home/joy/Homework/bin/chapter3 Eg34.java中路径的chapter3去掉了,问题是解决了,但是问题又变成它是怎么知道我要把文件放在bin目录下的哪一个文件夹里的呢?
    后来我又尝试编译了一个程序(依然是去掉路径里的chapter3),结果是如图:

    它又自动产生了一个相同的文件夹并把文件放进去。不过好在是能够编译了。使人窒息的是问题3。编程

  • 问题3:虽然编译是有点问题,但运行是根本一头雾水。由于根本不明白,如图:

    从第一行开始,为了方便准确,我直接在存放class文件的文件夹下运行程序,而结果是“找不到或加载不了主类”。
  • 问题3解决方案:很明显相应的文件是存在的,而我也作了如上图的尝试,进到chapter2并成功运行了里面的文件。最后得出的结论是只有第三章作的程序没法运行。ide

  • 问题4:苦于上述问题没有获得很好的解决,因而将所作修改上传到了码云,在IDEA端pull失败,如图:

    而后再次打开第三章的程序,出现了和Linux上同样的状况,如图:

    程序在此以前仍是能够运行的,如今都不行了。学习

  • 总结:这周的程序都是用的IDEA写的,出现的这些问题我认为都不是编程中的错误,毕竟以前是有成功运行的,那问题可能就是出如今IDEA上,相关的设置和功能还不是很清楚,相信下一周就可以获得解决,按部就班,先在这里记录下问题。设计

-【更新】以上问题都已解决,缘由如图:

路径当时多写了一级,更改以后就能够正经常使用了。3d

代码托管


在终于明白了文件目录src和bin怎么放以后,这个代码统计的脚本统计的结果就变少了。调试

上周考试错题总结

  • 错题1:
    Consider the following statement:
    System.out.println("1 big bad wolf\t8 the 3 little pigs\n4 dinner\r2night");
    This statement will output ________ lines of text (思考下面的语句,该语句将输出___行文本)
    A .1
    B .2
    C .3
    D .4
    E .5
    缘由:\n致使产生一个新行。转义序列\r使回车返回(也就是说,光标移回到左边缘),可是没有开始新的行。

  • 错题2
    Of the following types, which one cannot store a numeric value? (在下列数据类型中,哪个不能存储一个数值型数据?)
    A .int
    B .byte
    C .float
    D .char
    E .all of these can store numeric values (以上全部类型均可以存储数值型数据)
    缘由:字符存储一个字符,包括字母、标点和数字。然而,存储数字“5”与存储数字5不同。

  • 错题3:
    What is output with the statement System.out.println(x+y); if x and y are int values where x=10 and y=5? (若是x和y是int类型的数值,x=10,y=5,那么语句System.out.println(x+y);的输出是什么?)
    A .15
    B .105
    C .10 5
    D .x+y
    E .An error since neither x nor y is a String (因x和y都不是字符串而引发的一个错误)
    缘由:这里的x和y是变量,存储着数值,“+”起的是加号的做用,不是链接符。

  • 错题4:
    If you want to store into the String name the value "George Bush", you would do which statement? (若是你想把"George Bush"这个值存储为字符串类型的名字,你会执行那条语句?)
    A .String name = "George Bush";
    B .String name = new String("George Bush");
    C .String name = "George" + " " + "Bush";
    D .String name = new String("George" + " " + "Bush");
    E .Any of the above would work (上述均可以完成)
    缘由:有两种方法能够将字符串存储为字符串变量,经过使用“new string (string value)”构造一个新字符串,或者使用赋值语句,所以A或B均可以工做。在C和D中,字符串链接操做符+的变体。因此这四种方法都行得通。

  • 错题5:
    You cannot cast a String to be a char and you cannot cast a String which stores a number to be an int, float or double. (你不能将字符串强制转换为char类型,也不能将一个字符串强制转换为int、float或double类型。)
    A .true
    B .false
    缘由:没有任何机制能够,但有方法能够执行相似的操做,并返回一个字符在一个给定的位置(charAt)或返回int。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 309/309 1/1 20/20
第二周 269/578 1/2 18/38
第三周 236/776 1/3 22/60

参考资料

相关文章
相关标签/搜索