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,导致无法编译

    • 编译时进错了目录,应该在主文件夹下编译,使用代码javac -d bin src/Example2_1.java才对。因为只有在主文件夹里java才能正确找到bin文件夹,将*.class文件放入其中。

  • 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

上周考试错题总结

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

感悟与思考

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

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 3000行 30篇 400小时
第一周 178/200 1/2 20/20
第二周 200/200 2/2 20/20

参考资料

  1. 第二第三章教学视频
  2. 代码托管
  3. 码云和博客园的简易使用
  4. 撤销git commit的错误文件

20165223《JAVA程序设计》第二周学习总结的更多相关文章

  1. 20145304 刘钦令 Java程序设计第二周学习总结

    20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...

  2. 201521123063 JAVA程序设计 第二周学习总结

    1.本周学习重点(2.27-3.5) java中的数组 以二维数组为例,数组名为scores,则 (1)先声明数组 int[][] scores;或int scores[][];或int[] scor ...

  3. 2017面向对象程序设计(Java)第二周学习总结

    2017面向对象程序设计(Java)第二周学习总结 直系学妹学弟们好!额...不要问我为什么把学妹放前面,我也不知道!我只是你们和蔼可亲的学长一枚而已.也不要问为什么是第二周学习总结而不是第一周,因为 ...

  4. 201871010106-丁宣元 《面向对象程序设计(java)》第二周学习总结

    丁宣元 <面向对象程序设计(java)>第二周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在 ...

  5. 201521044152<java程序设计>第一周学习总结

    本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...

  6. 20145304 刘钦令 Java程序设计第一周学习总结

    20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...

  7. 201621123007 Java程序设计第一周 学习总结

    第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...

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

    这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/11475 ...

  9. 杨其菊201771010134《面向对象程序设计Java》第二周学习总结

    第三章 Java基本程序设计结构 第一部分:(理论知识部分) 本章主要学习:基本内容:数据类型:变量:运算符:类型转换,字符串,输入输出,控制流程,大数值以及数组. 1.基本概念: 1)标识符:由字母 ...

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

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...

随机推荐

  1. php常用方法

    在日常开发中,经常我们使用系统方法或者是自己封装的方法进行项目的开发.再此总结一下!!! 一.对于字符串截取 1.使用mbstring扩展  (注意编码的设置) mb_substr($str,2,5, ...

  2. [转帖]Ipvsadm参数详解(常用命令)

    Ipvsadm参数详解(常用命令) 2013年11月29日 12:41:40 怀素1980 阅读数:15901   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...

  3. js对input框的可编辑属性设置

    添加disabled属性 $('#areaSelect').attr("disabled",true); $('#areaSelect').attr("disabled& ...

  4. 虚拟机安装CentOS7之后没有ip的问题

    CentOS 7 默认是不启动网卡的(ONBOOT=no),主要是修改一下网上配置,然后重起便可,看这篇博客操作: https://blog.csdn.net/dancheren/article/de ...

  5. centos7之vm11添加网卡

    需求 根据实际需求原来有一块网卡,现在需要新加一块网卡做集群. 1.在虚拟机添加一块网卡,开机后ip a查看是不是新加了一块网卡,下图是为了讲解,其实已经是做完的状态. 2.上满我们看到新加了一块网卡 ...

  6. python学习笔记(11)--数据组织的维度

    数据的操作周期 存储  -- 表示 -- 操作 一维数据表示 如果数据有序,可以使用列表[]:如果数据没有顺序,可以使用集合{} 一维数组存储 存储方式一:空格分隔 ,使用一个或多个空格分隔进行分隔, ...

  7. 设计模式笔记:单一职责原则(SRP, Single Responsibility Principle)

    1. 单一职责原则核心思想 一个类应该有且只有一个变化的原因. 2. 为什么引入单一职责原则 单一职责原则将不同的职责分离到单独的类,每一个职责都是一个变化的中心. 在SRP中,把职责定义为变化的原因 ...

  8. 接触Struts2的ModelDriven<>接口

    最近在学SSH框架,实战项目,用到了Struts2的ModelDriven<>接口,在这做一点记录 ModelDriven,意为模型驱动,意思是直接把实体类当成页面数据的收集对象 参考他人 ...

  9. EFI Windows 7 activition

    mountvol X: /s copy SLIC.aml X:\EFI\CLOVER\ACPI\WINDOWS BOOTICE X:\EFI\CLOVER\CLOVERX64.efi slmgr -i ...

  10. springmvc拦截器匹配规则