JAVA -数据类型与表达式---数据类型转换
数据类型转换技术
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 -数据类型与表达式---数据类型转换的更多相关文章
- Java基础练习1(数据类型转换)
1.下列代码的输出结果是:()(单选) public static void main(String[] args){ double money = 3.0; money -= 2.9; System ...
- Java从零开始学五(数据类型转换)
一.数据类型转换 分为“自动类型转换”和“强制类型转换” 二.自动类型转换 低级别------>高级别 byte b=7; int i=b; System.out.println("i ...
- Java程序,基本数据类型、、数据类型转换、变量和常量、常用运算符
一.基本数据类型 整数类型:byte.short. int(常用).long(较常用) 定义某个变量 int a=10: 浮点类型(小数):float.double(常用) ...
- Java JNI 编程进阶 实例+c++数据类型与jni数据类型转换
原文:http://www.iteye.com/topic/295776 JNI一直以来都很少去关注,但却是我心中的一个结,最近这几天刚好手头有点时间,因此抽空看了一下这方面的东西,整理了一份文档,J ...
- JAVA -数据类型与表达式---表达式
表达式由一个以上的运算符和操作数按一定规则组合而成,通常用于完成计算.计算结果一般是一个数值,但也不一定总是数值.用于计算的操作数可能是数值常量.符号常量.变量或其他某种类型的数据.计算和使用表达式的 ...
- JAVA -数据类型与表达式---变量与赋值
变量 程序中所管理的大部分信息,都是用变量表示的.下面讨论如何在程序中声明和使用变量. 变量(variable)代表保存数据的内存单元,变量名是内存单元的符号地址.变量声明要求编译器分配足够大的内存单 ...
- JAVA -数据类型与表达式---字符串
字符串 Java中,字符串就是对象,它由 String类定义.字符串是计算机程序设计中非常基础的类型,因此Java允许定义字符串常量(string literal),并以双引号作为字符串的定界符. 一 ...
- Java数据类型、赋值、类型转换、==运算
数据类型 基本数据类型:即int/char等这样的数值类型,共8种 引用类型:除了基本数据类型之外都是引用类型:包括API中的类:如String.File:也包括自定义的类:如Personal.ABC ...
- JAVA -数据类型与表达式---基本数据类型
基本数据类型 Java有8种基本数据类型(primitive data type):4种整型.2种浮点型.字符型和布尔型.除此之外的任何类型都用对象表示.本节将详细讨论上述8种基本数据类型. 整型与浮 ...
随机推荐
- sql——limit
PageHelper: https://blog.csdn.net/baidu_38083619/article/details/82463058 Sql执行顺序: https://blog.csdn ...
- webpack打包工具之ts版开发框架搭建
本文用两个框架,一个是threejs,一个是phaser3,其实流程都是一样. nodejs.npm是基础,不再多说! 首先新建一个文件夹命名three-study,然后npm init -y 用we ...
- vue.js中 this.$nextTick()的使用
官方文档是这样介绍的: this.$nextTick 将回调延迟到下次DOM更新循环之后执行.在修改数据之后立即使用它,然后等待DOM更新. this.$nextTick 跟全局方法 vue.next ...
- Linux帮助文档
Linux当中有许多命令: 在Linux中提供了详细的帮组文档,利用好可以提高使用效率: 1.help参数 大多数命令都可以使用 -h 或 --help 参数来获取该命令的使用方法.参数等信息: ...
- canvas风景时钟
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- bzoj3990
排序 HYSBZ - 3990 小A有一个1-2^N的排列A[1..2^N],他希望将A数组从小到大排序,小A可以执行的操作有N种,每种操作最多可以执行一次,对于所有的i(1<=i<=N) ...
- vim8.1安装
win下直接就有gvim8.1.exe安装.但linux下直接从apt-get里面下载的vim都是远古版本,需要手动编译安装. 首先,下载vim源代码 git clone https://github ...
- Pycharm查看源代码的问题
linear = torch.nn.Linear() # 无法查看Linear的源代码 from torch.nn import Linear linear = Linear() # 可以查看Line ...
- shiro 自定义filter
1.自定义登录filter package com.creatunion.callcenter.filter; import com.alibaba.fastjson.JSONObject; impo ...
- python接口自动化:pycharm中import yaml报错问题解决
一:问题 python3在cmd命令行中已经安装了yaml,且import yaml是成功的,但是pcharm中import yaml还是红色报错 二:分析原因 pycharm和python环境需要分 ...