美文网首页
Java se 1.2 数据类型转换

Java se 1.2 数据类型转换

作者: 起名字真难难难 | 来源:发表于2019-12-06 14:01 被阅读0次

数据类型转换

数据类型不一样时,会发生类型转换

自动类型转换:将取值范围小的类型自动提升为取值范围较大的类型。

(小转大可自动,大赚小不可)

public class Demo01{
    public static void main(String[] args){
        int a=10;
        short b=2;
        int result=a+b;
        System.out.println(result);
    }
}
自动转换结果

转换规则:byte、short、char-->int-->long-->float-->double

强制类型转换:将取值范围较大的类型强制转换成取值范围较小的类型。

特点:代码需进行特殊格式处理,不能自动完成。(右边加括弧,括弧里面填转换类型)
格式:范围小的类型 范围小的变量名=(范围小的类型)原本大的数据
int num=(int)10000L;
注:不推荐使用,会造成精度损失、数据溢出。

精度损失:浮点转化成整数,直接取消小数点

数据损失:强制转换,例如int转换成short,砍掉两个字节,数据丢失。

public class Demo01{
    public static void main(String[] args){
        int a=10;
        short b=2;
        short result=a+b;
        System.out.println(result)
强制转换数据损失

运算

1、byte/short/char可进行数学运算

char进行运算时,会根据一定规则翻译成一个数字。一般根据ASCII码或者Unicode码。Unicode码前127位与ASCII码一样。

public class Demo01{
    public static void main(String[] args){
        char zifu='A';
        System.out.println(zifu+1);
   }
}
运算结果

这里的A在ASCII种对应的数字就是65。

2、byte/short/char运算时,首先会提升为int。

public class Demo01{
    public static void main(String[] args){
        //char zifu='A';
        //System.out.println(zifu+1);
        byte num1=40;
        byte num2=50;
        int result=num1+num2;
        System.out.println(result);
    }
}
首先提升结果

最后得出的结果是byte-->int

3、boolean类型不能发生数据类型转换
常记:0-->48、A-->65、a-->97

运算符

“+”:数字相加 或 连接表达式

注:一旦有不同类型数据相加,结果的类型是范围大的那个
int+double-->double+double=double
优先级问题   string+int+int=string 、string+(int+int)=string+int

自增++、自减--

使用方法
单独使用:a++与a--无区别
混合使用:++a 变量立刻+1,先加后用

int a=1;
System.out.println(++a);

输出的结果是2!

a++先使用原来的数值,先用后加

int a=1;
System.out.println(a++);

输出的结果是1!
注:只有变量时才用自增、减,常量不可用。

赋值运算符

+= a+=1-->a=a+1
-= b-=1-->b=b-1

比较

1、比较运算符结果是boolean值
2、进行判断时不可连写 1<x<3是错误写法

逻辑

与(并且)&&
或(或者)||
非(去反)!
&&和||具有短路效果
根据左边判断结果得到最终结果。
&&:左边是false,结果一定是false。||:左边是true,结果一定是true。

一、二、三元函数符

一元函数符:只需一个数据 去反、自增、自减
二元:加法、赋值
三元:数据类型  变量名称=条件判断?表达式A:表达式B

int a=10;
int b=2;
int max;
int max=a>b?a:b

注:1、同时保证两个选项符合数据类型要求
int num=3>4?2.5:3这就是错误的
2、三元运算符结果必须被使用,不能直接写。

相关文章

  • Java se 1.2 数据类型转换

    数据类型转换 数据类型不一样时,会发生类型转换 自动类型转换:将取值范围小的类型自动提升为取值范围较大的类型。 (...

  • JAVA基础第四天

    JAVA数据类型---布尔类型; 数据类型转换自动数据类型转换 强制数据类型转换

  • Java版本历史

    Java版本历史 版本号重大改变 J2SE 1.2 J2SE 1.2版本到J2SE 5.0的后续版本被更名为Jav...

  • Java

    Since Oct.3rd,2016 注释 数据类型的转换 自动转换Java 开发实战经典 强制转换Java 开发...

  • Mybatis类型转换TypeHandler介绍

    1.2 建立TypeHandler我们知道java有java的数据类型,数据库有数据库的数据类型,那么我们...

  • 2018-09-20

    数据类型转换 强制类型转换1.1 parseInt:将数字或者字符串转化为整型。1.2 parseFloat:将数...

  • Java编程基础(4)

    Java基础知识:1.数据类型转换 2.流程控制方法 数据类型转换 数据类型的转换是在所赋值的数值类型和被变量接收...

  • JVM系列:(二)Java基本数据类型

    原文链接:JVM系列:(二)Java基本数据类型 一 Java 变量类型 1.1 图解 1.2 描述 Java中的...

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

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

  • Java语言基础

    Java主类结构基本数据类型变量与常量运算符数据类型转换

网友评论

      本文标题:Java se 1.2 数据类型转换

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