13.01_常见对象(StringBuffer类的概述)

  • A:StringBuffer类概述

    • 通过JDK提供的API,查看StringBuffer类的说明
    • 线程安全的可变字符序列
  • B:简述安全问题
    • 线程安全效率低
  • C:StringBuffer和String的区别
    • String是一个不可变的字符序列
    • StringBuffer是一个可变的字符序列

13.02_常见对象(StringBuffer类的构造方法)

  • A:StringBuffer的构造方法:

    • public StringBuffer():无参构造方法
    • public StringBuffer(int capacity):指定容量的字符串缓冲区对象
    • public StringBuffer(String str):指定字符串内容的字符串缓冲区对象
  • B:StringBuffer的方法:
    • public int capacity():返回当前容量。 理论值(不掌握)
    • public int length():返回长度(字符数)。 实际值
  • C:案例演示
    • 构造方法和长度方法的使用

13.03_常见对象(StringBuffer的添加功能)

  • A:StringBuffer的添加功能

    • public StringBuffer append(String str):

      • 可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身
    • public StringBuffer insert(int offset,String str):
      • 在指定位置把任意类型的数据插入到字符串缓冲区里面,并返回字符串缓冲区本身

13.04_常见对象(StringBuffer的删除功能)

  • A:StringBuffer的删除功能

    • public StringBuffer deleteCharAt(int index):

      • 删除指定位置的字符,并返回本身
    • public StringBuffer delete(int start,int end):
      • 删除从指定位置开始指定位置结束的内容,并返回本身

13.05_常见对象(StringBuffer的替换和反转功能)

  • A:StringBuffer的替换功能

    • public StringBuffer replace(int start,int end,String str):

      • 从start开始到end用str替换
  • B:StringBuffer的反转功能
    • public StringBuffer reverse():

      • 字符串反转

13.06_常见对象(StringBuffer的截取功能及注意事项)

  • A:StringBuffer的截取功能

    • public String substring(int start):

      • 从指定位置截取到末尾
    • public String substring(int start,int end):
      • 截取从指定位置开始到结束位置,包括开始位置,不包括结束位置
  • B:注意事项
    • 注意:返回值类型不再是StringBuffer本身

13.07_常见对象(StringBuffer和String的相互转换)

  • A:String -- StringBuffer

    • a:通过构造方法
    • b:通过append()方法
  • B:StringBuffer -- String
    • a:通过构造方法
    • b:通过toString()方法
    • c:通过subString(0,length);

13.08_常见对象(把数组转成字符串)

  • A:案例演示

    • 需求:把数组中的数据按照指定个格式拼接成一个字符串
    • 举例:
      int[] arr = {1,2,3};
      输出结果:
      "[1, 2, 3]" 用StringBuffer的功能实现

13.09_常见对象(字符串反转)

  • A:案例演示
  • 需求:把字符串反转
    举例:键盘录入"abc"
    输出结果:"cba" 用StringBuffer的功能实现

13.10_常见对象(StringBuffer和StringBuilder的区别)

  • A:StringBuilder的概述

    • 通过查看API了解一下StringBuilder类
  • B:面试题

    • String,StringBuffer,StringBuilder的区别
    • StringBuffer和StringBuilder的区别
    • StringBuffer是jdk1.0版本的,是线程安全的,效率低
    • StringBuilder是jdk1.5版本的,是线程不安全的,效率高

    • String和StringBuffer,StringBuilder的区别

    • String是一个不可变的字符序列
    • StringBuffer,StringBuilder是可变的字符序列

13.11_常见对象(String和StringBuffer分别作为参数传递)

  • A:形式参数问题

    • String作为参数传递
    • StringBuffer作为参数传递
  • B:案例演示
    • String和StringBuffer分别作为参数传递问题

13.12_常见对象(数组高级冒泡排序原理图解)

  • A:画图演示
  • 需求:
    数组元素:{24, 69, 80, 57, 13}
    请对数组元素进行排序。 冒泡排序
    相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处

13.13_常见对象(数组高级冒泡排序代码实现)

  • A:案例演示

    • 数组高级冒泡排序代码

