20165223《JAVA程序设计》第二周学习总结

Stella981
• 阅读 738

20165223 《JAVA程序设计》第二周学习总结

教材学习内容总结

第二章要点

  • 标识符与关键字
  • 基本数据类型
  • 类型转换运算
  • 输入输出数据
  • 数组

第三章要点

  • 运算符与表达式
  • 语句概述
  • if条件分支语句
  • switch开关语句
  • 循环语句
  • break和continue语句
  • 数组与for语句

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

  • 标识符与关键字

    • 标识符=名字:由字母、下划线、$、数字组成,长度不受限;第一个字符不能是数字字符;区分大小写;不能用关键字;不能是true、false、null
    • java使用的语言:Unicode字符集
    • 关键字50个(需背记):

    abstract

    assert

    boolean

    break

    byte

    case

    catch

    char

    class

    const

    contiune

    default

    do

    double

    else

    enum

    extends

    final

    finally

    float

    for

    goto

    if

    implements

    import

    instanceof

    int

    interface

    long

    native

    new

    package

    private

    protected

    public

    return

    short

    static

    strictfp

    super

    switch

    synchronized

    this

    throw

    throws

    transient

    try

    void

    volatile

    while

  • 基本数据类型

    • 逻辑类型:boolean

      • true、false
    • 整数类型:byte、short、int、long

      • 注意每种类型的字节内存,以防溢出

      整数类型

      常量

      变量字节内存

      变量取值范围

      int型

      各种进制整数

      4个(32位)

      -2^31~2^31-1

      byte型

      不存在

      1个(8位)

      -128~127

      short型

      不存在

      2个(16位)

      -2^15~2^15-1

      long型

      后缀L

      8个(64位)

      -2^63~2^63-1

      • long类型常量后必须用L
    • 字符类型:char

      • 不同于C:char是无符号的,且不能使用unsigned修饰所声明的char型变量
    • 浮点类型:float、double

      • float常量后必须要有后缀Ff
      • double常量后缀Dd可以省略
    • 类型转换运算

      • 不包括逻辑类型
      • 精度排列(从低到高):byte short char int long float double
      • 从低等级赋值给高等级变量时,系统自动转换
      • 从高等级赋值给低等级变量时,要强制转换:(类型名)要转换的值
      • 整数默认为int型,小数默认为double
  • 输入输出数据

    • 输入
      • 创建一个Scanner对象:Scanner reader = new Scanner(System.in)
      • Scanner对象调用方法读取用户键盘输入的数据(等待):reader.nextInt()
    • 输出
      • 换行:System.out.println();
      • 不换行:System.out.print();
      • System.out.println();System.out.print();输出串值、表达式的值,使用并置符号+使输入能串行输出
      • 与C相似的函数输出:System.out.printf("格式控制部分",表达式1,表达式2,……,表达式n);
      • 格式控制部分=格式控制符号%d、%c、%f、%s+普通字符
  • 数组

    • 声明数组:类型 [ ] 数组名;
    • 创建数组:数组名 = 类型 [整数值]
    • 数组长度:
    • 数组名.length
    • 对一维数组,表示数组单元的个数;对二维数组表示二维数组中一维数组的个数
    • 数组引用:数组变量中存放的值就是数组的引用。数组使用下标运算访问自己的单元。类型相同的数组一旦具有相同的引用,就具有一样的单元。

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

  • Example2_1.java

    • javac错打成java,导致无法编译 20165223《JAVA程序设计》第二周学习总结

    • 编译时进错了目录,应该在主文件夹下编译,使用代码javac -d bin src/Example2_1.java才对。因为只有在主文件夹里java才能正确找到bin文件夹,将*.class文件放入其中。 20165223《JAVA程序设计》第二周学习总结

  • Example3_9.java

    • vi编辑代码时错将System.out.printf打成System.out.println,提示了如图错误:
    • 正确认识到第二章中关于输入输出知识点掌握的缺漏并补全:
      • 格式:System.out.printf("格式控制部分",表达式1,表达式2,……,表达式n)
      • 格式控制部分=格式控制符号%d、%c、%f、%s+普通字符
      • 普通字符原样输出,格式符号输出表达式的值
  • 在提交代码的过程中git commit了错误文件

    • 参考了资料撤销git commit的错误文件,结合同学在蓝墨云中给出的代码帮助,成功解决了问题
    • git add .git commit了错误文件要如何解决:
      • 先查看节点:git log
        • commit xxx
        • Merge: xxx
        • Author: xxx
        • Date: xxx
      • 找到需要的commit_id
      • 接着:git reset commit_id
    • 此外在还未git push的时候还有:
      • 回退到上一个commit节点,保留修改后的代码:git reset commit_id
      • 回退到上一个commit节点,代码退回到上一步的:git reset –hard commit_id
  • 带包的代码的编译和运行

    • 方法一(不推荐):
      • 使用vi打开一个*.java文件,输入包相关代码:第一行输入package <包名>;,之后正常编写代码
      • 新建包文件夹:mkdir <包名>
      • 编译:javac *.java
      • 移动代码文件进包内:mv *.class <包名>
      • 运行:java <包名>.<主类名>
    • 方法二(推荐):
      • 使用vi打开一个*.java文件,输入包相关代码:第一行输入package <包名>;,之后正常编写代码
      • 编译到bin:javac -d bin *.java
      • 在包中运行:java -cp bin <包名>.<主类名>
    • 其中方法二中-cp指classpath,指明路径bin
  • 码云提交作业方法

    • 创建docs目录:mkdir docs
    • 创建空markdown文件如“java_homework_week1.md”:touch docs/java_homework_week1.md
    • 把作业博客纳入版本控制:git add ., git commit -m "init docs with empty java_homework_week1.md"
    • 把作业推送到码云上:git push
    • 在码云上点击docs文件夹,打开“java_homework_week1.md”,点击“编辑”就可以写作业了
    • 提交说明是“拷贝作业模板”,这等价于 git commit -m "拷贝作业模板", 点击“提交到master”按钮进行作业的提交
    • 将码云上写的文档同步到自己的电脑上:git pull
    • 运行一下脚本"statistics.sh",截图学习进度:./statistics.sh
    • 完成本周的学习任务,运行git push把本周学习成果推送到码云上

