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

Java 数据类型转换

作者: 向祥祥 | 来源:发表于2020-04-11 18:54 被阅读0次

1.概述

Java程序中要求参与计算的数据,必须保证数据类型的一致性,如果不一致将发生类型转换。

2.自动转换

一个int类型变量和一个byte类型变量进行加法运算:

int a=1;
byte b=2;

运算结果将是int类型,这就是数据类型自动转换的现象。
自动(隐式)转换特点:
①将取值范围小的类型自动提升为取值范围大的类型;
②代码不需要进行特殊处理,自动完成。

public static void main(String[] args) {
    int a=1;
    byte b=2;
    //byte c=b+a;//报错
    //int类型和byte类型运算,结果是int类型
    int d=b+a;
    System.out.println(d);
}

3. 强制转换

将1.5赋值到int类型变量会发生什么?产生编译失败,无法赋值。

int a=1.5;//报错

double类型内存8个字节,int类型内存4个字节。1.5是double类型,取值范围大于int。可以理解为double是8升的水壶,int是4升的水壶,不能把大水壶中的水直接放进小水壶中。
只有通过强制类型转换,将double类型强制换成int类型才能赋值。
强制(显式)转换特点:
①将取值范围大的数据类型转换成取值范围小的数据类型;
②代码需要特殊处理,需要手动执行。
转换格式:
数据类型 变量名 = (数据类型) 被转换数据值;
将1.5赋值到int类型,代码修改为:

//double类型数据强制转换成int类型,直接去掉小数点。
int i = (int)1.5;

同理,一个short类型和1相加,若要将值赋值给short类型的变量,需要强制转换。

short a=2;
short b = (short) a+1;

注意事项:
①强制类型转换一般不推荐使用,可能发生精度损失、数据溢出;
数据溢出:

int a = (int) 6000000000L;//long强制转换成为int类型
System.out.println(a);//输出1705032704,数据溢出

精度损失:

int b = (int) 3.5;//double==>int,强制类型转换
System.out.println(b);//输出3,不是四舍五入,所有的小数位都会被舍弃。

②byte/short/char三种数据类型都能发生数学运算

char char1=’A’;//字符变量
System.out.println(char1+1);//输出66,大写字母A被当成65处理。

③ byte/short/char三种数据类型都能发生数学运算,在运算时,都会首先被提升为int类型,然后计算,计算结果为int数据类型

byte a = 10;
byte b = 20;
byte result = a + b;//编译报错,会提升成int数据类型计算,计算结果为int数据类型。
System.out.println(result);

④boolean类型不能发生数据类型转换。

相关文章

  • JAVA基础第四天

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

  • Java

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

  • Java编程基础(4)

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

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

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

  • Java语言基础

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

  • 强制类型转换【Java提高十】

    在java中强制类型转换分为基本数据类型和引用数据类型两种,这里我们讨论的后者,也就是引用数据类型的强制类型转换。...

  • Java–强制类型转换

    在java中强制类型转换分为基本数据类型和引用数据类型两种,这里我们讨论的后者,也就是引用数据类型的强制类型转换。...

  • Java基础学习一 基本数据类型

    基本数据类型 1.Java程序体解读 2.基本数据类型 关于基本数据类型之间的相互转换,转换规则: 1,八种基本数...

  • Java 数据类型的自动转换和强制转换

    Java 数据类型的自动转换和强制转换 自动转换 自动转换适用于低位数类型向高位数类型的转换 规则: 对于算术运算...

  • Java基础02_变量_数据类型_类型转换_运算符

    主要内容 变量 Java数据类型 Java数据类型转换 运算符 学习目标 掌握变量的定义、初始化、使用及注意事项 ...

网友评论

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

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