数据类型转换(掌握)

第四节 数据类型转换(掌握)

4.1 定义

数据在不同类型之间进行转换,boolean类型不参与转换

4.1.1 默认转换

A:从小数据到大类型

B:byte,short,char --> int long float double

C:byte,short,char之间是平级的,不相互转换,直接转成int类型参与运算。

4.1.2 强制转换

A:从大到小
B:可能会有精度的损失,一般不建议这样使用。
C:格式:
目标数据类型 变量名 = (目标数据类型) (被转换的数据);

4.1.3 思考题和面试题:

A:下面两种方式有区别吗?

float f1 = 12.345f;

float f2 = (float)12.345;向下类型转换,浮点数默认是double类型

B:下面的程序有问题吗,如果有,在哪里呢?

byte b1 = 3;

byte b2 = 4;

byte b3 = b1 + b2;

short s1=3;

short s2=3;

short s3=s1+s2;

char c1=3;

char c2=4;

char c3=c1+c2;

byte、short、char在运算时,会自动向上转型为int型,所以返回的结果是int类型,而接收的类型均不是int,由于
类型不匹配,所以报错

byte b4 = 3 + 4;

short s=3+4;

常量进行计算后的值,预编译时能够判断其是否超出范围

int a=1;

int b=2;

int c=a+b;

long l1=3l;

long l2=3l;

long l3=l1+l2;

float f1=2.3f;

float f2=2.3f;

float f3=f1+f2;

double d1=3.7;

double d2=3.9;

double d3=d1+d2;

均不会报错,java进行了优化。

C:下面的操作结果是什么呢?

byte b = (byte)130;

D:字符参与运算

是查找ASCII里面的值

‘a’ 97

‘A’ 65

‘0’ 48

空格 32

System.out.println(‘a’);

System.out.println(‘a’ + 1);

E:字符串参与运算

这里其实是字符串的连接

System.out.println(“hello”+‘a’+1);

System.out.println(‘a’+1+“hello”); System.out.println(“5+5=”+5+5); System.out.println(5+5+"=5+5");

运行结果:helloa

98hello

5+5=

10=5+

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值