Java基础视频笔记(三)

Java视频基础笔记第三部分;

内容包括:String字符串的内存原理、StringBuffer、StringBuilder、数组和冒泡排序

 

28、String字符串
实例化String对象:
1、直接赋值 String ss = "Hello";
2、new开辟内存空间 String ss = new String("Hello");
使用第一种方式可以更节省空间

29、 字符串的比较
   ss.equals(ss);
   return true;

== 比较的是堆内存中的地址
equals 比较的是内容

30、获取字符串的长度
   ss.lenght()
 
     字符串转数组
   ss.toCharArray();

     从字符串中取出指定位置的字符
   ss.charAt(1); //() 内可以写0、1、2、3等等

   字符串与byte数组的转换: ss.getBytes();

     过滤字符串中存在的字符: indexOf();
    
     去掉空格: trim();

     从字符串中取出子字符串:subString()

     大小写转换:toLowerCase() toUpperCase()

     判断字符串的开头结尾字符:endsWidth()  startWith()

     替换String字符串中的一个字符:replace()

   根据API查看各种方法;


31、StringBuffer

字符串缓冲区,本身也是操作字符串,但是StringBuffer是可以更改的;
StringBuffer是一个操作类,必须通过实例化进行操作;
StringBuffer可以加快字符串在循环追加时的计算速度,因为不用开辟新的内存空间

StringBuffer s = new StringBuffer();
s.append("极客");

常用方法:
append("A") //覆盖
insert(0,"A") //从哪个位置开始追加
replace(1,3,"A")//从第几位到第几位,用A替换
indexOf()

32、StringBuilder
1、用于字符串缓冲区被单个线程使用的时候;
     速度比StringBuffer更快;
2、如果涉及到线程安全方面的问题,还是使用StringBuffer
3、常用方法:
append();
insert();

33、多态性:
1、方法的重载与重写

2、对象的多态性:
  向上转型:把子类数据传给父类(自动完成)

  父类 对象 = new 子类实例

  向下转型:把父类数据传给子类(需要进行强制类型转换)
  父类 对象 = new 子类实例

  子类 对象 = (子类)父类对象

34、数组:

数组的每个元素都用唯一的下标作为标识~  
int[] a = new int[100]; // 动态初始化
a[i] // i 就是数组 a 的下标
int[] a = {1,3,5,7,9};  // 静态初始化,直接指定数组元素     使用较多


冒泡排序:双层for循环

  1. int[] ar = {123,643,123,56,3234,56,34,12,2};  
  2. int temp = 0;  
  3. for(int i = 0; i < ar.length; i++){      //第一个循环从下标0 开始  
  4.     for(int j = i+1; j < ar.length; j++){   // 第二个循环,从下标 1 开始,所以+1  
  5.         if(ar[i] > ar[j]){       //从大到小排列,< 就是从小到大排列  
  6.             temp = ar[i];       //通过中间值 temp 进行交换操作  
  7.             ar[i] = ar[j];  
  8.             ar[j] = temp;  
  9.         }  
  10.     }  
  11. }  


35、翻转字符串:

  1. String st = "abcdefg";  
  2. StringBuffer sbf = new StringBuffer(st);  
  3. System.out.println(sbf.reverse());  


36、ObjectOutputStream输出的类对象,必须先implements Serializable 这个接口,否则编译会报错。

 

原文地址:https://www.cnblogs.com/jackchiang/p/4585113.html