1. 程式人生 > >細節一:字符串、switch、默認值、數組

細節一:字符串、switch、默認值、數組

一個點 [1] Y軸 二維 dom 數組的數組 冒泡 第一個 case

1、輸入一個字符串 s 判斷與字符串 str 是否相等,用:變量.equals(變量)

2、a . equals( b ),String類型比較是否相等
如果a為null,就會報錯 NullPointerException
解決辦法:將確定不為null的放在前面

3、取max到min之間的隨機數,(Math.random()*(max-min+1)+min)

4、switch(num){
  case 1:
  System.out.println("123");
  //break;
  case 2:
  System.out.println("456");
  break;
}
當num=1時,如果case 1 沒有break,將執行向下穿透最後將輸出:123
                              456
5、char類型的數組的數組項默認值為:空(表現出來是空格)
整數型和浮點型數組的數組項默認值為:0
String類型的數組的數組項默認值為:null
boolean類型的數組的數組項默認值為:false

6、String a = "Java";
String b = "Length";
a.compareTo(b);
compareTo按照之母順序比較兩個字符串的先後順序,返回結果int類型
先比較第一個字母,以b的首字母L作為x軸的0坐標,a的首字母J在L的前兩位,則返回-2
若第一個字母相同,則比較第二個字母,直到找到不同或比較完最後一個字母
如果字母都相同則返回0
如果String a = "arr";
String b = "arrs";
a.compareTo(b);
返回值為-1

7、給數組從小到大排序
int[] arr = {5,6,1,9,3,7,21,8,4};
Arrays.sort(arr);
8、冒泡排序
  int [] arr = {5,9,3,6,1,7,2,8};
  for (int i = 0; i < arr.length-1; i++) {
    for (int j = 0; j < arr.length-1-i; j++) {
      if(arr[j]>arr[j+1]) {
        int a = arr[j];
        arr[j] = arr[j+1];
        arr[j+1] = a;
      }
    }
  }
9、交換排序
  int [] arr = {5,9,3,6,1,7,2,8};
  for (int i = 0; i < arr.length-1; i++) {
    for (int j = i+1; j < arr.length; j++) {
      if(arr[i]>arr[j]) {
        int a = arr[i];
        arr[i] = arr[j];
        arr[j] = a;
      }
    }
  }
10、選擇排序
  int [] arr = {5,9,3,6,1,7,2,8};
  for (int i = 0; i < arr.length-1; i++) {
    int k = i;
    for (int j = k+1; j < arr.length; j++) {
      if(arr[j]<arr[k])
      k = j;
    }
    if(i != k) {
      int a = arr[i];
      arr[i] = arr[k];
      arr[k] = a;
    }
  }
11、可以將二維數組看作,一個點在y軸x軸的坐標(int[y][x])
  聲明二維數組
  int [][] arr = new int[5][5];
  賦值
  arr[0][0] = 1;
  arr[0][1] = 1;
  ...
  聲明並賦值
  int [][] arr = {{1,1,1,1,1},{2,2,2,2,2},{3,3,3,3,3},{4,4,4,4,4},{5,5,5,5,5}};
  第一個長度一定要賦值,第二個長度聲明時可以不賦值(長度不固定)
  聲明
  int [][] arr = new int [3][];
  賦值,要先聲明後面的長度,才能賦值
  arr[0] = new int[3];
  遍歷二維數組需要用雙重循環

細節一:字符串、switch、默認值、數組