美文网首页
day04数据类型转换和运算符的运用

day04数据类型转换和运算符的运用

作者: 雷阳洪 | 来源:发表于2018-12-03 17:01 被阅读7次

强制类型转换,也成为""显示类型转换":
当把大范围类型的数值或变量赋给另一个小范围类型变量时,此时系统不能自动完成转换,需要加上强制转换符,但这样的操作可能造成数据精度的降低或溢出,所以使用时要格外注意.
这就好比把两斤水容器里面的水倒入一斤水容器里面,是可能造成水溢出的.
强制类型转换,可能造成溢出和精度损失的.

数据类型强制转换
public class TypeConvertDemo 
{
    public static void main(String[] args) 
    {
        float F2 = (float)D1;//double强制转换float类型 
        System.out.println(F2);
        double D2 = 3.1415926;//声明一个double小数类型3.1415926
        int IN2 = (int)D2;//double类型强制转换为int类型
        System.out.println(IN2);//值为3,损失了小数的精度
                //-------------------------
        //把double类型和byte类型的和,赋值给int类型变量IN3
        int IN3 = (int)(D2 + b1);
        System.out.println(IN3);
        //整数常量,默认是int类型
        //把int类型常量赋值给byte类型的变量
        byte by = 125;
        System.out.println(by);
        //编译器发现125在byte类型范围内,底层偷偷的进行转换.
                double dou = 123 + 1.4565F + 11111L + 3.14;//int + float + long + double的和 赋值给double类型变量dou
        System.out.println(dou);
        int IN4 = 28;
        IN4 = IN4 + 5;//将IN4变量+5重新赋值给IN4;
        System.out.println(IN4);//错误:  从int转换到byte可能会有损失
        //注意:如果String和任意数据使用 + 连接起来,结果都是String(字符串)
    }
}

表达式类型的自动提升:

image.png
算数运算符
image.png
运算符+ - * / %范例
public class  ArithmeticOperatorsDemo
{
    public static void main(String[] args) 
    {
        //操作数
        System.out.println(10 + 2);
        System.out.println(10 - 2);
        System.out.println(10 * 2);
        System.out.println(10 / 2);
        //操作字符
        System.out.println('A' + 'B');
        //操作字符串
        System.out.println("hel" + "lo");

        System.out.println(10 / 3);
        System.out.println(99999 / 1000  * 1000);//注意结果为99000
        //System.out.println(100 / 0);//ArithmeticException:原因: / by zero
        //System.out.println(10.12 / 0);// Infinity 正无穷大
        //System.out.println(-10.12 / 0);// Infinity 负无穷大
        System.out.println(0.0 / 0.0);//NaN Not a Number. 
        //NaN,自己都不等于自己
        double a = 0.0 / 0.0;
        System.out.println(a == a);//false
        System.out.println(10 % 3);//取余,值为1.
    }
}
运算符++ -- 详解
//++和--的问题
public class ArithmeticOperatorsDemo2 
{
    public static void main(String[] args) 
    {
        /*
            ++ 前置情况:
                a++
                前置++是a变量+1之后再运算
            ++ 后置情况:
                ++a
                后置是a变量+1,用a原始的值去运算+1
        */
        int a1 = 5;
        int b1 = ++ a1;//b1 = a1 + 1 
        System.out.println("a1="+a1+"   "+"b1="+b1);//a1=6   b1=6
        System.out.println("-----------------------");
        int a2 = 5;
        int b2 = a2 ++;//b2 = a2(5) + 1 ;
        System.out.println("a2="+a2+"   "+"b2="+b2);//a2=5   b2=6

        /*
            -- 前置情况:
                a--
                前置--是a变量-1之后再运算
            -- 后置情况:
                --a
                后置是a变量-1,用a原始的值去运算-1
        */
        int a3 = 5;
        int b3 = -- a3;//b3 = a3 - 1 
        System.out.println("a3="+a3+"   "+"b3="+b3);//a3=4   b3=4
        System.out.println("-----------------------");
        int a4 = 5;
        int b4 = a4 --;//b4 = a4(5) - 1 ;
        System.out.println("a4="+a4+"   "+"b4="+b4);//a4=4   b4=5

    }
}

相关文章

  • day04数据类型转换和运算符的运用

    强制类型转换,也成为""显示类型转换":当把大范围类型的数值或变量赋给另一个小范围类型变量时,此时系统不能自动完成...

  • Python学习记录

    变量、运算符与数据类型 注释: 运算符 变量和赋值 数据类型与转换

  • JavaScript基础知识

    1.比较运算符 (1)== 和 === ‘==’会自动转换数据类型再比较; ‘===’不会自动转换数据类型,如果数...

  • JS基础

    JavaScript概述 、 JavaScript基础语法 、 变量和常量 、 数据类型 数据类型转换 、 运算符...

  • Java day02 运算符

    代码小谈 数据类型的转换不同类型的变量可以在一起运算。 数据类型转换方式 运算符 1、算术运算符 ++和--使用规...

  • 【JAVA学习笔记】基础语法

    学习自华为开发者学院JAVA系列课程 数据类型 数据类型转换(自动转换+强制转换) 运算符 逻辑判断 三目运算符 ...

  • js数据类型和运算符

    数据类型: 强制类型转换: 运算符: 逻辑运算: 运算符: 算数运算符:

  • 2020-06-12 day 2

    数据类型转换 自动类型转换 强制类型转换 运算符 加减乘除字符串加是追加的方式比较运算符== < > >= <= ...

  • 博学谷第二天

    2019年12月24日内容:数据类型转换和运算符、if语句

  • 2019-06-10

    转换为布尔 将其他的数据类型转换为Boolean使用Boolean()函数 运算符 运算符也叫操作符通过运算符可以...

网友评论

      本文标题:day04数据类型转换和运算符的运用

      本文链接:https://www.haomeiwen.com/subject/eiiecqtx.html