数据类型转换技术

Java中,数据转换的方式有三种:
*赋值类型转换
*提升类型转换
*强制类型转换

1.赋值类型转换

当需要将一个类型的值赋给另一种类型的变量时,该值将被转换为新类型的值,此时就发生了赋值类型转换。在赋值类型转换时只能执行扩展类型转换。例如,money是浮点型变量,dollars是整型变量,下面的语句自动将 dollars的值转换为浮点型:

money = dollars

 因此,如果dollars的值为25,赋值语句执行后,money的值为25.0。如果试图将 money的值赋给 dollars变量,编译器将发出一个错误信息,警告用户正试图做的压缩类型转换可能会丢失信息。如果用户确实需要执行这样的赋值操作,就必须使用强制类型转换

2.提升类型转换

当某种运算符为了进行运算而需要修改其操作数类型时,将进行提升类型转换。例如,浮点型变量sum除以整型变量 count时,在进行除法运算之前,count中的整型值将被升级为类型级别更高的浮点型值,最终产生浮点型运算结果:

result = sum/ count

  数值与字符串拼接时,会发生类似的提升类型转换。首先将该数值转换为(类型级别更高的)字符串,然后将两个字符串拼接。

3.强制类型转换

强制类型转换(casting)是Java中最常见的类型转换形式。如果有某个类型转换一定要在Java程序中实现,那就只能用强制类型转换。强制类型转换通过一个Java运算符进行,它由一对括号中的类型名称指定,并且放在待转换的变量或数值之前。例如,将 money转换为整型值,可以使用强制类型转换符:

dollars=(int) money;
变量2=(类型)变量1

  这个强制类型转换符(int)会丢弃 money的小数部分,返回一个整型值。如果 money的值为8469,则执行上述语句后 dollars的值为84。注意,这一赋值操作不会改变 money的值,money的值仍为84.69。

JAVA -数据类型与表达式---数据类型转换的更多相关文章

  1. Java基础练习1(数据类型转换)

    1.下列代码的输出结果是:()(单选) public static void main(String[] args){ double money = 3.0; money -= 2.9; System ...

  2. Java从零开始学五(数据类型转换)

    一.数据类型转换 分为“自动类型转换”和“强制类型转换” 二.自动类型转换 低级别------>高级别 byte b=7; int i=b; System.out.println("i ...

  3. Java程序,基本数据类型、、数据类型转换、变量和常量、常用运算符

    一.基本数据类型 整数类型:byte.short. int(常用).long(较常用)     定义某个变量          int  a=10: 浮点类型(小数):float.double(常用) ...

  4. Java JNI 编程进阶 实例+c++数据类型与jni数据类型转换

    原文:http://www.iteye.com/topic/295776 JNI一直以来都很少去关注,但却是我心中的一个结,最近这几天刚好手头有点时间,因此抽空看了一下这方面的东西,整理了一份文档,J ...

  5. JAVA -数据类型与表达式---表达式

    表达式由一个以上的运算符和操作数按一定规则组合而成,通常用于完成计算.计算结果一般是一个数值,但也不一定总是数值.用于计算的操作数可能是数值常量.符号常量.变量或其他某种类型的数据.计算和使用表达式的 ...

  6. JAVA -数据类型与表达式---变量与赋值

    变量 程序中所管理的大部分信息,都是用变量表示的.下面讨论如何在程序中声明和使用变量. 变量(variable)代表保存数据的内存单元,变量名是内存单元的符号地址.变量声明要求编译器分配足够大的内存单 ...

  7. JAVA -数据类型与表达式---字符串

    字符串 Java中,字符串就是对象,它由 String类定义.字符串是计算机程序设计中非常基础的类型,因此Java允许定义字符串常量(string literal),并以双引号作为字符串的定界符. 一 ...

  8. Java数据类型、赋值、类型转换、==运算

    数据类型 基本数据类型:即int/char等这样的数值类型,共8种 引用类型:除了基本数据类型之外都是引用类型:包括API中的类:如String.File:也包括自定义的类:如Personal.ABC ...

  9. JAVA -数据类型与表达式---基本数据类型

    基本数据类型 Java有8种基本数据类型(primitive data type):4种整型.2种浮点型.字符型和布尔型.除此之外的任何类型都用对象表示.本节将详细讨论上述8种基本数据类型. 整型与浮 ...

随机推荐

  1. Mysql历史版本下载地址

    Mysql历史版本下载地址:http://downloads.mysql.com/archives/community/

  2. js的DOM操作整理(整理)

    js的DOM操作整理(整理) 一.总结 一句话总结: dom操作有用原生js的dom操作,也可以用对js封装过的jquery等插件来更加方便的进行dom操作 1.dom是什么? 对于JavaScrip ...

  3. RPM软件管理

    1.源代码形式 绝大多数软件都是以源代码形式发布的:     因为开源的理念是不重复造轮子:让其它不以商业为目的人都能修改这个软件:   源代码一般会被打包成tar.gz的压缩归档文件: 程序源代码需 ...

  4. 【Python网络】HTTP

    HTTP概述 HTTP(hypertext transport protocol),即超文本传输协议.这个协议详细规定了浏览器和万维网服务器之间互相通信的规则. HTTP就是一个通信规则,通信规则规定 ...

  5. java输出乱码专题

    https://blog.csdn.net/liaoYu1887/article/details/82714727(其他) @Controller public class ItemCatContro ...

  6. html css回顾总结

    //html基本结构<!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  7. Neko Performs Cat Furrier Transform CodeForces - 1152B 二进制思维题

    Neko Performs Cat Furrier TransformCodeForces - 1152B 题目大意:给你一个x,在40步操作以内把x变成2m−1,m为非负整数.对于每步操作,奇数步可 ...

  8. HDU4135 Co-prime

    题目链接:Click here Solution: 简单容斥,我们先把\(N\)分解质因数,我们知道\(1\sim x\)里能整除\(i\)的数的个数为\(\lfloor \frac{x}{i} \r ...

  9. 未关闭虚拟机直接关闭vmware引发的一系列问题——Windows下linux虚拟机

    虚拟机长时间挂起重新打开时卡顿,无法开启,脑抽直接关闭了vmware软件引起的一系列问题. 原因是关闭了vmware,但是相应的虚拟机并没有关闭,所以虚拟机不能重开 会出现如下提示 解决方案如下: 1 ...

  10. AcWing:173. 矩阵距离(bfs)

    给定一个N行M列的01矩阵A,A[i][j] 与 A[k][l] 之间的曼哈顿距离定义为: dist(A[i][j],A[k][l])=|i−k|+|j−l|dist(A[i][j],A[k][l]) ...