java中的类型转换

news2025/1/11 20:59:53
java的基本数据类型

1.数值型:byte,short,int,long,float,double
2.字符型:char
3.布尔型:boolean

数据类型占据字节数
byte1个字节
short2个字节
int4个字节
long8个字节
float4个字节
double8个字节
char2个字节
boolean1个比特(1个二进制位)

byte可以保存的数据范围:-128~127 (-27 ~ 27-1)
short可以保存的数据范围:-32768~32767 (-215 ~ 215-1)
int可以保存的数据范围:-2147483648~2147483647 (-231 ~ 231-1)
long可以保存的数据范围: -263 ~ 263-1

long型常量用后缀L来表示

long width=12L;

float常量后面必须要有fF

float x=23.1F;

double常量后面可以有后缀dD**,也可以没有

long k=153d;

将这7种类型按精度从低到高排列:
byte,short,char,int,long,float,double

当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换。
(可以理解为级别高的类型所包含的数据范围广,那么级别低的数据肯定被包含在级别高的数据范围中,所以可以直接自动转化)

当把级别高的变量的值赋值给级别低的变量时,必须使用类型转换运算。

int x=(int)34.89; //这里的34.89默认为时double类型的
long y=(long)56.78F;
int z=(int)199L;

注意: 当把一个int型常量赋值给一个byte,short和char类型变量时,不可超出这些变量的取值范围,否则必须进行类型转换运算。

常见的错误: 把一个double类型变量赋值给float变量时,没有进行类型转换运算,如

float x=12.4;  //这句代码是错误的

在这里插入图片描述
可以看到程序中只写了这一句话,下面出现报错,原因就是如果浮点数后面没有加f或者F,会被默认为时double类型,那么将级别高的double类型赋值给级别低的float类型肯定会报错,因为可能这个double类型表示的数据大小已经超过了float数据所能表示的范围。

正确的写法是

float x=12.4F;//写法1
float x=(float)12.4;//写法2


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

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

相关文章

开发一个问答式的node脚本

