ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

学Java的第十二天

2021-08-05 19:31:34  阅读:198  来源: 互联网

标签:10 short Java 转换成 int char 第十二天 byte


类型转化:

关于基本数据类型的相互转换,转换规则:

1.八种数据类型当中除了布尔型之外剩下的都可以相互转换。

2.小容量向大容量转换,成为自动类型转换,容量从大到小排序。

byte<short=char<int<long<float<double

注:任何浮点型数据不管占用多少字节,都比整数型容量大。

char和short可表示的种类数量相同,但是char可以取更大的正整数。

3.char c='a';

   char c=97;

效果相同。

4.大容量转换成小容量,叫做强制类型转换,需要加强制类型转换符,程序才能编译通过,但是在运行阶段可能会损失精度,所以谨慎使用。

5.当整数字面值没有超出byte,short,char的取值范围,可以直接赋值给byte,short,char类型的变量。

6.byte,short,char混合运算的时候,各自先转换成int类型在做运算。

7.多种数据类型混和运算,先转换成容量最大的那种类型再运算。

public class DataTypeTest04
{
	public static void main(String[] args){
		byte a=20;
		//byte a=1000;
		//变量不能重名,变量超出范围。
		
        short b=1000;
		//默认值为int,范围没超过。
		
        int c=1000;
		
        long d=c;
		//小容量转换成大容量,直接转换。
		
        int e=(int)d;
		//强制转换
		
        int f=10/3;
		//10和3都是int,结果为int正确。
		
        double g=10/3;
		//结果为3.0
		
        g=10.0/3;
		//结果为3.3333333
		
        long h=10;
		//自动类型转换
		
        //int i=g/3;
		//错误,多个数据在运算过程会转换成容量最大的类型
		
        int i=(int)h/3;
		//byte j=(byte)(int)k/3;
		//编译报错,h转成byte,编译器只检查语法。
		
        byte j=(byte)(int)(k/3);
		
        //short l=10;
		//byte m=5;
		//short n=l + m;
		//编译报错,short和byte运算会先转换成int再进行计算结果
        为int,int赋值给short会出现精度丢失。
		
        //short n=(short)(l + m);
		char o='a';
		System.out.println(o);
		//结果为a
		System.out.println((byte)o);
		//结果为97
      }
		
}

标签:10,short,Java,转换成,int,char,第十二天,byte
来源: https://blog.csdn.net/weixin_53603051/article/details/119424561

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有