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


#学号 2018-2019-2 《Java程序设计》第2周学习总结

##Vim操作的一些总结

      这些天通过学习,对于vim的操作有了很大的提升,下面我把vim的比较常见的操作方式做了归类。**(正常模式下操作,区分大小写)**

###插入类:

                             i     在光标前插入文本

                            a    在光标后插入文本

                            A    在一行后添加文本 

                            p     重新置入已经删除的文本内容(在选定文本后,可以使用y进行复制,p进行粘贴)

###删除类:

                            x    删除光标所在位置的字符     

                          dw   从当前光标删除至下一个单词

                          d$    从当前光标删除至当前行末尾

                          dd    删除整行

###更改类:

                             r    替换光标所在位置的字符

                     cw/ce    替换一个单词( 二者区别在于cw删除从当前位置至下一个单词的第一个字母前,ce删除从当前位置至当前单词的末尾。例如:“[光标][空格]me” ,执行cw后会删除空格而保留me,执行ce后会删除空格和me)

                          c$    替换整行(和dd是一样的效果,只是删除后进入插入模式)

       :s/原项/替换项    替换光标所在行的第一个匹配串(“/查找的内容”可以对全文本进行查找,其间用n来查找下一个)

    :s/原项/替换项/g    替换全行的匹配串

:#,#s/原项/替换项/g   其中 #,# 代表的是替换操作的若干行中首尾两行的行号。

 :%s/原项/替换项/g    则是替换整个文件中的每个匹配串。

:%s/原项/替换项/gc   会找到整个文件中的每个匹配串,并且对每个匹配串提示是否进行替换。

       提示:可使用数字+操作符的方式对文本进行重复操作,如输入“5k”,可使光标上移5行。

##教材学习内容总结
     通过对2.3章的学习,自己动手敲了一下冒泡排序的代码,感觉自己对于这两章的内容有了更深的了解。
    

import java.util.Scanner;
public class mppx {
        public static void main(String[] args) {
                int [] a={0,0,0,0,0,0,0,0,0,0};
                int t;
                int n = 0;
                //输入数字
                Scanner reader = new Scanner(System.in);
                for( ;n<=10;n++){
                System.out.println("请输入数字,若输入数字0则结束输入操作");
                int l = reader.nextInt();
                if(l==0)
                        break;
                a[n] = l;
                }
                //构建排序数组
                for(int b = 0;b <= n-1;b++){

                        for(int c = b+1;c <= n;c++){
                                if(a[b]<a[c]){
                                        t=a[b];
                                        a[b]=a[c];
                                        a[c]=t;
                                }
                        }
                }
                //排序阶段
               for (int j:a){
                       if(j==0)
                        break;
                       System.out.print(j + " ");
               }
        System.out.println();
               //输出阶段
                }
        }



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

- 问题1:对for(int 变量:数组)的形式理解不深
- 问题1解决方案:在自己编程序的时候,有意识的用for遍历数组用法来加深理解
- 问题2:运行带包的类的时候,无法运行
- 问题2解决方案:创建与package后同名的文件夹,并把源代码放入,在该文件夹中编译生成类,并在上一层文件夹中用java -cp 文件夹/java文件  的方式进行运行。

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


- 问题1:在代码中直接用Scanner语法,无法找到类
- 问题1解决方案:在代码第一行加入import java.util.Scanner;后即可
- 问题2:for语句遍历数组时显示数组没有初值
- 问题2解决方案:在定义数组时设定数组的初值或者定义后用其他方式赋值

##[代码托管](https://gitee.com/xinhaoa/textbook_code/commits/master)



##上周考试错题总结
- 课上测试p14代码,未能正确填写代码public class后的类名,课下检查出来后进行了更改。


##学习进度条

|                 | 代码行数(新增/累积)| 博客量(新增/累积)|学习时间(新增/累积)|重要成长|
| -----------   | :----------------:|:----------------:|:---------------:|:-----:|
| 目标         | 5000行            |   30篇      | 400小时    |        |
| 第一周      | 35/35             |   0/0            | 16/16      |        |
| 第二周      | 321/356         |   1/1            | 20/36      |        |





##参考资料

-  [Java学习笔记(第8版)](http://book.douban.com/subject/26371167/)

-  [《Java学习笔记(第8版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.html)
 

原文地址:https://www.cnblogs.com/wxhblogs/p/10507553.html