20165214 第二周学习任务

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

教材学习内容总结

  • 第二章:基本数据类型与数组
    • 标识符的定义以及定义标识符时所要注意的一些事项。
    • Java里的基本数据类型的一些基本参数:
      html

    • 数据类型转换时,格式为(类型名)要转换的值,级别低的变量赋给级别高的变量时,系统会自动完成类型转换。可是级别高的变量要赋给级别低的变量,必须用类型转换运算。
    • 输入数据:使用Scanner建立一个对象,好比Scanner reader=new Scanner(System.in)建立了一个reader对象,而后使用int m =reader.nextInt()来读取键盘输入的整数型变量,赋值给m。而后就能够根据具体的要求对输入的数进行相应的操做了。
    • 输出数据:本章介绍了3种输出的方式
      • System.out.println(),可输出串值、表达式的值,输出后换行。
      • System.out.print(),同第一种方式,区别是这种方式输出后不换行。
      • System.out.printf(),跟C语言的printf函数输出数据的方式相似。
    • 数组的相关知识点
      • 我把数组的造成分红3步:
        • ①声明数组:数组类型 数组名 [](还有数组类型 [] 数组名等方式);
        • ②分配变:数组名 = new 数组类型[n]n是正整数,指的是数组的元素个数);
        • ③初始化:数组名 = {1,2,3,4....,n}
      • 需注意,上述的步骤中,能够①②同时进行:数组类型 数组名 []=new 数组类型[n];也能够①②③同时进行:数组类型 数组名[]={1,2,3,4,...n}
      • 使用数组名.length语句能够获得数组的长度。
      • 数组名的值等于该数组的引用(除char型数组)。
      • 若是两个相同类型的数组具备相同的引用,那么他们就有彻底相同的元素(我的感受这跟C语言中数组的地址有些类似)。
      • 另外,我发现了Java一个很方便的地方,就是程序里for语句的第一个分号前面的变量能够随时定义随时使用,好比教材P29里面的程序,i,j都是这样的。
  • 第三章:运算符、表达式和语句
    • java里面的运算符和表达式和C语言里面的几乎相同,因此比较容易就能理解它们。要注意的是位运算符和逻辑运算符的区别,前者是先计算完变量的值后再给出运算的结果。
    • instanceof运算符,能够用来判断运算符左边的对象是否是运算符右边的对象建立的类。如果,结果为true,不然为false
    • 一个复合语句的{}可能有多个语句,可是只算一个语句;分号是一个空语句.
    • if条件分支语句有三种用法:
      • if语句是单条件单分支语句,知足条件时执行。
      • if-else语句是单条件双分支语句,知足条件时执行if紧跟着的复合语句,不知足时执行else紧跟着的复合语句。
      • if-else if-else语句是多条件多分支语句,当知足其中某个if的条件时,执行其后面紧跟着的复合语句,而后结束当前if-else if-else语句的执行。若都不知足,执行最后else后面的复合语句。
    • switch语句中表达式的值只能是byte,short,int,char里面的一种类型。
    • Java里面的循环语句和C语言的相似,没有什么问题。
    • 要清楚break语句和continue语句之间的区别。若是在某个循环中执行了break语句,那么整个循环语句就结束了;若是在某个循环中执行了continue语句,那么本次循环就结束了。
    • for语句在Java里的另一种用法(这种方式主要用于遍历数组):for(数据类型 没被定义过的变量:数组名),每次循环,新定义的变量依次取后面的数组中每个元素的值。
    • Scanner定义的对象能够先调用hasNext类型名的方式来先对输入的数据进行判断,判断其是否符合要求,符合要求再获取这个输入的数据

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

  • 问题1:个人Ubunutu里面没有中文输入法,不能打出汉字。
  • 问题1解决方案:上网查找了一下,在这个连接里发现了解决的方法。
  • 问题2:在教材中,我知道了,当byte变量超过127时,又会从-128开始循环。这是为何?其余的变量是否有这个性质?如何验证呢?
  • 问题2解决方案:这个问题目前我还找不到解决的办法。
  • 问题3:第三章有一个课后题目,我在运行时候出现了这样一个问题:
    java

  • 问题3解决方案:由于在这个题目里面我是把i放在for语句里面去定义的,没想到这样的话到最后不能直接输出i。因而我又设置了一个新的变量t来过渡i,而后就能够了。所以我以为,i虽然能够在for语句里随时定义随时使用,可是它可能只是个暂时变量,等循环结束就释放掉了?这是个人猜想,不知道如何进行验证呢?git

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

由于是敲课本里面的代码,因此错的几个地方都是由于输入的失误。编程

  • 问题1:在敲书里面的Example2_5时候,把java和util中间的点漏掉了
    数组

  • 问题1解决方案:打开文本进行修改,并在书里作了标记。
  • 问题2:在写一个程序时,不当心在程序后面加了一个_,编译时出现了这个问题:
    函数

  • 问题2解决方案:打开文本进行修改。学习

代码托管

我把教材里面程序的源文件放在了src文件夹里面,编译获得的字节码文件放在了bin文件夹里面。
而2、三章课后的调试程序、编写的题目放在了“课后做业”文件夹。
(statistics.sh脚本的运行结果截图)
个人截图不知道为何显示不出来git的记录。。明明已经有往上传了,码云里面也有了。等我解决了这个问题我再把新的截图补上吧
测试

上周考试错题总结

上周课上测试的总结我已经写了一片博客提交上去了。这是博客的连接设计

其余

本周的Java学习我不是像上周那样,累积到最后几天才开始写,而是一天完成一部分。这样学的感受很好。并且可能时间比较充足的缘由,课本还有网上的教材我都是慢慢看的,有什么不懂立刻敲代码、看例题去理解。这么一来,感受本身学到了不少不少的东西。
我以为第一周的学习已经让我对Java的一些基本操做有所了解,因此在第二周的学习里,虽然量比较多,可是感受也没有那么累了。果真,“万事开头难”,不过只要开了好头,接下来的学习必定会充满兴趣与动力。但愿本身可以继续保持这份对Java的热情,不断地更上一层楼。
还有一点让我感受收获很大的是,在我把书里的代码按顺序敲下来后,我感受一个是我敲代码的速度变快了,还有一个就是那些基本的代码我能够不用看书就可以敲出来了。“好记性不如烂笔头”。接着,我尽本身的努力,把第二章和第三章的课后第4题(编程题)给本身敲出来了!(代码已经传到码云上了,在课后做业文件夹里,以hw24和hw34开头的文档)没有看书。瞬间感受本身投入的时间都是有意义的,仍是蛮高兴的。3d

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 36/36 1/1 8/8
第二周 432/468 2/3 15/23
  • 计划学习时间:15小时

  • 实际学习时间:15小时

相关文章
相关标签/搜索