20155334 2016-2017-2 《Java程序设计》第二周学习总结

20155334 2016-2017-2 《Java程序设计》第二周学习总结

教材学习内容总结

java中的基本类型
  • 整数:有shortintlong三种
  • 字节:byte
  • 字符:char,汉字、英文字符都是双字节的
  • 布尔:boolean,表示逻辑的真与假
变量(数据暂存位置在程序语言中称为变量)
  • 变量的作用:用来暂时存储资料。
  • 变量命名时不可以使用数字作为开头,也不可以使用一些特殊字符同时不能与JAVA的关键字与保留字同名。
  • 可以运用驼峰式命名法。
运算符
  • 加(+)、减(-)、乘(*)、除(/)以及取余(%)。
  • 比较、条件运算,当比较条件不成立的时候以boolean类型false表示,反之用该类型的true表示.
  • 逻辑运算,“且” &&、“或” ||、“反相” !
  • 位运算,&and、|or、^ xor、~(补码)、<<(左移)、>>(右移)
  • 递增递减运算,与C语言的表示方式基本一致
  • 指定运算,目前只有=这个运算符
类型转换
流程控制
if...else条件式

课本示例代码如下
if...else条件式实现等级划分:

public class Level {
    public static void main(String[] args) {
        int score = 88;
        char level; 
        if(score >= 90) {
            level = 'A';
        } 
        else if(score >= 80 && score < 90) {
            level = 'B';
        }
        else if(score >= 70 && score < 80) {
            level = 'C';
        }
        else if(score >= 60 && score < 70) {
            level = 'D';
        }        
        else {
            level = 'E';
        }
        System.out.printf("得分等級:%c%n", level);
    }
}

程序运行结果:

switch条件式

switch条件式实现等级划分:

public class level2 {
    public static void main(String[] args) {
        int score = 88;
        int quotient = score / 10;
        char level;
        switch(quotient) {
            case 10:
            case 9:
                level = 'A';
                break;
            case 8:
                level = 'B';
                break;
            case 7:
                level = 'C';
                break;
            case 6:
                level = 'D';
                break;
            default:
                level = 'E';
        }
        System.out.printf("得分等級:%c%n", level);
    }
}

程序运行结果:

for循环

1到10程序:

public class OneToTen {
    public static void main(String[] args) {
        for(int i = 1; i <= 10; i++) {
            System.out.println(i);
        }
    }
}

程序运行结果:

使用for循环实现九九乘法表程序:

public class NineNineTable {
    public static void main(String[] args) {
        for(int j = 1; j < 10; j++) {
            for(int i = 2; i < 10; i++) {
                System.out.printf("%d*%d=%2d ",i, j,  i * j);
            }
            System.out.println();
        }
    }
}

程序运行结果:

课本上另外一种实现九九乘法表的程序:

public class NineNineTable2 {
    public static void main(String[] args) {
        for (int i = 2, j = 1;  j < 10; i = (i==9)?((++j/j)+1):(i+1)) { 
            System.out.printf("%d*%d=%2d%c", i, j,  i * j, (i==9 ? '\n' : ' '));
        }   
    }
}

程序运行结果:

提示:
for循环圆括号中的第二个复合描述块如果没有撰写,默认就是true。故有

for(;;) {
    ...
}

表示无穷循环。

while循环

使用while循环实现随机停止

public class RandomStop {
    public static void main(String[] args) {
        while(true) {  //直接执行循环
            int number = (int) (Math.random() * 10);   //随机产生0-9的书
            System.out.println(number);
            if(number == 5) {
                break;  //如果遇到5就离开循环
            }
        }
        System.out.println("I hit 5....Orz");
    }
}

程序运行结果:

课本上另外一种实现随机停止的程序代码:

public class RandomStop2 {
    public static void main(String[] args) {
        int number;
        do {
            number = (int) (Math.random() * 10);  //先随机产生0-9的数
            System.out.println(number);
        } while(number != 5);  //再判断要不要重复执行
        System.out.println("I hit 5....Orz");
    }
}

程序运行结果:

这两段代码的最主要区别在于随机数产生和判断步骤的先后顺序

breakcontinue

break可以离开当前switchforwhiledo...while的区块,并执行区块后下一个描述句。在switch中主要用来中断下一个case比较,在forwhiledo...while中,主要用于中断当前循环。

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

遇到的大部分问题经过类比C语言可以得到解决。

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

在代码调试过程中遇到在git中tree命令找不到,经过查询百度后应当下载文件。
其余的代码照搬课本,没有遇到大问题。

代码托管

代码上传截图:

代码量截图:

上周考试错题总结

  • 错题 填空:知识分为三类元知识、硬知识、软知识,需要通过实践获得的是(软知识)。真理,一定牢记。
  • 填空:德雷福斯技能学习模型把技能获取分为五个阶段:新手、高级新手、胜任者、精通者、专家,其中( 新手 )不能离开详细的指令。真理,一定牢记。
  • 填空:(git push)将本地分支的更新,推送到远程主机。基本问题应当牢记。
  • 填空:git log 命令来查看(提交历史)。基本问题,应当牢记。

感悟

在学习过程中愈发体会到认真的重要性。其次发现Java与C语言有极大的相似之处,可以通过C语言的学习过程得到触类旁通的效果。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 5/5 1/1 10/10
第二周 98/103 1/2 15/25
参考:
  • 计划学习时间:10小时

  • 实际学习时间:15小时

参考资料

posted @ 2017-03-05 21:52  T_T>_<20155334  阅读(139)  评论(3编辑  收藏  举报