vb.net 同时给多个属性赋值_一个float值赋值给double,结果是什么?进来重温一下类型提升吧...
三元操作符
三元操作符的语法格式是这样的:
boolean-exp ? value0 : value1
上面这个表达式里面,如果boolean-exp表达式的执行结果为true,那么下一步就执行value0这个表达式,而且最终这整个三元表达式的结果就是vlaue0,否则就执行value1这个表达式,而且最终这整个三元表达式的结果就是vlaue1。
其实每个三元表达式都可以转化为if-else语法结构,但是由于三元表达式更加简洁明了,结构简单,所以遇到这种三元操作的情形,还是建议大家使用三元表达式,也就是三元操作符。
字符串操作符
我们之前学过操作符+和+=可以运用于数值运算,但是我们却不知道它还可以用于字符串操作,可以将多个字符串进行拼接,形成一个字符串,比如下面这个代码片段:
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。
类型转换
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;
类型提升
如果我们把容量较大的类型赋给容量较小的类型,必须执行类型转换,当然可能出现信息丢失,但是我们将容量较小的类型赋给容量较大的类型,就不需要显示的进行转换,JAVA语言会自动将容量较小的类型转为容量较大的类型,比如讲一个float值赋值给double类型,结果自然就是double,如果将一个short类型的数值和一个int类型的数值相乘,那么结果就是int类型,其他类型转换也是类似的。
vb.net 同时给多个属性赋值_一个float值赋值给double,结果是什么?进来重温一下类型提升吧...相关推荐
- java数组初始化赋值_数组初始化与赋值
数组初始化与赋值 2009-09-17 如果有几个object,他们的类型是相同的.创建它们的时候,它们可能在堆里的各个散落位置产生,这样的话,存取效率就会不高.既然它们的类型是相同的,那么我们可以用 ...
- js 浅拷贝直接赋值_浅析JavaScript解析赋值、浅拷贝和深拷贝的区别
一.赋值(Copy) 赋值是将某一数值或对象赋给某个变量的过程,分为: 1.基本数据类型:赋值,赋值之后两个变量互不影响 2.引用数据类型:赋**址**,两个变量具有相同的引用,指向同一个对象,相互之 ...
- java成员变量怎么赋值_给成员变量赋值的两种方法
JAVA 跟C++ 差不多,给类里面的私有成员变量一般有两种方法: 一种是通过 成员函数 来赋值 一种是:通道构造函数来赋值 /* 我们一直在使用构造方法,但是,我们确没有定义构造方法,用的是哪里来的 ...
- vue img src 动态赋值_一个基于Vue的开源延迟加载插件——vuelazyload
介绍 vue-lazyload是一个基于Vue的延迟加载插件,用于延迟加载Vue组件或者图像. Github https://github.com/hilongjw/vue-lazyload 特点 轻 ...
- vb.net 同时给多个属性赋值_系统小技巧:充分用好文件的时间属性
在默认情况下,我们在Windows 10文件资源管理器中只能看到少量的关于文件时间属性的信息.其实,充分利用好系统自身的文件属性设置,或借助于小巧的第三方软件,就可以使用更多关于文件时间的信息. 1. ...
- vb.net 同时给多个属性赋值_C++程序入门之——赋值操作符
赋值语句 前面已经说明,要访问内存,就需要相应的地址以表明访问哪块内存,而变量是一个映射,因此变量名就相当于一个地址.对于内存的操作,在一般情况下就只有读取内存中的数值和将数值写入内存(不考虑分配和释 ...
- json解析 子类和父类同名属性如何赋值_想学变量的解构赋值?看完这一篇就够了...
序言 ES6允许按照一定模式从数组和对象中提取值,然后对变量进行复制,这被称为解构(Destructuring) 数组的解构赋值 基本用法 像上面的例子,可以从数组中提取值,按照对应位置对变量赋值,这 ...
- 对象属性结构赋值_(六)面向对象-下
(六)面向对象-下 关键字:static static 可以用来修饰的结构:主要用来修饰类的内部结构 属性.方法.代码块.内部类 static修饰属性:静态变量(类变量 属性,是否使用static修饰 ...
- 定义一个 圆形 Circle类 , 定义其中的长度length属性,定义一个求面积getArea()的方法。 并编写一个测试类,进行长度的赋值和展示,并调用求面积方法展示面积值。
定义一个 圆形 Circle类 , 定义其中的长度length属性,定义一个求面积getArea()的方法. 并编写一个测试类,进行长度的赋值和展示,并调用求面积方法展示面积值. public cla ...
最新文章
- 自动驾驶领域:一种实时高精度的城市道路场景语义分割方法
- 用户控件的后台代码关联使用CodeBehind还是CodeFile
- 开源创新、软件定义网络和网络功能虚拟化特性
- Scala enumeration
- c语言实现灰度图像阈值分割,灰度图像--图像分割 阈值处理之平均阈值
- 【python】性能分析工具汇总
- python怎么输出图片_python输出彩色图片python 时间处理
- 【白皮书分享】2021-2022内容营销平台价值洞察白皮书.pdf(附下载链接)
- 联想小新一键恢复小孔_联想机海真香预警!多款轻薄本平板来袭 学生/办公别错过...
- jcr多久更新一次_科学网—你知道吗,SCI影响因子数据在7月又有更新了 - LetPub编辑的博文...
- oracle中的游标的原理和使用详解
- HTML+CSS实现静态小米商城首页(附完整代码)
- u盘文件名乱码linux,U盘文件名乱码的原因和解决办法
- java调用考勤机_zkteco iface702 中控考勤机java开发步骤一---连接考勤机
- linux下动态域名的实践
- Spring_AOP代码修改_Introductions Advisors
- 监控系统首选DNS服务器,监控windows DNS服务器
- rhel配置DNS分析+实验
- P9:最大池化的使用
- SpringBoot配置文件(1)
热门文章
- C#中类的默认访问是私有的
- 使用可重启AD DS 整理活动目录数据库
- Oracle PL/SQL 存储过程
- 2-6 刮刮乐和双色球
- C#是一种垂死的语言吗?
- erdas遥感图像几何校正_【答疑】为什么要进行遥感图像处理?
- c 连接mysql总是失败_Windows 下用C++连接MYSQL失败
- Python+OpenCV:基于KNN手写数据OCR(OCR of Hand-written Data using kNN)
- Python+OpenCV:图像轮廓
- java中为什么同步_如何在Java中同步工作