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. js 通过url获取里面的参数值

    场景描述:当我们从一个页面要带有一两个值跳转到另一个页面,另一个页面要使用这些参数的时候,我们就需要通过js获取这些参数啦. 先贴上代码: function getQueryString(name) ...

  2. 启动Tomcat的时候8080被占用

    异常来源:启动Tomcat服务器报错: Several ports (8080, 8009) required by Tomcat v7.0 Server at localhost are alrea ...

  3. Day 6-2简单的socket通信

    什么是socket? Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面 ...

  4. 牛客练习赛13E 乌龟跑步

    题目链接:https://ac.nowcoder.com/acm/contest/70/E 题目大意: 略 分析: DP或记忆化搜索,个人觉得记忆化搜索比较好做,逻辑清晰,代码量少 代码如下: #in ...

  5. centos安装Tesseract

    yum安装(推荐) yum search tesseract yum install tesseract.x86_64 -y pip3 install pytesseract pip3 install ...

  6. awk骚操作

    一.awk自加 [root@168web3 ~]# head /data/logs/cloud_monitor_rds_cpu.log |awk '{sum+=$NF}END{print sum}' ...

  7. Fiddler-学习笔记-远程抓包

    1 操作系统低于win7用 fiddler 2 win7 或win7以上版本,用 fiddler4片本 2 fiddler开关:左下角或点击F12控件fiddler开关,开=capturing 3 启 ...

  8. 洛谷 p1219 八皇后

    刚参加完蓝桥杯 弱鸡错了好几道..回头一看确实不难 写起来还是挺慢的 于是开始了刷题的道路 蓝桥杯又名搜索杯 暴力杯...于是先从dfs刷起 八皇后是很经典的dfs问题 洛谷的这道题是这样的 上面的布 ...

  9. Windows & RabbitMQ:集群(clustering) & 高可用(HA)

    描述:我们需要配置三台服务器:ServerA, ServerB, ServerC 注意事项: 所有的服务器的Erlang版本,RabbitMQ版本必须一样 服务器名大小写敏感 Step 1:安装Rab ...

  10. 【python练习题】程序13

    #题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因为153= ...