细节一:字符串、switch、默认值、数组

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];
  遍历二维数组需要用双重循环

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值