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

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

教材学习内容总结

    在第三章主要学习了Java语言中的类型及其变量主要类型为:整数(1字节的byte,2字节的short,4字节的int以及8字节的long型),还有char型,boolean型的变量类型,以及相关运算符:逻辑运算,位运算递增递减运算,指定运算等。同时我们需要注意到在JAVA语言中一不小心就会出现变量类型相互转换的小错误。语句类我们接触了if-else和switch条件式的语句,for和while循环语句,以及break和continue语句。

   Byte和byte区别:Byte是包装类型,byte是数据类型。byte是编译器可识别的Java语法方面的,而Byte则是Java包的一个类。

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

 1.在任何一个程序中尤其要关注变量的变化情况。看上去很相似的两个句子得到的结果却完全不同。例如:
int num=1;
 System.out.printf("%d%n",number=number<<1);
 System.out.printf("%d%n",number=number<<1); 
int num=1
 System.out.printf("%d%n",number<<1);
 System.out.printf("%d%n",number<<1); 
    运行结果如下:

    2.在编程中很容易忽略赋值语句(指定运算)从而使变量悄悄的改变,最终使得结果出现错误。

    3.在设计程序的时候如果需要用到循环语句for或者while语句时一定要注意条件以及该语句块中的使用,否则在调试的时候程序本身没有问题,但是却不能输出结果,这个时候就要检查是否已经进入了死循环。switch语句中恰当使用“break;”,否则switch语句就不会有应有的效率。

    4.在运行书上代码的时候发现有一个很有意思的问题,在输出时课本有时候用println,有时候又会用printf,自己动手尝试了一遍才发现区别。        printf;println;print三个输出类型的差别:print和println在输出格式要求并无区别,但是在println中会自动换行,print则不会。printf通常用在格式化输出的时候。

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

    乘法表(不包括重复的部分)程序:
  int i,j;
        for(i=1;i<=9;i++)
        {
            for(j=1;j<=i;j++)
        System.out.printf("%d*%d=%-5d",i,j,i*j);
            System.out.printf("%n");
        }

课后题1主程序:

 int m,n,r;
        m=1000;
        n=495;
        r=m%n;
        while(r!=0)
        {
            m=n;
            n=r;
            r=m%n;
        } 
        System.out.printf("最大公因子:%d",n);

课后题2主程序:

 int l,m,n;
       int i;
       int s;
       for(i=100;i<=999;i++)
       {
           l=i/100;
           m=i/10%10;
           n=i%10;
           s=m*m*m+n*n*n+l*l*l;
           if(s==i)
          System.out.printf("%d^3+%d^3+%d^3=%d%n",l,m,n,i);
       }
    

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

    C语言和Java语言的基本语句是很相似的,但是Java语言比较简练,就拿输出一个量值,Java可以直接prntln(number);数字输出了,也直接换行了,但是C就必须标明。在Java中有package的概念,但是c语言没有。还有Java程序可以跨平台运行。这是目前我所感觉到的两者之间的差别。

学习进度条

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

参考资料

原文地址:https://www.cnblogs.com/yayaer/p/5263679.html