自动类型转换和强制类型转换以及算术运算符

自动类型转换和强制类型转换

自动类型转换:当容量小的类型与大的计算时,小的自动转换成大的类型

强制类型转换:当容量小的类型与大的计算时,大的强制转换成小的类型 要用强制类型转换符()

char与int运算时自动转换为int

            System.out.println(d1);
            //char c1='c' 则转化为 c1=99
            char c1='c';
            int i2=c1+20;
            System.out.println(i2);

存在的问题:精度降低,高位的一些数据损失(转换为二进制时的损失)

错误的转换:

    class main {
        public static void main(String[] args) {
            //强制类型转换
            long l1=13456l;
            int i1=l1;
            System.out.println(i1);

正确的转换:

        public static void main(String[] args) {
            //强制类型转换
            long l1=123456l;
            int i1=(int)l1;
            System.out.println(i1);

字符串与基本数据类型间转换只能连接运算:+

            //字符串的类型转换
            String str="wtf";
            int i1=10;
            System.out.println(i1);
            String str1=str+i1;
            System.out.println(str1);

 

算术运算符

取模:%取余数,结果取决于被除数

    class main {
        public static void main(String[] args) {
            //字符串的类型转换
            int i1=12;
            int i2=5;
            int i3=12%5;
            int i4=12%(-5);
            int i5=-12%5;
            int i6=-12%(-5);
            System.out.println(i3);
            System.out.println(i4);
            System.out.println(i5);
            System.out.println(i6);
        }
    }

前++和后++

前++:先自增,后做运算

后++:先做运算,后自增

class main {
    public static void main(String[] args) {
        //前++
        int i1=10;
        int i2=++i1;
        System.out.println(i1);//11
        System.out.println(i2);//11
        //后++
        int i3=10;
        int i4=i3++;
        System.out.println(i3);//11
        System.out.println(i4);//10
    }
}

原文地址:https://www.cnblogs.com/KeepCalmAndNeverSayNever/p/10055674.html