13.14_常见对象(数组高级选择排序原理图解)

  • A:画图演示

    • 需求:

      • 数组元素:{24, 69, 80, 57, 13}
      • 请对数组元素进行排序。

      • 选择排序

        • 从0索引开始,依次和后面元素比较,小的往前放,第一次完毕,最小值出现在了最小索引处

13.15_常见对象(数组高级选择排序代码实现)

  • A:案例演示

    • 数组高级选择排序代码

13.16_常见对象(数组高级二分查找原理图解)

  • A:画图演示

    • 二分查找
    • 前提:数组元素有序

13.17_常见对象(数组高级二分查找代码实现及注意事项)

  • A:案例演示

    • 数组高级二分查找代码
  • B:注意事项
    • 如果数组无序,就不能使用二分查找。

      • 因为如果你排序了,但是你排序的时候已经改变了我最原始的元素索引。

13.18_常见对象(Arrays类的概述和方法使用)

  • A:Arrays类概述

    • 针对数组进行操作的工具类。
    • 提供了排序,查找等功能。
  • B:成员方法
    • public static String toString(int[] a)
    • public static void sort(int[] a)
    • public static int binarySearch(int[] a,int key)

13.19_常见对象(基本类型包装类的概述)

  • A:为什么会有基本类型包装类

    • 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。
  • B:常用操作
    • 常用的操作之一:用于基本数据类型与字符串之间的转换。
  • C:基本类型和包装类的对应
  • byte            Byte
    short Short
    int Integer
    long Long
    float Float
    double Double
    char Character
    boolean Boolean

13.20_常见对象(Integer类的概述和构造方法)

  • A:Integer类概述

    • 通过JDK提供的API,查看Integer类的说明

    • Integer 类在对象中包装了一个基本类型 int 的值,

    • 该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,
    • 还提供了处理 int 类型时非常有用的其他一些常量和方法
  • B:构造方法
    • public Integer(int value)
    • public Integer(String s)
  • C:案例演示
    • 使用构造方法创建对象

13.21_常见对象(String和int类型的相互转换)

  • A:int -- String

    • a:和""进行拼接
    • b:public static String valueOf(int i)
    • c:int -- Integer -- String(Integer类的toString方法())
    • d:public static String toString(int i)(Integer类的静态方法)
  • B:String -- int
    • a:String -- Integer -- int

      • public static int parseInt(String s)

13.22_常见对象(JDK5的新特性自动装箱和拆箱)

  • A:JDK5的新特性

    • 自动装箱:把基本类型转换为包装类类型
    • 自动拆箱:把包装类类型转换为基本类型
  • B:案例演示

    • JDK5的新特性自动装箱和拆箱

    • Integer ii = 100;

    • ii += 200;
  • C:注意事项
    • 在使用时,Integer x = null;代码就会出现NullPointerException。
    • 建议先判断是否为null,然后再使用。

13.23_常见对象(Integer的面试题)

  • A:Integer的面试题
  • 看程序写结果
    
    Integer i1 = new Integer(97);
    Integer i2 = new Integer(97);
    System.out.println(i1 == i2);
    System.out.println(i1.equals(i2));
    System.out.println("-----------"); Integer i3 = new Integer(197);
    Integer i4 = new Integer(197);
    System.out.println(i3 == i4);
    System.out.println(i3.equals(i4));
    System.out.println("-----------"); Integer i5 = 97;
    Integer i6 = 97;
    System.out.println(i5 == i6);
    System.out.println(i5.equals(i6));
    System.out.println("-----------"); Integer i7 = 197;
    Integer i8 = 197;
    System.out.println(i7 == i8);
    System.out.println(i7.equals(i8));

