黑马程序员技术交流社区

标题: 第三天总结 [打印本页]

作者: ChasXu    时间: 2017-12-8 17:32
标题: 第三天总结
        今天自习,把前面的内容大概都看了一下,整理了一下.
方法:就是完成特定功能的代码块。
*
* 定义格式:
*          修饰符 返回值类型 方法名(参数类型参数名1,参数类型 参数名2...) {
*                 方法体;
*                 return 返回值;
*          }
* 格式解释:
*          A:修饰符 目前记住public static
*          B:返回值类型 用于限定返回值的数据类型
*          C:方法名 一个名字,为了方便我们调用方法
*          D:参数类型 用于接收调用方法时传入的数据的类型
*          E:参数名  用于接收调用方法时传入的数据的变量
*          F:方法体 完成功能的代码
*          G:return 结束方法,把返回值带给调用者
*
* 方法的两个明确:
*          A:返回值类型 明确功能结果的数据类型
*          B:参数列表 明确有几个参数,以及参数的类型
命名原则:见名知意
a包
        最好是域名倒过来,要求所有的字母小写
b类或者接口
        如果是一个单词首字母大写
        如果是多个单词每个单词首字母大写(驼峰标识)
c方法或者变量
        如果是一个单词全部小写
        如果是多个单词,从第二个单词首字母大写
d常量
        如果是一个单词,所有字母大写
        如果是多个单词,所有的单词大写,用下划线区分每个单词
方法重载特点:
*          方法名相同,参数列表不同。与返回值无关。
*          参数列表不同:
*                 参数的个数不同。
*                 参数对应的类型不同。
            顺序不同
构造方法格式
a:方法名与类名相同
b:没有返回值类型,连void都没有
c:没有具体的返回值
常用API
Scanner:
       String nextLine():键盘录入字符串[注意不要混合使用]
       String next():键盘录入字符串[注意不要输入空格]
       String nextInt():键盘录入整数
       String nextDouble():键盘录入小数
      
String:
        创建对象的常用方式:
                      方式1:
                       String s4 = "hello";
                      方式2:
                       char[] chs = {'h','e','l','l','o'};
                       String s2 = new String(chs);
              
              判断功能:
                      * boolean equals(Object obj):比较字符串的内容是否相同
                      * boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
                      * boolean startsWith(String str):判断字符串对象是否以指定的str开头
                      * boolean endsWith(String str):判断字符串对象是否以指定的str结尾
                      * boolean contains(String str):判断字符串对象是否以包含的str  
                     
               获取功能:
                      * int length():获取字符串的长度,其实也就是字符个数
                      * char charAt(int index):获取指定索引处的字符
                      * int indexOf(String str):获取str在字符串对象中第一次出现的索引
                      * String substring(int start):从start开始截取字符串
                      * String substring(int start,int end):从start开始,到end结束截取字符串。包括start,不包括end
              
              转换功能:
                      * char[] toCharArray():把字符串转换为字符数组
                      * String toLowerCase():把字符串转换为小写字符串
                      * String toUpperCase():把字符串转换为大写字符串
                     
              其他功能:
                      * String trim() :去除字符串两端空格   
                      * String replace(String oldStr,String newStr):将字符串中oldStr替换成newStr
                      * String[] split(String str):按照指定符号分割字符串
StringBuilder:
              常用方法:
                      * public int length():返回长度(字符数)
                      * public StringBuilder append(任意类型):添加数据,并返回自身对象
                      * public StringBuilder reverse():反转数据,并返回自身对象
              StringBuilder和String的互转:
                      StringBuilder -- String
                            * public StringtoString():通过toString()就可以实现把StringBuilder转成String
                      String -- StringBuilder
                            *StringBuilder(String str):通过构造方法就可以实现把String转成StringBuilder
集合
获取元素
*          publicE get(int index):返回指定索引处的元素
* 集合长度
*          publicint size():返回集合中的元素的个数
* 删除元素
*          publicboolean remove(Object o):删除指定的元素,返回删除是否成功
*          publicE remove(int index):删除指定索引处的元素,返回被删除的元素
* 修改元素
*          publicE set(int index,E element):修改指定索引处的元素,返回被修改的元素
如何实现数据的换行?
*          \n可以实现换行,但是windows系统自带的记事本打开并没有换行,这是为什么呢?因为windows识别的换行不是\n,而是\r\n
*          windows:\r\n
*          linux:\n
*          mac:\r
BufferedWriter
             voidnewLine():写一个换行符,这个换行符由系统决定,不同的操作系统newLine()方法使用的换行符不同
