17.类型转换

自动类型转换

容量小的数据类型可以自动转换为容量大的数据类型

		byte b = 123;//byte b2 = 300;//报错,超过了byte最大值127//char c = -3;//报错,char范围是0~65536,不在范围char c2 = 'a';//a在ascii码里是98int i = c2;long d01 = 123213;float f = d01;

特例

可以将整型常量直接赋值给byte,short,char等类型变量,而不需要进行强制类型转换,只要不超出其表数范围

public static void main(String[] args){char a=100;//整型常量可以直接赋值int i=100;char b=i;//整型int变量不能直接赋值。错误: 不兼容的类型: 从int转换到char可能会有损失。char c=(char)i;//正确}

强制类型转换

用于显示的转换一个数值的类型。可能造成精度降低和溢出。

int i=100;char c=(char)i;//正确

注意!

当将一种类型强制转换成另一种类型,而又超出了目标类型的表示范围,就会被截断成为一个完全不同的值。


int i=-100;
char b=(char)i;
System.out.println(b);



类型提升

做所有的二元运算符(+-/*%),都会有类型提升的问题!

	int a = 3;long b = 4;double d = 5.3;//int c = a+b;  //a+b 提升为了long类型,报错。int c = (int)(a+b); //float f = a + d; //a+d 提升为了double类型,报错。float f = (float)(a + d);

注意!

类型转换中,如果超过了类型的表数范围,则返回错误的值。如下例

		int money = 1000000000;  //10亿int years = 20;long total = money*years;   //返回的是负数 System.out.println(total);// -1474836480

正确的,提升类型

		int money = 1000000000;  //10亿int years = 20;long total = (long)money*years;  System.out.println(total);// 20000000000

上例是在运算前先把money的类型从int提升到long。


再来一例:

//一个人70年心跳多少次long times = 70*60*24*365*70;//返回负数System.out.println(times);//-1719527296

正确的方式,在第一个数转为long类型

long times = 70L*60*24*365*70;
System.out.println(times);//2575440000



-------------

更多的Java,Angular,Android,大数据,J2EE,Python,数据库,Linux,Java架构师,:

http://www.cnblogs.com/zengmiaogen/p/7083694.html



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/538751.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker rabbitmq_一文看懂Rabbitmq,从安装到实战演练

Rabbitmq的初步使用随着微服务概念发展,大应用逐步拆分为小应用,提高开发效率,专门的人做专门的事情,逐渐的流行起来。在微服务上实现通信的方式大部分是采用rpc方式,也有升级版本的grpc。还有另外一种实现就是使用mq来…

Angular v6 正式发布

Angular 6 正式发布 Angular 6 已经正式发布了!这个主要版本并不关注于底层的框架,更多地关注于工具链,以及使 Angular 在未来更容易快速推进。 作为发布的一部分,我们同步了主要的框架包 (angular/core, angular/common, angula…

py 字典添加多个value_# Python 3 # Python 3字典Dictionary(1)

Python3 字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:d {key1 : value1, key2 : value2 }键必须是唯…

饶军:Apache Kafka的过去,现在,和未来

欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 本文首发在云社区,未经许可,不得转载。大家好,我大概简单的介绍一下,我叫饶军,我是硅谷的初创公司Confluent的联合创始人之一,我们公司…

Android手机avi转换为mp4手机,如何把avi转换为mp4

AVI是目前比较常见的一种音视频交错格式,这种格式的文件在多种地方是可以看到的,大多在游戏录制、光盘文件中可以见到此类文件。其画质不错,适合在电脑上观看,但是现在我们使用较多的是手机、iPad等设备。如果我们想要在这些设备上…

伪代码书写规范_C++代码书写规范(推荐新手程序员)

代码就是程序员的面子,无论是在工作中在电脑上写程序代码还是在面试时在纸上写演示代码我们都希望写出整洁,优雅的代码。特别在工作中当我们碰到需要维护别人的代码,或者是多人参与一个项目大家一起写代码的时候,如果碰到一些丑陋…

Java基础17:Java IO流总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a724888/article/details/80201802 这位大侠,这是我的公众号:程序员江湖。 分享程序员面试与技术的那些事。 干货满满,关注就送。 本文介…

html语言闪烁特效代码,css3 文字闪烁特效代码

今天给大家分享几个文字闪烁特效代码,纯css3代码实现,对于新手小伙伴值得拿来学习一下。文字闪烁特效一通过改变透明度来实现文字的渐变闪烁,代码如下:文字闪烁:闪烁效果.main{color: #666;margin-top: 50px;}/* 定义k…

2021年山西副高考试成绩查询,中国卫生人才网2021年山西卫生资格考试成绩查询...

2021年山西卫生资格考试成绩查询 由中国卫生人才网考试快讯提供,以及提供2021国家卫生资格成绩查询考试信息。更多关于2021年山西卫生资格考试成绩查询 ,卫生资格考试,2021卫生资格考试,卫生资格成绩快讯的内容,请关注国家卫生资格考试网!!20…

团队项目作业1-团队展示与选题

团队展示: 队名:summer 团队项目描述:基于java 、web的四则运算网站的开发,有三种角色:老师、家长、学生。老师在网站上发布四则运算作业,可以设置题目数量,数值范围、以及完成作业限定的时间。…

SP2-0734: 未知的命令开头 imp scott/... - 忽略了剩余的行。

原文地址:http://blog.csdn.net/yangwenxue_admin/article/details/47667943 Oracle数据导入报错:SP2-0734: 未知的命令开头 "imp scott/..." - 忽略了剩余的行。 原因:进入sqlplus里是不能执行imp的(sqlplus不认识imp)&#xff0c…

impdp导入dmp文件

impdp命令在cmd下直接用,不必登录oracle。只能导入expdp导出的dmp文件。 expdp导出的时候,需要创建 DIRECTORY 导出什么表空间,导入也要什么表空间。 导出什么用户,导入也要什么用户。 如果没有要新建。 从杭州服务器expdp导出…

高中技校学计算机,我没考上高中,英语数学极差,想上技校学计算机专业,玩代码的那种,有前途吗?...

我没考上高中,英语数学极差,想上技校学计算机专业,玩代码的那种,有前途吗?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!我没考上…

html中函数传递多个值,JavaScript 实战开发经验!函数多参数传参技巧

HTML5学堂-码匠:掌握JavaScript代码的你,一定编写封装过函数,为了提升函数的控制性,必不可少的就是参数,必选可选的一大堆参数罗列出来,函数调用貌似变得麻烦起来~~~Tips:必选参数指的是必须要传…

软件工程学习笔记(考试版)

软 件 工 程 笔 记 第一章 一个软件产品必须由一个完整的配置组成,软件配置主要包括:程序,数据及相关文档。程序是能够完成预定功能和性能的可执行的指令序列;数据是使程序能够适当的处理信息的数据结构;文档是开发使…

印象笔记编辑pdf_笔记软件使用体验(至2020.03)

几年的时间,从OneNote到为知笔记,再到印象笔记,再回到为知笔记和OneNote,用下来感觉各有优势,也有不爽的地方。 早年间OneNote的同步很有问题,一次同步冲突导致失去了几乎所有笔记本。心灰意冷之下就离开了…

C#获取当前程序运行路径的方法集合

2019独角兽企业重金招聘Python工程师标准>>> // 获取当前进程的完整路径,包含文件名(进程名) Console.WriteLine(GetType().Assembly.Location "\tGetType().Assembly.Location"); // 获取新的 Process 组件并将其与当前活动的进程关联的主模…

Hive thrift服务--beeline使用

hive提供了thrift服务,只要客户端符合thrift标准就可以与它对接。 这样可以以在一台服务器上启动一个hive,其他用户通过thrift访问hive。 hive自带了一个thrift的客户端-------bin/beeline 启动方式: 1、hadoop的core-site.xml增加配置 &l…

vfp控制excel使用sort_使用Python根据索引合并Excel表

有两张不同大小的excel表表1:字典的选项值,2118行表2:字典名称,405行表1和表2有共同的列.现在需要根据共同的列,以表1为底,将表2的值对应添加到表1的每一行。下面是代码:1.加载相关的库import n…