阶段01Java基础day13常见对象02的更多相关文章

  1. 阶段01Java基础day16集合框架02

    16.01_集合框架(去除ArrayList中重复字符串元素方式1) A:案例演示 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同) 思路:创建新集合方式 /** * A:案例演示 ...

  2. day13<常见对象+>

    常见对象(StringBuffer类的概述) 常见对象(StringBuffer类的构造方法) 常见对象(StringBuffer的添加功能) 常见对象(StringBuffer的删除功能) 常见对象 ...

  3. Java 常见对象 02

    常见对象·String类 Scanner 的概述和方法介绍 * A:Scanner 的概述 * B:Scanner 的构造方法原理 * Scanner(InputStream source) * Sy ...

  4. 阶段01Java基础day21IO流02

    21.01_IO流(字符流FileReader) 1.字符流是什么 字符流是可以直接读写字符的IO流 字符流读取字符, 就要先读取到字节数据, 然后转为字符. 如果要写出字符, 需要把字符转为字节再写 ...

  5. 阶段01Java基础day26反射

    27.01_反射(类的加载概述和加载时机) A:类的加载概述 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化. 加载 就是指将class文 ...

  6. 阶段01Java基础day18集合框架04

    18.01_集合框架(Map集合概述和特点) A:Map接口概述 查看API可以知道: 将键映射到值的对象 一个映射不能包含重复的键 每个键最多只能映射到一个值 B:Map接口和Collection接 ...

  7. 阶段01Java基础day10面向对象05

    10.01_面向对象(package关键字的概述及作用) A:为什么要有包 将字节码(.class)进行分类存放 B:包的概述 C:包的作用 10.02_面向对象(包的定义及注意事项) A:定义包的格 ...

  8. 阶段01Java基础day24多线程+GUI

    25.01_多线程(多线程方法) 1.yield让出cpu 2.setPriority()设置线程的优先级 25.02_多线程(单例设计模式)(掌握) 单例设计模式:保证类在内存中只有一个对象. 如何 ...

  9. 阶段01Java基础day23多线程

    23.01_多线程(多线程的引入) 1.什么是线程 线程是程序执行的一条路径, 一个进程中可以包含多条线程 多线程并发执行可以提高程序的效率, 可以同时完成多项工作 2.多线程的应用场景 红蜘蛛同时共 ...

随机推荐

  1. top 内存mem的used很高,或者100%

    top 内存mem的used很高,或者100% Linux服务器运行一段时间后,由于其内存管理机制,会将暂时不用的内存转为buff/cache,这样在程序使用到这一部分数据时,能够很快的取出,从而提高 ...

  2. 线性代数 | Linear Algebra

    网上说<线性代数应该这样学>非常不错,再配合大学教材,把线性代数的基本知识点过一遍. 线性代数 - 知乎 最近在跟一个教程:李宏毅的线性代数 基本知识: Rn :We denote the ...

  3. Children's Game UVA - 10905

    看90,956这样的串,在比较完之前,就确定大小的,必定选大的放在前.而x=98,y=980;这样的,比较x+y和y+x的大小.如果x+y更小,y就放前. #include <iostream& ...

  4. 03 爬虫之selenium模块

    selenium模块 1.概念,了解selenium 什么是selenium?selenium是Python的一个第三方库,对外提供的接口可以操作浏览器,然后让浏览器完成自动化的操作. seleniu ...

  5. Matlab:非线性热传导(抛物方程)问题

    函数文件1:real_fun.m function f=real_fun(x0,t0) %精确解 f=4*x0*(1-x0)*sin(t0); 函数文件2:F.m function f=F(N,u,U ...

  6. Git-解释“Swap file .MERGE_MSG.swp already exists”的问题

    当合并代码时非正常保存退出遇到的问题. 博客原文: https://blog.csdn.net/qq_32452623/article/details/78395832

  7. tornado 异步

    引言 注:正文中引用的 Tornado 代码除特别说明外,都默认引用自 Tornado 4.0.1. tornado.gen 模块是一个基于 python generator 实现的异步编程接口.通过 ...

  8. sqlserver用timestamp帮助解决数据并发冲突 转【转】

    http://blog.csdn.net/u011014032/article/details/42936783 关于并发请求,网上很多朋友都说的很详细了,我就不在这里献丑了.这里只记录下刚刚完工的那 ...

  9. OCP知识点讲解 之 检查点队列与增量检查点

    原创 http://blog.chinaunix.net/uid-26762723-id-3271558.html 检查点的主要目的是以对数据库的日常操作影响最小的方式刷新脏块.脏块不断的产生,如何将 ...

  10. python中sys.argv[]的使用

    sys.argv[]主要用于程序从外部获取参数.其参数个数可以是多个,组建成一个列表(list). 几个简单示例如下: fun_test.py: #!/usr/bin/env python # -*- ...