BufferedReader
             StringreadLine():一次读取一行数据,但是不读取换行符
* 如何实现数据的追加写入?
*          FileWriter(StringfileName, boolean append)FileWriter fw = new FileWriter("c.txt",true);
FileWriter其它写方法
voidwrite(String str):写一个字符串数据
voidwrite(String str,int index,int len):写一个字符串中的一部分数据
voidwrite(int ch):写一个字符数据,这里写int类型的好处是既可以写char类型的数据,也可以写char对应的int类型的值。'a',97
voidwrite(char[] chs):写一个字符数组数据
voidwrite(char[] chs,int index,int len):写一个字符数组的一部分数据
static的注意事项:
*                 静态方法:
*                        可以调用静态的成员变量
*                        可以调用静态的成员方法
*                        不可以调用非静态成员变量
*                        不可以调用非静态成员方法
*                        静态方法只能调用静态的成员
*                 非静态方法:
*                        可以调用静态的成员变量
*                        可以调用静态的成员方法
*                        可以调用非静态的成员变量
*                        可以调用非静态的成员方法
自定义工具类:
Private+类名{ }
类变量:其实就是静态变量
    定义位置:定义在类中方法外
    所在内存区域:方法区
生命周期:随着类的加载而加载
特点:无论创建多少对象,类变量仅在方法区中,并且只有一份
实例变量:其实就是非静态变量
    定义位置:定义在类中方法外
    所在内存区域:堆
    生命周期:随着对象的创建而加载
    特点:每创建一个对象,堆中的对象中就有一份实例变量
继承中成员变量的特点
    A:子类只能获取父类非私有成员
   子父类中成员变量的名字不一样直接获取父类的成员变量
      子父类中成员变量名字是一样的获取的是子类的成员变量
B:就近原则:谁离我近我 就用谁
      如果有局部变量就使用局部变量
      如果没有局部变量,有子类的成员变量就使用子类的成员变量
      如果没有局部变量和子类的成员变量,有父类的成员变量就使用父类的成员变量
C: super:可以获取父类的成员变量和成员方法,用法和this是相似的
this和super的区别
              this:当前对象的引用
                     调用子类的成员变量
                     调用子类的成员方法
                     在子类的构造方法第一行调用子类其他构造方法
              super:子类对象的父类引用
                     调用父类的成员变量
                     调用父类的成员方法
                     在子类的构造方法第一行调用父类的构造方法
匿名对象的应用场景:
*          当方法只调用一次的时候可以使用匿名对象
*          可以当作参数进行传递,但是无法在传参之前做其他的事情
* 注意:匿名对象可以调用成员变量并赋值,但是赋值并没有意义
final关键字
  final: 修饰符,可以用于修饰类、成员方法和成员变量
  final所修饰的类:不能被继承,不能有子类
  final所修饰的方法:不能被重写
  final所修饰的变量:是不可以修改的,是常量
abstract:关键字,用于修饰方法和类,不能和 private ; final ; static 共存
* 抽象方法:不同类的方法是相似,但是具体内容又不太一样,所以我们只能抽取他的声明,没有具体的方法体,没有具体方法体的方法就是抽象方法
* 抽象类:有抽象方法的类必须是抽象类
* 注意:一个类继承了抽象类需要重写他所有的抽象方法,否则这个类就得是抽象类
抽象类的特点:
           抽象方法只能在抽象类里面
           抽象类和抽象方法必须被abstract修饰
           抽象类不能创建对象(不能实例化)
             抽象类中可以有非抽象的方法
             抽象类和类的关系也是继承
             一个类继承了抽象类要么重写所有的抽象方法,要么他自己是抽象类      


作者: xiongliu    时间: 2017-12-9 15:49
是有认真复习的,为你的认真点赞
作者: 1414225997    时间: 2017-12-10 09:32
很认真的总结
作者: 陈文老师    时间: 2017-12-10 13:57
加油,骚年,坚持总结,查漏补缺
作者: 渝小妹    时间: 2017-12-11 09:18
每天争取都要全部掌握全部吸收哟~~~
作者: 花开的季节    时间: 2017-12-11 17:13
不错哟,认真的人最帅!
作者: 没关系    时间: 2017-12-11 19:54
这个确实厉害了    加油    继续保持
作者: 狸大大    时间: 2017-12-12 14:50
善于总结   温故而知新   加油哦




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2