Java基础「八大基本数据类型和数据类型的转换」

Java中八大基本数据类型以及数据类型转换 Java中的八大基本数据类型 八大基本数据类型:byte、boolean、char、short、int、long、float、double。 byte类型 占用1个字节。 取值范围在-128到127之间。 在Java中不经常使用。 boolean类型 占用1个字节。 只有true和false两个值。 char类型 字符类型。占用2个字节。 取值范围:0到65... 阅读详情

1.八大基本数据类型

分为以下四类:

整形(byte、short、int、long)

布尔类型(boolean)

字节型(char)

浮点型(float、double)

具体占几个字节、取值范围(如下图)
在这里插入图片描述

2.数据类型的转换

(自动类型转换、强制类型转换)

Java 语言是一种强类型的语言。强类型的语言有以下几个要求:

**变量或常量必须有类型:**要求声明变量或常量时必须声明类型,而且只能在声明以后才能使用。

**赋值时类型必须一致:**值的类型必须和变量或常量的类型完全一致。

**运算时类型必须一致:**参与运算的数据类型必须一致才能运算。

但是在实际的使用中,经常需要在不同类型的值之间进行操作,这就需要一种新的语法来适应这种需要,这个语法就是数据类型转换。

在数值处理这部分,计算机和现实的逻辑不太一样,对于现实来说,1和 1.0 没有什么区别,但是对于计算机来说,1 是整数类型,而 1.0 是小数类型,其在内存中的存储方式以及占用的空间都不一样,所以类型转换在计算机内部是必须的。

Java 语言中的数据类型转换有两种:

**自动类型转换:**编译器自动完成类型转换,不需要在程序中编写代码。

**强制类型转换:**强制编译器进行类型转换,必须在程序中编写代码。

由于基本数据类型中 boolean 类型不是数字型,所以基本数据类型的转换是出了boolean 类型以外的其它 7 种类型之间的转换。下面来具体介绍两种类型转换的规则、适用场合以及使用时需要注意的问题。

2.1自动类型转换

自动类型转换,也称隐式类型转换,是指不需要书写代码,由系统自动完成的类型转换。由于实际开发中这样的类型转换很多,所以 Java 语言在设计时,没有为该操作设计语法,而是由 JVM 自动完成。

转换规则:从存储范围小的类型到存储范围大的类型。

具体规则为:byte→short(char)→int→long→float→double也就是说 byte 类型的变量可以自动转换为 short 类型。

示例代码:
byte b = 10;

short sh = b;

这里在赋值时,JVM 首先将 b 的值转换为 short 类型,然后再赋值给 sh。在类型转换时可以跳跃。示例代码:

byte b1 = 100;

int n = b1;

注意问题:在整数之间进行类型转换时,数值不发生改变,而将整数类型,特别是比较大的整数类型转换成小数类型时,由于存储方式不同,有可能存在数据精度的损失。

2.2强制类型转换

强制类型转换,也称显式类型转换,是指必须书写代码才能完成的类型转换。该类类型转换很可能存在精度的损失,所以必须书写相应的代码,并且能够忍受该种损失时才进行该类型的转换。

转换规则:从存储范围大的类型到存储范围小的类型。

具体规则为:double→float→long→int→short(char)→byte

语法格式为:(转换到的类型)需要转换的值

示例代码:

double d = 3.10;

int n = (int)d;

这里将 double 类型的变量 d 强制转换成int 类型,然后赋值给变量 n。需要说明的是小数强制转换为整数,采用的是“去 1 法”,也就是无条件的舍弃小数点的所有数字,则以上转换出的结果是 3。

整数强制转换为整数时取数字的低位,例如 int 类型的变量转换为 byte 类型时,则只去int 类型的低 8 位(也就是最后一个字节)的值。

示例代码:

int n = 123;

byte b = (byte)n;

int m = 1234;

byte b1 = (byte)m;、

则 b 的值还是 123,而 b1 的值为-46。b1 的计算方法如下:m 的值转换为二进制是10011010010,取该数字低8位的值作为b1的值,则b1的二进制值是11010010,按照机器数的规定,最高位是符号位,1 代表负数,在计算机中负数存储的是补码,则该负数的原码是 10101110,该值就是十进制的-46。

