vb.net 同时给多个属性赋值_一个float值赋值给double,结果是什么?进来重温一下类型提升吧...

三元操作符

三元操作符的语法格式是这样的:

boolean-exp ? value0 : value1

上面这个表达式里面,如果boolean-exp表达式的执行结果为true,那么下一步就执行value0这个表达式,而且最终这整个三元表达式的结果就是vlaue0,否则就执行value1这个表达式,而且最终这整个三元表达式的结果就是vlaue1。

其实每个三元表达式都可以转化为if-else语法结构,但是由于三元表达式更加简洁明了,结构简单,所以遇到这种三元操作的情形,还是建议大家使用三元表达式,也就是三元操作符。

字符串操作符

0137dbe2d8d26427e045fff911533db6.png

我们之前学过操作符+和+=可以运用于数值运算,但是我们却不知道它还可以用于字符串操作,可以将多个字符串进行拼接,形成一个字符串,比如下面这个代码片段:

int n = 1, m = 2,l = 3;

String s = “s“;

print(s+n+m+3);

s +=”abc”;

print(s);

print(s+(n+m+l));

上面print(s+n+m+3);这句的代码执行结果就是s123,而不是s6,因为s是字符串类型,编译器会主动把n,m,l三个转为字符串,然后把四个拼接到一起打印出来。

第二句print(s);的执行结果是sabc,这是因+=会将右边的字符串拼接到左边字符串s上面,最终形成一个字符串。

最后一句print(s+(n+m+l))的结果是sabc6,这是因括号的存在,控制了表达式的赋值顺序,使得表达式会先执行括号里面的加法操作,得到n+m+l的结果为6,然后才将s这个字符串和6进行拼接,形成新的字符串sabc6。

类型转换

747d423280ab53935cb2cb13bd41260a.png

java语言中,我们允许将基本类型数据(除了布尔类型)转为别的基本类型数据,语法格式就是将需要转换的目标数据类型放到括号里,然后将要转换的数值放到括号左边,比如下面这个代码片段,就是将100这个整数类型转换为了long类型:

int l =100;

long n = (long)100;

long m = (long)l;

上面这个代码还说明了,类型转换既可以针对数值,也可以针对变量。但是类型转换不能针对普通对象。

但是需要注意的是,窄化转换(将容量大的数据类型转为容量小的类型)会有丢失数据的危险,但是扩展转换(将容量小的数据类型转为容量大的类型)就不用担心这种危险,扩展类型转换是安全的。

比如我们将一个浮点类型转为整数类型,就会自动执行截尾操作,比如:

float a = 0.6f;

print((int)a);

那么print((int)a);这句代码的输出就是0,自动将.6截取了。如果我们想四舍五入,就需要调用java.lang.Math类包里面的round()方法了。比如:

float a = 0.6f;

print(Math.round(a));

print(Math.round(a))的输出就是1;

类型提升

ab76ba636cba4ae74212c3de36b8cbb7.png

如果我们把容量较大的类型赋给容量较小的类型,必须执行类型转换,当然可能出现信息丢失,但是我们将容量较小的类型赋给容量较大的类型,就不需要显示的进行转换,JAVA语言会自动将容量较小的类型转为容量较大的类型,比如讲一个float值赋值给double类型,结果自然就是double,如果将一个short类型的数值和一个int类型的数值相乘,那么结果就是int类型,其他类型转换也是类似的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值