byte, short, int, Long, char数据类型复习

package com.kun.base;

        /**
        byte的取值范围:-128~127(-2的7次方到2的7次方-1)

        short的取值范围:-32768~32767(-2的15次方到2的15次方-1)

        int的取值范围:-2147483648~2147483647(-2的31次方到2的31次方-1)

        long的取值范围:-9223372036854774808~9223372036854774807(-2的63次方到2的63次方-1)

        char‌:单个字符,无符号整数,取值范围为0至65535(字符编码;输出时会转化为编码所对应的单个字符)

        */
public class Demo1 {
    public static void main(String[] args) {
        int a = 1;//int表示整数类型 a为一个变量(int声明了a为一个整数变量)a = 1("="将"1"赋值给了a)
        int b = 2;
        int c = a + b;
        System.out.println(c);//将变量 c 的值打印到控制台
        System.out.println(a - b);
        System.out.println(a * b);
        System.out.println(a / b);//输出结果为0 a 和 b 都是整数类型,那么结果也是整数,并且会向下取整
        System.out.println(a /(double) b);//输出结果为0.5 b 被强制类型转换为 double 类型
        System.out.println(a % b);//取余 1

        System.out.println("=======================================");

        byte a1 = 100;
        byte b1 = -100;
        byte c1 = (byte) (a1+b1);
        System.out.println(c1);
        System.out.println(a1/b1);
        System.out.println(a1*b1);//-10000 byte、short、char类型变量参与算术运算时,会先自动提升为int类型
        /**
         * byte a1=100 → 提升为int 100
         *
         * byte b1=-100 → 提升为int -100
         *
         * 计算100 * (-100) = -10000(int类型结果)
         */
        System.out.println("=======================================");

        //short 方法与上类似

        //Long a2 = 10000L;//L 后缀表示这些数值是 long 类型
        //Long b2 = 20000L;//L 后缀表示这些数值是 long 类型

        char a5 = '中';//单个字符
        char b5 = 'A';//单个字符
        char c5 = (char) (a5 +b5);
        System.out.println(a5);
        System.out.println(b5);
        System.out.println(c5);
        /**
         * 变量a2被赋值为字符'中'
         * 变量b2被赋值为字符'A'
         * 当执行a2 + b2时,Java会将这两个字符的码值相加,得到结果。
         * 由于c2被声明为char类型,所以需要对相加的结果进行强制类型转换(char),以便将其赋值给c2。
         * 强制类型转换可能会丢失精度或导致结果错误,但在这种情况下,结果仍然在char类型可表示的范围内,因此转换是有效的。
         * 最终,c2的值为字符'乮',这是a2+b2的码值所对应的字符
         */
        char d5 = 1000;//此处默认为字符的码值
        char e5 = 2000;//此处默认为字符的码值
        char f5 = (char) (d5+e5);//d2与e2的码值相加3000所对应的字符
        System.out.println(d5);//字符编码1000 Ϩ
        System.out.println(e5);//字符编码2000 ߐ
        System.out.println(f5);//字符编码3000 ஸ
    }

}
posted on 2025-10-21 17:23  Sea(kun)  阅读(3)  评论(0)    收藏  举报