IT兄弟连 Java语法教程 数据类型转换

类型转换是将一个值从一种类型更改为另一种类型的过程。例如,可以将String(字符串,字符串是Java中非常特殊的数据类型,字符串属于引用类型,但是可以像基本类型一样使用字面值赋值)类型数据“456”转换为一个数值型,而且可以将任意类型的数据转换为String类型。

如果从低精度(比如byte,最大值127)数据类型向高精度(比如short,最大值32767)数据类型转换,则永远不会溢出,并且总是成功的;而把高精度数据类型向低精度数据类型转换则必然会有信息丢失,有可能失败。

数据类型转换有两种方式,即隐式转换与显式转换(强制类型转换)。

隐式类型转换

从低级类型向高级类型的转换(比如byte向int转换),系统将自动执行,程序员无需进行任何操作。这种类型的转换成为隐式转换(自动类型转换)。下列基本数据类型会涉及数据转换,不包括逻辑类型和字符类型。这些类型按精度从低到高排列的顺序为byte<short<int<long< float<double。

例如如下代码;使用int型变量为float型变量赋值,此时int型变量将隐式转换成float型变量,如下所示:

int x = 50;          //声明int型变量x

float y = x;         //将x赋值给y

此时执行输出语句,y的结果将是50.0。

隐式类型的转换也要遵循一定的规则,来解决在什么情况下将那种类型的数据转换成另一种类型的数据。表11列出了各种数据类型转换的一般规则。

下面通过一个简单实例介绍数据类型隐式转换

例:创建类Conver,在主方法中创建不同数值型的变量,实现将各变量隐式转换。

public class Conver{

public static void main(String[] args){

byte myByte = 127;

int myInt = 150;

float myFloat = 452.12f;

double myDouble = 45.46546;

char myChar = 10;

System.out.println("byte型与float型数据进行运算结果为:"

+ (myByte + myFloat));

System.out.println("byte型与int型数据进行运算结果为:"

+ (myByte + myInt));

System.out.println("byte型与char型数据进行运算结果为:"

+ (myByte + myChar));

System.out.println("double型与char型数据进行运算结果为:"

+ (myDouble + myChar));

}

}

编译并运行该程序,控制台将显示如图15所示的内容。

图15  Conver运行结果

要理解类型转换,可以这么想象,大脑前面是一片内存,源和目标分别是两个大小不同的内存块(由变量及数据的类型来决定),将元数据赋值给目标内存的过程,就是用目标内存块尽可能都地套取源内存中的数据。

显示类型转换

当把高精度的变量的值赋给低精度的变量时,必须使用显示类型转换运算(又称强制类型转换)。语法如下:

(类型名)要转换的值

下面通过几种常见的显示数据类型转换实例来说明明

例:将不同的数据类型进行显示类型转换,代码如下:

int a = (int)45.23           //此时输出a的值为45

long y = (long)456.6F;       //此时输出y的值为456

int b = (int)‘d‘;            //此时输出b的值为100

当执行显示类型转换时可能会导致精度损失,只要是boolean类型移位其他基本类型之间的转换,全部都能以显示类型转换的方法达到。

当把整数赋值给一个byte、short、int、long型变量时,不可以超出这些变量的取值范围,否则必须进行强制类型转换,例如:

byte b = (byte)129;

上面代码中字面量129已经超出了byte的最大支持范围,所以必须使用显示类型转换才能赋值给byte型变量b。

原文地址:https://www.cnblogs.com/itxdl/p/11261963.html

时间: 2024-08-28 18:58:50

IT兄弟连 Java语法教程 数据类型转换的相关文章

IT兄弟连 Java语法教程 Java语法基础 经典面试题

1.Java语言中有几种基本类型?分别是什么?请详细说明每种类型的范围以及所占的空间大小? Java语言中有8中基本类型,分别是代表整形的byte.short.int和long,代表浮点型的float和double,代表字符的char已经代表布尔型的boolean. byte:                             8位二进制,−27-27−1. short:                  16位二进制,−215-215−1. int:                   

IT兄弟连 Java语法教程 流程控制语句 分支结构语句4

4  嵌套if-else条件语句 嵌套if语句是作为另一个if或else语句的目标的if语句.嵌套if语句在程序设计中非常普遍.Java中,关于嵌套if语句需要记住的是,else语句总是和同一代码块中最近的且没有else与之匹配的if语句相匹配,语法格式如下所示: if(判断条件A){ if(判断条件B){ A语句块 } if(判断条件C){ B语句块 }else{ C语句块 } }else{ D语句块 } 例:下面将演示嵌套if的执行流程: public class IfElseIfElseD