前言 我们公司一般有早上知识分享的规定,那天有个同事分享了如何通过Node脚本实现国际化替换 。 起因是这样的,有一个已经成熟的项目了,突然被要求实现中英文切换。前端中英文切换基本上就是通过 vue-i18n 来实现(不熟悉的可以看…

安装配置DHCP

本次实验采用CentOS71.检查在安装DHCP之前先使用rpm命令查看系统中已有的DHCP软件包rpm -qa | grep dhcp由此可知,系统中尚未安装DHCP软件包2.安装我们可以使用yum命令为系统安装DHCP软件包yum -y install dhcp安装完成后再次检查可以看到DHCP软件包3.配置dhcp配置文…

20230225在WIN10下安装PR2023失败的解决

20230225在WIN10下安装PR2023失败的解决 2023/2/25 23:42 对于Adobe Premiere Pro 2023,就算你安装在早起的Windows 10上,也会安装失败的! 对于WIN7,就不要再想安装PR2023了,根本不支持呀! Adobe Installer…

php 基于ICMP协议实现一个ping命令

php 基于ICMP协议实现一个ping命令 网络协议是什么ICMP 协议什么是ICMP?ICMP 的主要功能ICMP 在 IPv4 和 IPv6 的封装Wireshark抓包ICMP 请求包分析PHP构建 ICMP 数据包php中的 pack & unpack 函数字节和字符packunpackICMP计算校验和步骤总结网络协议是什么 网络协议&…

_hand-1

实现防抖函数(debounce) 防抖函数原理:把触发非常频繁的事件合并成一次去执行 在指定时间内只执行一次回调函数,如果在指定的时间内又触发了该事件,则回调函数的执行时间会基于此刻重新开始计算 防抖动和节流本质是不一…

Socket通信详解

Socket通信详解 文章目录Socket通信详解Socket流程介绍函数介绍编程实例Socket流程介绍 socket通信类似于电话通信,其服务器基本流程就是 Created with Raphal 2.3.0安装电话socket()分配电话号码bind()连接电话线listen()拿起话筒accept()函数介绍 socket() 其中…

行测-判断推理-图形推理-样式规律-加减异同

图1图2图3选D图1图2都有的线,则消除图1图2只有一幅图里有的线,则保留选C第一列和第二列都有的线,则消除第一列和第二列只有一幅图里有的线,则保留选A第一列顺时针旋转90,再与第二列去同存异选D第一列和第二列去同存异&…

二叉树、队列、栈、广义表(二)数据结构与算法(十八)

数据结构与算法(一)-软件设计(十七)https://blog.csdn.net/ke1ying/article/details/129220378 线性表-队列与栈 队列:先进先出。 栈:先进后出。 循环队列:队投和队尾连接起来。 队空的条件&…

LeetCode 21.剑指 Offer II 078. 合并两个有序链表 | C语言版

LeetCode 21. 合并两个有序链表 | C语言版LeetCode 21. 合并两个有序链表题目描述解题思路思路一:使用栈代码实现运行结果参考文章:思路二:减少遍历节点数代码实现运行结果参考文章:[]()LeetCode 剑指 Offer II 078. 合并排序链表…

《MySQL系列-InnoDB引擎25》表-InnoDB逻辑存储结构

InnoDB逻辑存储结构 从InnoDB存储引擎的逻辑存储结构看,所有数据都被逻辑地存放在一个空间中,称之为表空间(tablespace)。表空间又由段(segment)、区(extent)、页(page)组成。页在一些文档中有时也称为块(block),InnoDB存储引擎的逻辑存储结构…

JVM系统优化实践(4):以支付系统为例

您好,我是湘王,这是我的CSDN博客,欢迎您来,欢迎您再来~前面说过,JVM会将堆内存划分为年轻代、老年代两个区域。年轻代会将创建和使用完之后马上就要回收的对象放在里面,而老年代则将创建之后需要…

python刷题

目录标题1、输出前三同学的名字-input().split()2、字典的使用3、DA12 牛客网不同语言使用人数4、DA16 用户常用语言有多少5、python变量1、输出前三同学的名字-input().split() s1 input().split() print(tuple(s1)[:3])2、字典的使用 注意点:1,对字典…

如何使用 FreeSql 无缝接替 EF Core ?

如何使用 FreeSql 无缝接替 EF Core,并实现数据表的 CRUD 操作项目说明DB & 数据表结构DB & 数据表创建数据表 User 实体模型创建使用 EF Core 实现 User 表新增用户信息添加 EF Core 相关的 nuget 包编写 EF Core 操作 User 表的 CRUD 代码FreeSql 使用 Db…

系统启动太慢,调优后我直呼Nice

问题背景最近在负责一个订单系统的业务研发,本来不是件困难的事。但是服务的启动时间很慢,慢的令人发指。单次启动的时间约在10多分钟左右,基本一次迭代、开发,大部分的时间都花在了启动项目上。忍无可忍的我,终于决定…

链路追踪——【Brave】第一遍小结

前言 微服务链路追踪系列博客,后续可能会涉及到Brave、Zipkin、Sleuth内容的梳理。 Brave 何为Brave? github地址:https://github.com/openzipkin/brave Brave是一个分布式追踪埋点库。 #mermaid-svg-riwF9nbu1AldDJ7P {font-family:"…

大数据Hadoop教程-学习笔记05【Apache Hive DML语句与函数使用】

视频教程:哔哩哔哩网站:黑马大数据Hadoop入门视频教程 总时长:14:22:04教程资源: https://pan.baidu.com/s/1WYgyI3KgbzKzFD639lA-_g 提取码: 6666【P001-P017】大数据Hadoop教程-学习笔记01【大数据导论与Linux基础】【17p】【P018-P037】大…

一文带你搞定线程池原理

1.使用线程池的意义何在?项目开发中,为了统一管理线程,并有效精准地进行排错,我们经常要求项目人员统一使用线程池去创建线程。因为我们是在受不了有些人动不动就去创建一个线程,使用的多了以后,一旦报错就…

Android从屏幕刷新到View的绘制(一)之 Window、WindowManager和WindowManagerService之间的关系

0. 相关分享 Android从屏幕刷新到View的绘制(一)之 Window、WindowManager和WindowManagerService之间的关系 Android从屏幕刷新到View的绘制(二)之Choreographer、Vsync与屏幕刷新 1. 相关类 WindowManagerService&#xff0c…

Linux安装Redis步骤

1 下载安装包并解压 官网:https://download.redis.io 下载安装包: wget https://download.redis.io/redis-stable.tar.gz 解压 tar -zxvf redis-stable.tar.gz* 2 安装 安装 cd redis-stable make install PREFIX/opt/install/redis6 设置环境变量 vi …

Python学习-----项目设计1.0(设计思维和ATM环境搭建)

目录 前言: 项目开发流程 MVC设计模式 什么是MVC设计模式? ATM项目要求 ATM项目的环境搭建 前言: 我个人学习Python大概也有一个月了,在这一个月中我发布了许多关于Python的文章,建立了一个Python学习起步的专栏…