1. 程式人生 > 其它 >CQOI 2011 動態逆序對 【CDQ分治】

CQOI 2011 動態逆序對 【CDQ分治】

型別轉換

 //型別轉換
        int i = 128;
        byte j = (byte)i;
        System.out.println(j);

輸出結果:-128(為什麼?)

Java型別轉換可以一下兩種:

  1. 強制轉換: (型別)變數 高-->低
  2. 自動轉換: 低-->高
int money = 10_0000_0000;//JDK7新特性,允許對數值型別賦值時使用下劃線
        int year = 20;
        int total1 = money * year;//計算的溢位了
        long total2 = money * year;//預設是int,轉換之前就存在問題了
        long total3 = money * (long)year;//先把一個數轉換為long就不會出現溢位
        System.out.println(total1);
        System.out.println(total2);
        System.out.println(total3);

執行結果:

-1474836480
-1474836480
20000000000

注意點:

1.不能對布林值進行轉換
2.不能把物件型別轉換為不相干的型別
3.在把高容量轉換為低容量的時候,強制轉換,反之自動轉換
4.轉換的時候可能存在記憶體溢位,或者精度問題