IT兄弟连 Java语法教程 流程控制语句 循环结构语句4

do-while循环 Java还有一种循环是do-while.与for.while这些在循环顶部判断条件表达式的语句不同,do-while是在循环底部进行条件表达式的检查.这意味着do-while循环至少要执行一次循环体.do-while循环的语法格式如下: do{ 循环体; }while(循环条件); 与while循环不同的是,do-while循环的循环条件后必须有一个分号,这个分号表明循环结束. 例:下面的程序演示了do-while循环的执行流程: public class DoWhileD

IT兄弟连 Java语法教程 流程控制语句 循环结构语句1

循环语句可以在满足循环条件的情况下,反复执行某一点代码,这段被重复执行的代码被称为循环体,当反复执行这个循环体时,需要在合适的时候把循环条件该为假,从而结束循环,否则循环将一直执行下去,形成死循环.循环语句可能包含如下4个部分: 1.初始化语句:一个或多条语句,这些语句用于完成一些初始化工作,初始化语句在循环开始之前执行. 2.循环条件:这是一个boolean表达式,这个表达式能决定是否执行循环体. 3.循环体:这个部分是循环的主体,如果循环条件允许,这个代码块将被重复执行.如果这个代码块只有一

IT兄弟连 Java语法教程 流程控制语句 分支结构语句1

不论哪一种编程语言,都会提供两种基本的流程控制结构:分支结构和循环结构.其中分支结构用于实现根据条件来选择性地执行某段代码,循环结构则用于实现根据循环条件重复执行某段代码.Java同样提供了这两种流程控制结构的语法,Java提供了if和switch两种分支语句,并提供了while.do-while和for三种循环语句.除此之外,JDK5还提供了一种新的循环:foreach循环,能以更简单的方式来遍历集合.数组的元素.Java还提供了break和continue来控制程序的循环结构. 分支结构语句

IT兄弟连 Java语法教程 注释与编码规范

在程序代码中适当地添加注释可以提高程序的可读性和可维护性.好的编码规范可以使程序更易阅读和理解.下面将介绍Java中的集中代码注释以及应该注意的编码规范. 代码注释 通过在程序代码中添加注释可提高程序的可读性.注释中包含了程序的信息,可以帮助程序员更好的阅读和理解程序.在Java源程序文件的任意位置都可添加注释语句.注释中的文字Java编译器不进行编译,所有代码中的注释文字对程序不产生任何影响.Java语言提供了3种添加注释的方法,分别为单行注释.多行注释和文档注释. ●  单行注释 “//”为

IT兄弟连 Java语法教程 流程控制语句 循环结构语句3

while循环 Java中的另外一种循环是while循环.while循环的语法格式如下: while(条件表达式){ 循环体; } 其中条件表达式定义了控制循环的条件,可以使任何有效的boolean表达式,条件为真时,循环会迭代.条件为假时,程序控制流会立刻转移到循环后面的代码. 例:下面是一个使用while循环输出字母表的简单示例: public class WhileDemo{ public static void main(String[] args){ char ch = 'a'; wh

IT兄弟连 Java语法教程 Java语言背景

驱使计算机语言革新的因素有两个:程序设计技术的改进和计算环境的改变.Java也不例外.在大量继承C和C++的基础之上,Java还增加了反应当前程序设计技术状态的功能与精华.针对在线环境的蓬勃发展(Internet),Java为高度的分布式体系结构提供了流水线程序设计的功能. Java是1991年由Sun Microsystems(曾经2000亿美元全球市值第一,google市值第二但是只有300多亿美元,而同期的苹果公司市值只有不到100亿美元.当今苹果公司万亿市值也是全球第一唯一万亿市值的上市

IT兄弟连 Java语法教程 编写Java源代码

现在我们来一步一步的编写第一个Java程序,鼎鼎大名的“HelloWorld”. 编写Java源代码 编写Java源代码可以使用任何无格式的文本编辑器,在Windows操作系统上可以使用记事本.Edit Plus等程序. 编写Java程序不要使用写字板,更不可使用Word等文档编辑器,因为写字板.Word等工具是有格式的编辑器,当使用它们编辑一份文档时,这个文档中会包含一些隐藏的格式化字符,这些隐藏的字符会导致程序无法正常编译和运行. 在C盘中新建java文件夹,在java文件夹中使用鼠标右键新