注意问题:强制类型转换通常都会存储精度的损失,所以使用时需要谨慎。

总结:

自动类型转换是从储存范围小的类型到储存范围大的类型。
强制类型转换是从储存范围大的类型到储存范围小的类型。

想了解更多Java、程序员相关内容,搜索微信公众号“速学Java”,还有资料等你来拿~

在这里插入图片描述
在这里插入图片描述

SAP SD RRB实战:从DIP参数文件到DP90/DP91开票的完整链路解析 本文详细解析了SAP SD模块中RRB(Resource-related Billing)业务场景的完整链路,从DIP参数文件配置到DP90/DP91开票操作。通过实战案例分享DIP参数文件的核心配置技巧、特性设置及物料决定要点,帮助用户掌握动态开票的关键技术,提升SAP SD RRB的实施效率。 阅读详情

相关推荐

TPL5010硬件看门狗电路

在做一些采集频率很低的产品的时候,会考虑电池供电,比如表、电气表等,为了控制功耗,往往会在设备不需要工作的时候让它进入低功耗模式。为了设备的稳定性,避免死机后无法恢复,必须配置看门狗,一般的看门狗芯片,喂狗间隔时间是几秒钟。这样在喂狗和低功耗之间就产生了一个矛盾,频繁的喂狗就需要频繁的醒过来,这样功耗就很难做到很低。这颗看门狗芯片,特别适合上面的应用。2小时的间隔意味着主控芯片每2小时醒过来喂狗一次即可,而在2.5V供电的情况下,功耗仅仅35nA,几乎可以忽略不计。

zxm8513优快云博客 3306

JAVA基本数据类型及转换规则

JAVA基本数据类型

笔墨稠思 1431

FPGA实战:给你的UART串口通信加上Verilog奇偶校验位(Modelsim仿真验证)

本文详细介绍了如何在FPGA中实现UART串口通信的Verilog奇偶校验功能,包括发送端校验位生成和接收端校验检测的设计与实现。通过Modelsim仿真验证,确保数据传输的可靠性,适用于嵌入式系统和数字通信领域。

weixin_34216614的博客 341

java基本数据类型转换规则

java基本数据类型转换规则

weixin_45445515的博客 1410

关于Oxford Radar RobotCar Dataset的学习笔记

https://oxford-robotics-institute.github.io/radar-robotcar-dataset/documentation 简介 雷达是 Navtech CTS350-X 调频连续波 (FMCW) 扫描雷达,在所使用的配置中提供 4.38 cm 的距离分辨率和 0.9 度的旋转分辨率,范围高达 163 m,同时提供对天气条件的稳健性这可能会给其他传感器模式带来麻烦。在其他配置中,Navtech CTS350-X 可以提供超过 650 m 的范围和更高的旋转速度。然而,对

禾烁的博客 5295

深度强化学习算法PPO训练Pendulum

returnadv = 0print('状态空间维度:', state_n)print('动作空间维度:', action_n)steps = []if done:breakif done:breakelse:steps = []if done:break。

weixin_43336108的博客 808

Java编程语言的基本数据类型转换规则

1. Java基本数据类型转换规则 1.1 Java基本的数据类型 byte 字节型 1字节 short 短整型 2字节 int 整型 4字节 long 长整型 8字节 float 单浮点型 4字节 double 双浮点型 8字节 char 字符型 2字节 boolean 布尔型 ...

qq_42902997的博客 338

LLaVA-1.5:多模态视觉问答新突破

LLaVA-1.5在多模态视觉问答(VQA)任务中取得了显著进展,主要得益于视觉-语言连接器的优化和特定任务数据集的增加。通过将连接器升级为两层MLP,模型在处理视觉与语言关系时表现更佳。同时,引入如OKVQA、OCRVQA等数据集,增强了模型在复杂视觉推理任务中的能力。在11个基准测试中,LLaVA-1.5超越了现有方法,展示了其强大的多模态能力。此外,模型通过提升输入图像分辨率、扩展语言模型和改进多语言能力,进一步提升了性能。尽管在短格式回答任务中初期表现不佳,但通过调整提示格式和微调,其性能显著提升

