Java中类型转换容易踩到的坑(★★)

1、本篇博客主要介绍一些类型转换的小细节

2、转换细节
   2.1 byte向int的转换

                    int x=3;
                    byte b=5;
                    x=x+b;
                    System.out.println("结果是"+x);

在这里插入图片描述
因为这是小范围(byte)向大范围(int)转换,所以可以自然转换。这里说byte是小范围,是相对于int来说的,同样,说int是大范围也是相对于byte来说的。

   2.2 int向byte的转换

                  byte b=3;
                  b=(byte)(b+200); //强制类型转换
                  System.out.println("结果是"+b);

在这里插入图片描述
因为这里是大范围(int)向小范围(byte)的转换,所以不可以自然转换,需要进行强制类型转换。这里说byte是小范围,是相对于int来说的,同样,说int是大范围也是相对于byte来说的。

   2.3 字符和数字的转换
在这里插入图片描述
   2.4 类型转换中一个有趣的现象

       byte b1=3;
       byte b2=5;
       byte b=b1+b2;//编译会 报错,因为右边是变量,不确定是否会超出范围

在这里插入图片描述
我们可以看到,右边的数字算出来明明没有超出byte的范围,但是还是报错了。但是如果是int就不编译报错了。

       int b1=3;
       int b2=5;
       int b=b1+b2;//这里编译不会报错,因为int是默认的整数类型,
                           //如果超过了,会变成负数

在这里插入图片描述
这些小细节,我们在平时工作过程中,有开发工具帮我们指出来,但是在面试中,都是在纸上,假如问我们那个能不能编译通过,我们很容易掉进坑里。

3、源码如下

class VarDemo2
{
	public static void main(String[] args) 
	{

//		int x = 3;
//		byte b = 5;
//		x  = x + b;

//		byte b = 3;
//		b = (byte)(b + 200);//强制类型转换。

		

		//System.out.println((char)('a'+1));
//		System.out.println('你'+0);//unicode国际标准码表。


		byte b = 4;
		//b = 3+7;
		byte b1 = 3;
		byte b2 = 7;

		//b2 = 127;
		int x;
		//byte b = b1 + b2;  编译会报错,因为右边是变量,不确定是否会超过范围。
		int x1 =7 ;
		int x2 =2;
		x = x1+x2;     

		//System.out.println(x);  这里编译不会报错,因为int是默认的整数类型。
		                          //如果超过了,会变成负数。



		int n = 8;
		n = 9;
		n = 19;

		//System.out.println(n);


	
	}
}


我的微信号: xiang20200106 ,欢迎大家找我聊天

— 【 THE END 】—

在这里插入图片描述

本公众号已经整理一套包含前端和后端的全套电子书教程,限时免费赠送,请在公众号里回复「电子书」获取!
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

playboy-jordan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值