public class PromosiNumerik {

    public static void main(String[] args) {
        byte a = 100;
        byte b = 28;

        int jumlah = a + b;           // byte + byte dipromosikan ke int (JLS 5.6)
        System.out.println("a + b           : " + jumlah);

        byte padat = (byte) (a + b);  // pengecoran eksplisit: 128 meluap menjadi -128
        System.out.println("(byte) (a + b)  : " + padat);

        char huruf = 'A';
        int kode = huruf + 1;         // char + int juga dipromosikan ke int (JLS 5.6)
        System.out.println("'A' + 1         : " + kode);

        huruf += 1;                   // padanan (char) (huruf + 1), pengecoran implisit (JLS 15.26.2)
        System.out.println("huruf += 1      : " + huruf);

        boolean lulus = true;
        double nilai = lulus ? 1 : 2.5; // ekspresi kondisional: 1 dipromosikan ke double (JLS 15.25)
        System.out.println("true ? 1 : 2.5  : " + nilai);
    }
}