weixin_57060548的博客 945

Java基本数据类型转换规则

Java中的数据类型转换分为自动类型转换(隐式转换)和强制类型转换(显式转换)。自动类型转换发生在精度小的数据类型赋值给精度大的数据类型时,遵循byte→short→int→long→float→double的规则。混合运算时,系统将所有数据转换为容量最大的类型再计算。byte、short、char之间不会自动转换,但计算时会先转换为int类型。boolean不参与转换。强制类型转换用于将精度大的数据类型转换为精度小的数据类型,需使用强制转换符,可能导致精度降低或溢出。示例代码展示了不同类型转换的具体应用和

paishishaba的博客 1005

避坑指南:Allegro 17.2更新封装时遇到的5个典型问题及解决方案(含Symbol报错处理)

本文深度解析Allegro 17.2封装更新过程中的核心机制与常见陷阱。针对“Update Symbols”功能失效、焊盘不匹配、DRC报错、图形层叠错误等5大典型问题,提供从原理分析到实战解决方案的完整指南,帮助用户实现从“更新失败”到“丝滑替换”的平稳过渡。

tgb34567890的博客 1037

PCL:读写pcd点云的两种方式

本文介绍了PCL读写点云的两种方式:PCDReader,PCDWriter;loadPCDFile,savePCDFile.

孙悟空 1万+

JAVA类型转换系列文章一

JAVA类型转换系列文章一

流浪天空 2146

优秀的 Verilog/FPGA开源项目介绍(二十六)- ISP (图像信号处理)

介绍查看《ISP算法及架构分析介绍》今天项目的顺序就是先介绍几个关于ISP算法架构的项目,包括python、matlab、c等高级语言实现的ISP算法架构,最后介绍一个FPGA实现ISP的项目。openISPhttps://github.com/cruxopen/openISP项目介绍用python实现的ISP架构,该架构涉及到的知识如下:下图是最新实现的模块:主要模块如...

OpenFPGA的博客 4946

java 八大类型的转换,Java基础「八大基本数据类型和数据类型的转换」

1.八大基本数据类型分为以下四类:整形(byte、short、int、long)布尔类型(boolean)字节型(char)浮点型(float、double)具体占几个字节、取值范围(如下图)2.数据类型的转换(自动类型转换、强制类型转换)Java 语言是一种强类型的语言。强类型的语言有以下几个要求:变量或常量必须有类型:要求声明变量或常量时必须声明类型,而且只能在声明以后才能使用。赋值时类型必须...

weixin_32942557的博客 628

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

java byte比较_Java基础「八大基本数据类型和数据类型的转换」

想了解更多Java相关,私信“Java”,还可领取Java资料~1.八大基本数据类型分为以下四类:整形(byte、short、int、long)布尔类型(boolean)字节型(char)浮点型(float、double)具体占几个字节、取值范围(如下图)2.数据类型的转换(自动类型转换、强制类型转换)Java 语言是一种强类型的语言。强类型的语言有以下几个要求:变量或常量必须有类型:要求声明变量...

weixin_39574943的博客 138

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

dsp 数据类型强制转换_Java基础「八大基本数据类型和数据类型的转换」

想了解更多Java相关,私信“Java”,还可领取Java资料~1.八大基本数据类型分为以下四类:整形(byte、short、int、long)布尔类型(boolean)字节型(char)浮点型(float、double)具体占几个字节、取值范围(如下图)2.数据类型的转换(自动类型转换、强制类型转换)Java 语言是一种强类型的语言。强类型的语言有以下几个要求:变量或常量必须有类型:要求声明变量...

weixin_29201859的博客 298

java基础-八大基本数据类型

本篇文章偏向于 Java 基础,阅读时间大约为:4 分钟。目录1、前言2、Java 的八大基本数据类型2.1、整数类型(byte、short、int、long)2.2、浮点数类型(float、double)2.3、字符(char)2.4、布尔类型(boolean)3、变量的初始化和默认值4、基本数据类型的转换4.0、字面量和变量简述4.1、隐式类型转换4.2、显式类型转换。

