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  

参考资料

原文地址:https://www.cnblogs.com/dwc929210354/p/5272289.html