黑马程序员技术交流社区

标题: 西安黑马javaEE 21期 GCC 的学习笔记 [打印本页]

作者: 953813853    时间: 2018-1-29 17:06
标题: 西安黑马javaEE 21期 GCC 的学习笔记
/*
* String:字符串类
*   由多个字符组成的一串数据
*   字符串其本质是一个字符数组
*
* 构造方法:
*   String(String original):把字符串数据封装成字符串对象
*   String(char[] value):把字符数组的数据封装成字符串对象
*   String(char[] value, int index, int count):把字符数组中的一部分数据封装成字符串对象
*
* 注意:字符串是一种比较特殊的引用数据类型,直接输出字符串对象输出的是该对象中的数据。
*/

/*
* 通过构造方法创建的字符串对象和直接赋值方式创建的字符串对象有什么区别呢?
*   通过构造方法创建字符串对象是在堆内存。
*   直接赋值方式创建对象是在方法区的常量池。
*   
* ==:
*   基本数据类型:比较的是基本数据类型的值是否相同
*   引用数据类型:比较的是引用数据类型的地址值是否相同
*/
/*
* Object:是类层次结构中的根类,所有的类都直接或者间接的继承自该类。
* 如果一个方法的形式参数是Object,那么这里我们就可以传递它的任意的子类对象。
*
* String类的判断功能:
* boolean equals(Object obj):比较字符串的内容是否相同
* boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
* boolean startsWith(String str):判断字符串对象是否以指定的str开头
* boolean endsWith(String str):判断字符串对象是否以指定的str结尾
*/
/*
* String类的获取功能:
* 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
*/

/*
* String类的转换功能:
* char[] toCharArray():把字符串转换为字符数组
* String toLowerCase():把字符串转换为小写字符串
* String toUpperCase():把字符串转换为大写字符串
*
* 字符串的遍历:
*   A:length()加上charAt()
*   B:把字符串转换为字符数组,然后遍历数组
*/
*
* 去除字符串两端空格
*  String trim()
* 按照指定符号分割字符串
*  String[] split(String str)
*/

/*
* StringBuilder:是一个可变的字符串。字符串缓冲区类。
*
* String和StringBuilder的区别:
*   String的内容是固定的。
*   StringBuilder的内容是可变的。
*
* 构造方法:
*   StringBuilder()
*
* 成员方法:
*   public int capacity():返回当前容量
*   public int length():返回长度(字符数)
*
*   容量:理论值
*   长度:实际值
*/

/*
* 添加功能
*  public StringBuilder append(任意类型):添加数据,并返回自身对象
* 反转功能
*  public StringBuilder reverse()
*/

/*
* StringBuilder和String的相互转换
*
* StringBuilder -- String
*   public String toString():通过toString()就可以实现把StringBuilder转成String
*
* String -- StringBuilder
*   StringBuilder(String str):通过构造方法就可以实现把String转成StringBuilder
*/

/*
* 把字符串反转
*
* 分析:
*   A:键盘录入一个字符串
*   B:写方法实现反转
*    String -- StringBuilder -- reverse() -- String
*   C:调用方法
*   D:输出结果
*/
1、水果类
成员变量:水果的种类,水果的颜色....
    成员方法:榨汁,做果酱.....
2、面向对象就是面向该类中的具体东西(苹果、香蕉...是水果类中具体的面向对象)。
3、成员变量:类中方法外。
   局部变量:方法内 或方发声明上(形式参数)

如何创建对象呢?
*   格式:类名 对象名 = new 类名();
* 如何访问成员呢?
*   成员变量:对象名.变量名
*   成员方法:对象名.方法名(...)

4、把代码用方法进行封装,提高了代码的复用性
通过方法来对成员变量的操作,提高了代码的安全性
5、如果局部变量名和成员变量名相同,在局部使用时采取的就近原则
6、this:带表所在类中的对象
方法被那个对象调用,this就代表哪个对象
   使用场景:
成员变量被局部变量所隐藏
   ****************************
   *方法setXxx是给成员变量赋值*
   *  方法getXxx是获取成员变量*
   ****************************
7、构造方法是给对象的数据进行初始化
   方法名和类名一致
无返回值类型(连void也没有)  没有明确的返回值
********************************************
*8、构造方法:可以给成员变量赋值    *
*  可以给对象的数据进行初始化 *
********************************************

9、一个方法的形式参数是一个类名,形式参数传递的是该类的对象
      如果方法的返回值是类名,那这个方法的返回值是该累的对象





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