代码托管

详见码云代码链接:https://gitee.com/BESTI-IS-JAVA-2018/20165223cn.git 20165223《JAVA程序设计》第二周学习总结

上周考试错题总结

详见博客:week2测试补交与总结

感悟与思考

这一周学习任务是第二第三章,明显较之第一周感受到了学习的进度,在抄代码的同时不断练习记忆,对知识点有了掌握。经过两周的课程已经开始逐渐适应上课的速度,也更明白了自己在课下还需要做更多的练习。本周进行的第一次测试由于我对包package相关的知识点掌握不到位以及对提交时间的错误把握导致没能按时提交第二个测试的结果,明确感受到了自己的不足,写了一篇博客week2测试补交与总结进行分析与总结,也提醒了我要更认真的听讲以及下去练习,才能在考试和课堂上游刃有余。

学习进度条

代码行数(新增/累积)

博客量(新增/累积)

学习时间(新增/累积)

重要成长

目标

3000行

30篇

400小时

第一周

178/200

1/2

20/20

第二周

200/200

2/2

20/20

参考资料

  1. 第二第三章教学视频
  2. 代码托管
  3. 码云和博客园的简易使用
  4. 撤销git commit的错误文件
点赞
收藏
评论区
推荐文章
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Stella981 Stella981
3年前
20165310java_blog_week6
2165310《Java程序设计》第6周学习总结教材学习内容总结String构造StringstrnewString()String(chara)String(chara,i
可莉 可莉
3年前
20165310java_blog_week6
2165310《Java程序设计》第6周学习总结教材学习内容总结String构造StringstrnewString()String(chara)String(chara,i
Stella981 Stella981
3年前
20175209 《Java程序设计》第八周学习总结
20175209《Java程序设计》第八周学习总结一、教材知识点总结1.泛型1.泛型类声明:格式classPeople<EPeople是泛型类名称E是泛型列表,可以是任何对象或接口,但不能是基本类型数据
Wesley13 Wesley13
3年前
Java第五周学习总结
学号201620172《Java程序设计》第X周学习总结教材学习内容总结1.接口(1)使用关键字interface来定义一个接口,接口分为接口声明和接口体,例如interfacePrintable
可莉 可莉
3年前
20165334 《java程序设计》第9周学习总结
学号20165334《Java程序设计》第9周学习总结教材学习内容总结13章知识总结获取地址1.获取Internet上主机的地址可以使用InetAddress类的静态方法getByName(Strings);获
Stella981 Stella981
3年前
20165334 《java程序设计》第9周学习总结
学号20165334《Java程序设计》第9周学习总结教材学习内容总结13章知识总结获取地址1.获取Internet上主机的地址可以使用InetAddress类的静态方法getByName(Strings);获
可莉 可莉
3年前
20165223《JAVA程序设计》第二周学习总结
20165223《JAVA程序设计》第二周学习总结教材学习内容总结第二章要点标识符与关键字基本数据类型类型转换运算输入输出数据数组第三章要点运算符与表达式语句概述
可莉 可莉
3年前
20175209 《Java程序设计》第八周学习总结
20175209《Java程序设计》第八周学习总结一、教材知识点总结1.泛型1.泛型类声明:格式classPeople<EPeople是泛型类名称E是泛型列表,可以是任何对象或接口,但不能是基本类型数据
可莉 可莉
3年前
20175317 《Java程序设计》第四周学习总结
20175317《Java程序设计》第四周学习总结教材学习内容总结第四周我学习了教材第五章的内容,了解了子类与继承的知识,学到了以下内容:明白了什么是子类与父类、类的树形结构。子类和父类在同一包中、不在同一包中时的继承性。子类与对象,子类对象的特点。成员变量的隐藏与方