• 20145239杜文超 《Java程序设计》第2周学习总结


    20145239 《Java程序设计》第2周学习总结

    教材学习内容总结

          第三章主要介绍了Java语言的基础语法。

          要求我们认识类型与变量,学习运算符的基本使用以及了解类型转换、运用基本流程语法。 其中——

    一、常量基本类型:
    
    整数: short整数(2字节)、int整数(4字节)、long整数(8字节)
    
    字节: byte类型(1字节,一般用于逐字节处理数据)
    
    浮点数: float浮点数(4字节)、double浮点数(8字节)
    
    字符: char类型(2字节)
    
    布尔: boolean类型,表示true与false,分别代表逻辑的真与假。
    二、变量: 将不确定的数据进行存储。
    三、运算符:
    
    算术运算符:加(+)、减(-)、乘(*)、除(/)、模数运算符(%)
    
    比较运算符:大于(>)、小于(<)、不大于(<=)、不小于(>=)、等于(= =)、不等于(!=)。
    
    逻辑运算:AND、OR、NOT、&&(AND)、||(OR)、!(NOT)。(| / &两边都运算,|| / &&左边为假时,右边不运算。)
    四、流程控制:
    
    判断结构:if-else语句。
    
    选择结构:switch语句。
    
    循环结构:while语句、do while语句、for语句。
    
    其他语句:break,continue语句等。

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

          (一)不知道各种类型可以储存的数值范围,想通过API来得知,根据书上的代码运行看到结果。

    public class Range {
    public static void main(String[] args) {
        //byte、short、int、long范围
        System.out.printf("%d~%d%n",Byte.MIN_VALUE,Byte.MAX_VALUE);
        System.out.printf("%d~%d%n",Short.MIN_VALUE,Short.MAX_VALUE);
        System.out.printf("%d~%d%n",Integer.MIN_VALUE,Integer.MAX_VALUE);
        System.out.printf("%d~%d%n",Long.MIN_VALUE,Long.MAX_VALUE);
        //float、double精度范围
        System.out.printf("%d~%d%n",Float.MIN_EXPONENT,Float.MAX_EXPONENT);
        System.out.printf("%d~%d%n",Double.MIN_EXPONENT,Double.MAX_EXPONENT);
        //char可表示的Unicode范围
        System.out.printf("%h~%h%n",Character.MIN_VALUE,Character.MAX_VALUE);
        //boolean的两个值
        System.out.printf("%b~%b%n",Boolean.TRUE,Boolean.FALSE);
    }
    }

          (二)前面以为java中的println和C里的printf可能是同样的含义只是写法不同,但其实有很大差异,根据查资料和自己实验得知:

        println是用于输出参数内容,然后换行,其参数个数固定为一个。
        printf是用于输出带各种数据类型的占位符的参数,其参数个数是不定的。且printf不能换行,必须加“ ”换行。

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

          在运行如下代码时:

          发现break的作用仅仅是跳出当前的这个循环,也就是内循环,然而这是一个嵌套for循环,如何利用break跳出任意指定的循环呢?

    后来,根据视频我学到了一个新的语法,就是给循环带上标签,即:

          这样,就可以利用break语句跳出任意循环了,这是我在C语言的学习里没有使用过的一个小技巧。

          同时我也更深入的理解了break和continue的区别,但需要注意的是break和continue的使用范围。

          还有当break和continue语句单独存在时,下面可以有如何语句,因为都执行不到。

    其他(感悟、思考等,可选)

          本以为java语言和C语言可能会有很大的不同,因为一个是面向过程,一个是面向对象,但经过这一周的学习我发现它们两个在语法上竟如此相似。因为对C语言的语法掌握基本过关,因此感到这一周的学习任务并不很吃力,让我很欣慰同时也激发了我对后面学习的好奇和热情,究竟是什么让它们成为两个完全不同的语言?不过有句俗话说:细节决定成败。java语法很多细节上还是有区别于C语言的,这种找不同的过程其实就是一种很好的学习方法。所有学习都是从模仿开始的,从模仿到熟练、再到改进、创新。希望自己可以不断激发学习java的热情并保持不断学习的动力。

    学习进度条

     代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
    目标 5000行 30篇 400小时  
    第一周 100/100 1/2 15/15  
    第二周 200/300 1/3 12/15  

    参考资料

  • 相关阅读:
    几种编辑器的markdown-toc生成目录在github上的表现
    Docker 镜像文件的导入和导出
    Python 的 os 与 sys 模块
    IPython 自动重载魔术
    一种新的python局部调试手法
    Python 动态从文件中导入类或函数的方法
    python2中新式类和经典类的多重继承调用顺序
    Python运行目录或压缩文件
    子类化内置类型
    Django 数据库访问性能优化
  • 原文地址:https://www.cnblogs.com/dwc929210354/p/5272289.html
Copyright © 2020-2023  润新知