2016网站谷歌权重网站怎么做淘宝客
news/
2025/10/5 16:42:56/
文章来源:
2016网站谷歌权重,网站怎么做淘宝客,快速搭建网站 数据存储,网络工程师岗位职责基本类型转换 1、自动类型转换2、强制类型转换 1、自动类型转换
定义#xff1a;当Java程序在进行赋值或者运算时#xff0c;精度小的类型会自动转换成精度大的数据类型#xff0c;这个就是自动类型转换。#xff08;自动小转大#xff09; 背多芬#xff1a; 这里要明… 基本类型转换 1、自动类型转换2、强制类型转换 1、自动类型转换
定义当Java程序在进行赋值或者运算时精度小的类型会自动转换成精度大的数据类型这个就是自动类型转换。自动小转大 背多芬 这里要明确一个概念高司令当初创建Java的时候规定char 和 byte、short是不能自动转换所以这是Java语言的规则我们记住就可以了。 另外Boolean在Java中只有true和false没有0/1所以不参与类型转换。 在long8字节可以转换成float4字节中我其实查了一些资料就我个人理解应该是因为float采用科学计数法本身精度就大所以能自动转换。感兴趣的可以自己去查一下哈我不太感兴趣所以直接背喽 使用细节 ①有多种类型数据一起进行混合运算时系统首先自动将所有数据转换成容量最大的数据类型然后再进行计算。
int n1 10;
float f1 n1 1.1F; //float
System.out.println(f1 f1);
double d1 n1 1.1; //double
System.out.println(d1 d1);结果 分析一下 第二条语句中参与运算的有int 和 float所以 int类型 先转换成 float类型再进行运算注意此处 1.1 一定要加 ‘ F ’不然系统会默认为double然后报错所以变量最终的类型精度要大于或等于运算结果的精度第四条语句同上。 ②当我们把精度容量大的数据类型赋值给精度容量小的数据类型时就会报错反之就会进行自动类型转换。 小 ----自动类型转换---- 大 大 ----强制类型转换---- 小
③、byteshort和char之间不会自动转换。 ④byteshortchar三者任意可以进行计算在计算时首先转换为int类型。
char c1 1;
byte b1 1;
byte b2 2;
short s1 1;int x c1 b1;
System.out.println(c1 b1 x);int y b1 b2;
System.out.println(b1 b2 y);long z c1 b1 s1;
System.out.println(c1 b1 s1 z);结果 我们可以从溢出角度理解假设两个byte类型、赋值为127的变量相加那么结果是254而byte是一个字节范围是-128~127如果仍然存进byte类型就会溢出。同理这三者任意搭配都有可能出现溢出的情况因此直接拿精度容量较大的int类型去装它们可以避免这种情况的发生。
⑤Boolean类型不参与转换。 前面提过了Java中Boolean只有true和false的取值没有0/1所以不能自动转换。
2、强制类型转换
定义自动类型转换的逆过程将容量大的数据类型转换成容量小的数据类型。使用时要加上强制转换符egintfloat…但可能造成精度降低或溢出格外要注意。
上代码 结果
分析一下 Ⅰ、int1.9很明显损失了精度不赘述了。 Ⅱ、用byte把 int类型进行强制转换系统首先会判断这个将要存进的数的大小若在byte精度范围里面则可以存进去若超出了精度范围就会出现第三种情况造成数据溢出。其他强制转换也是如此。
使用细节 ①强制符号只针对最近的操作数有效往往会使用小括号提升优先级。 来练习一下吧
short s 12; //ok
s s - 9; //错误,int - shortbyte b 10; //ok
b b 11; //错误,int - bytechar c a; //ok
int i 16; //ok
float d .314F; //ok
double result c i d; //ok, float - double本人正在B站跟着韩顺平老师学Java非广告所以做个笔记仅供学习文章虽标为原创但大体思路是韩顺平老师的授课思路在此基础上加上了自己的理解不喜勿喷哦。 大家一起学一起进步 各位宝子们如果觉滴还不错的话可以点个赞 or 收个藏 or 打个赏哦佛系博主一个。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/928477.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!