2401_82656016的博客 4176

Java八大基本数据类型

前言:做一下笔记。 Java基本数据类型图: 整数类型:byte 1字节,8位,最大存储数据量是255,存放的数据范围是-128~127之间。 构造方法: public Byte(byte value) 构建了一个新分配的Byte表示指定的byte价值。 参数 value -被 Byte所代表的值 public Byte(String s) throws NumberFormatException 构建了一个新分配的 Byte表示 byte值表示的 String参数。字符串转换成完全由基数10

weixin_43777065的博客 4万+

Java基础——八大基本数据类型

java基础:八大基本数据类型

wan的博客 1万+

Java八大基本类型详解

Java有八大基本类型,其中包括4个整数类型,2个浮点类型,有个字符类型,1个布尔类型

呆呆papa的博客 1万+

java入门基础(变量以及八大基本数据类型)

int:通用,效率高,占的资源少long:处理超大整数,范围广,资源消耗多。

impact99的博客 1450

八大基本数据类型(超详细)

学习目标: Java八大数据类型: (1)整数类型:byte、short、int、long (2)小数类型:float、double (3)字符类型:char (4)布尔类型:boolean 学习内容: 1、 整数数据类型 byte:1个字节,8位,256种状态,取值范围为【-128,127】 short:2个字节,16位,65536种状态,取值范围为【-32768,32767】 int:4个字节,32位,整数类型默认是int类型,取值范围约21亿 long:8个字节,64位,long类型表示long类

zzvar的博客 15万+

Java基础:Java八大基本数据类型

这篇文章主要介绍了Java八大数据类型详细教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下。放假在家里休息,闲来无事,想巩固巩固自己的基础知识。Java基础这个我会一直更新的,希望大家关注 收藏 点赞。

weixin_42188778的博客 5699

Java 中的八大基本数据类型、类型转换

目录1. ♥常见的数据类型2. ♥引用数据类型3. ♥类型转换4. ♥数值提升5. ♥int 和 String 之间的相互转换八大基本数据类型:除了常见的八种数据类型还有一些引用数据类型:String类(字符串类型)、数组、类、接口等。总结:Java 作为一个强类型编程语言, 当不同类型之间的变量相互赋值的时候, 会有教严格的校验。4.1 小范围提升大范围 当 int 和 long 混合运算的时候, int 会提升成 long, 得到的结果仍然是 long 类型, 需要使用 long 类型的变量来接收结

AlinaQ05的博客 2110

Java八大基础数据类型转换

本文参考了如下两篇文章: https://my.oschina.net/joymufeng/blog/139952 http://www.cnblogs.com/lwbqqyumidi/p/3700164.html Java中,经常可以遇到类型转换的场景,从变量的定义到复制、数值变量的计算到方法的参数传递、基类与派生类间的造型等,随处可见类型转换的身影。Java中的类型转换在Java编码中具有重要的作用。 首先,来了解下数据类型的基本理解:数据是用来描述数据的种类,包括其值和基于其值基础上的可进行的操

Java后端技术栈 5276

java基础——八大基本数据类型及其衍生类型

本文介绍了Java编程语言中的数据类型,包括基本数据类型和衍生类型。基本数据类型包括整数类型(byte、short、int、long)、浮点数类型(float、double)、布尔类型(boolean)和字符类型(char)。衍生类型则包括并发原子类、大数处理类、字符处理扩展、布尔逻辑扩展、数值数组工具类、Optional类型和特殊场景扩展等。此外,文章还讨论了类型转换,包括非强制类型转换和强制类型转换,并强调了理解数据类型对编写高效、可维护代码的重要性。通过掌握这些数据类型,可以为Java编程打下坚实的基

qq_47980550的博客 844
上一篇: 程序员一定要精通英语吗?程序员常用英语词汇汇总!
下一篇: 面试了一名32岁的程序员,领导:年纪太大,直接送走吧
suxue_java
博客等级 码龄8年 6粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值