【java基础】类型转换操作符

Java编程基础:操作符优先级与数据类型 本章深入探讨了Java编程中操作符的优先级以及数据类型对计算结果的影响。通过具体代码示例展示了如何通过括号改变运算顺序,以及在进行数学运算时Java如何处理整数和浮点数。本章还介绍了强制类型转换的概念及其在代码中的应用,以及如何使用增量运算符和减量运算符来简化代码。此外,本章通过实际练习加深了对Java基本操作符的理解。 阅读详情

类型转换(cast)的愿意是“模型铸造”,在适当的时候,java会将一种数据类型自动转换成另一种。比如我们为某浮点变量赋以一个整数值,编译器会将int自动转换成float。在java中,我们可以显示进行类型转换或者强制类型转换。如:

int i = 200;
long lng = (long)i;

这里我们可能是多余的,即使我们不通过(long)来对i进行转换,编译器也会自动进行int值到long值的提升,这就是扩展转换。下面的写法也是正确的:

int i = 200;
long lng = i;

但是有个情况,我们必须注意到,如:

double d = 0.7;
int i = (int)d;

当类型由大转小的时候,必须进行类型转换,否则编译会报错。这里的i获取的值是0,并没有进行四舍五入,而是直接对值进行了截尾操作。这不是窄化转换。在进行窄化转换操作时,要注意截尾和舍入的问题。

如果要想进行四舍五入操作,将采用java.lang.Math中的round()方法。

例子代码如下:

public class CasstingNumbers{
	public static void main(String[] args){
		double above = 0.7, below = 0.4;
		float  fabove = 0.7f, fbelow = 0.4f;
		
		int i = (int)above;
		System.out.println("i: " + i); //0
		
		int j = 1;
		long lng = j;
		System.out.println("lng:" + lng); //1
		
		System.out.println("(int)above: " + (int)above);   //0
		System.out.println("(int)below: " + (int)below);	 //0
		System.out.println("(int)fabove: " + (int)fabove); //0
		System.out.println("(int)fbelow: " + (int)fbelow); //0
		
		System.out.println("Math.round(above): " + Math.round(above)); //1
		System.out.println("Math.roundbelow: " + Math.round(below));	 //0
		System.out.println("Math.roundfabove: " + Math.round(fabove)); //1
		System.out.println("Math.roundfbelow: " + Math.round(fbelow)); //0
	}
}

output:

i: 0
lng:1
(int)above: 0
(int)below: 0
(int)fabove: 0
(int)fbelow: 0
Math.round(above): 1
Math.roundbelow: 0
Math.roundfabove: 1
Math.roundfbelow: 0


OceanSim: 基于Isaac Sim GPU 加速水下机器人感知仿真框架 OceanSim 采用先进的基于物理的渲染技术,对水下视觉和声学传感器进行精确建模。与其他模拟引擎相比,OceanSim 的渲染速度要快得多。作为 NVIDIA Issac Sim 的扩展,OceanSim 采用了多功能设计。通过融入快速发展的 NVIDIA Omniverse 生态系统,我们的模拟器自然而然地在机器人学习和水下机器人技术之间架起了一座桥梁,从而促进了水下应用中体现型人工智能技术的开发和部署。OceanSim 将以开放源码的方式提供,使研究界能够以合作的模式作出贡献。 阅读详情

相关推荐

个人信息保护合规审计人员(中级)能力测试试卷

本文是关于个人信息保护合规审计的考试指南,包含选择题、判断题、简答题和案例分析题。选择题考察《个人信息保护法》的关键条款,如敏感信息处理、跨境传输、委托处理等合规要求。判断题测试对个人信息处理规则的理解,如撤回同意、公开信息处理等。简答题要求阐述审计流程、个人权利、委托处理义务等内容。案例分析题以互联网企业为例,分析违规行为并提出整改建议,涉及数据收集、第三方共享、自动化决策等问题。全文旨在帮助中级审计人员掌握个人信息保护的法律规定和审计实务,提升合规审计能力。

qq_41525079的博客 547

java基础3(变量,操作符,类型转换,循环语句,continue,break)

java基础1.变量描述1.1 变量作用1.2.变量的使用:1.3.变量的种类1.4.局部变量1.5. 实例变量2.操作符2.1.赋值操作符2.2.比较操作符2.3 相等操作符2.4 算术操作符2.5 移位操作符2.6 位运算符2.7 逻辑运算符2.8 条件操作符3.类型转化3.1 基本类型3.2 引用类型4 流程控制4.1 if4.2 switch4.3 for4.4 while4.5 do-while4.6 循环嵌套5 break6 continue7 label 1.变量描述 1.1 变量作用 程

CodeSheep1的博客 309

FFTW库安装与使用(3.3.5版本)

FFTW库安装与使用一、FFTW库介绍与下载二、FFTW库安装三、FFTW库测试 一、FFTW库介绍与下载   FFTW ( the Faster Fourier Transform in the West) 是一个快速计算离散傅里叶变换的标准C语言程序集,其由MIT的M.Frigo 和S. Johnson 开发。可计算一维或多维实和复数据以及任意规模的DFT,且运行速度比Eigen和opencv自带的FFT库函数快10倍以上。   下载链接:http://www.fftw.org/install/wind

Jhon_ranble的博客 2万+

Java语言基础(4)——操作符以及相关的自动类型转换

首先介绍一元算术操作符,一元算术操作符包括:+,-,++和–。 一元算术操作符能够将byte/short/char类型的操作数自动提升为int型,位操作符~也具有类似的类型转换效果。 以下是一个示例: public class UnaryConversion{ public static void main(String[] args){ byte b = 2; char c = '\u1234'; System.out.println((-b) + ";" + (+c));//自动类型转换 int i =

m0_46977476的博客 347

树莓派4B系统安装及SSH远程控制(简单易操作)

​自从2022年4月树莓派官网更新了RaspberryPiImager版本v1.7.2后,便不再支持自行建立ssh文件,并用默认用户名pi和密码raspberry的方式进行远程控制(亲测不行,输密码时一直access denied)。但是该版本软件提供了烧录系统前设置ssh用户及密码功能。本文记录了系统安装和SSH远程操作步骤。........................

机械人的代码路 5791

YOLO26改进策略【卷积层】| CVPR 2025 频率动态卷积 FDConv 频域分权重提多样性 + 双调制降冗余,增强特征表征能力

本文记录的是利用FDConv 算子改进 YOLOv11 的卷积层特征提取层。(Frequency Dynamic Convolution)通过傅里叶域权重划分与空间-频率双调制机制结合,实现YOLOv11特征提取中频率多样化的动态卷积与空间自适应的频带调制。本文利用算子,通过傅里叶不相交权重生成频率差异化的并行卷积核以丰富特征表达,再通过核空间调制和频带调制结合局部-全局信息、适配图像空间异构性,同时依托固定参数预算实现轻量化设计,对YOLOv11中目标的低频语义特征与高频细节/边界特征进行针对性增强、抑制

Limiiiing的博客 476

JAVA基础——基础语法之操作符

2.1 操作符 本章重点说一下JAVA最基础的语法和操作符 2.1.1 打印语句 Java的打印语句: System.out.println("Hello Java!") 2.1.2 赋值 Java的赋值操作和C、C++相同,使用操作符(=); ????举个栗子:: a = 4; //将4赋值给a变量 2.1.3 算术操作符 1、基本的操作符包括加号(+)、减号(-)、除号(/)、乘号(*)以及取模操作符(%)。 ==注:==整数除法会直接去掉结果的小数位,而不是四舍五入!! 2、Java使用一种简

毕业于东北大学软件工程专业,现就职于字节跳动 206

【INMP441】 MEMS麦克风,让硬件“听得见”,更要“听得清”

INMP441是一款数字MEMS麦克风,采用PDM接口输出高质量数字音频信号。相比传统模拟麦克风,它具有高度集成、抗干扰强、功耗低等优势,支持通过时钟启停实现软件控制开关。该麦克风体积小巧但功能强大,内置MEMS传感器、ADC转换器等模块,适合智能音箱、语音遥控等应用。工程师可通过ESP32等主控芯片轻松连接INMP441,利用多麦克风阵列实现波束成形等高级功能。INMP441展现了数字音频采集的先进技术,为创客和智能硬件开发者提供了优秀的音频解决方案。

深耕CV 1536

Java基本操作符

操作符 更简单打印语句 import java.util.*; import static net.mindview.util.print.*; public class HelloWord{ public static void main(String[] args){ print("hello java"); } 要想使用这个库,必须要到https://www.minddviewllc.com下载,并在你的计算机的CLASSPATH环境变量中添加该代码目录树的根目录。虽然它可以简化代码,

m0_49489960的博客 135

初识数据之特征选择

【代码】初识数据之特征选择。

M_inherit的博客 1136

QGis二次开发 —— 1、win10/win11搭建Vs2017-QGis3.40.12环境(附Vs2017环境效果,附全部问题解决方法)(附:Qt助手加入QGis接口说明文档)

QGis二次开发 —— 1、Windows10搭建Vs2017-QGis环境(附Vs2017环境效果)(附:Qt助手加入QGisA接口说明文档)

1362

Java基础语法

基础语法

my_heart_goon的博客 983

基于ComfyUI+H3的本地化竖屏短剧自动化生成工作流

本文介绍了一种基于ComfyUI和MiniMax H3的本地化竖屏短剧自动化生成工作流。该方案通过纯机械读取分镜总纲表格,实现从文本到视频的全自动生成,支持多人同框稳定输出、人脸一致性保持、音视频同步生成等功能。工作流包含图像生成、人工审核、视频生成和音频处理四个核心环节,采用本地化部署方案避免云端服务的限制和成本问题。文章详细说明了环境部署步骤、必需的自定义节点安装以及显存优化配置,特别针对16GB显存设备提供了量化压缩、GPU独占调度等技术方案,确保系统流畅运行。

huanghm88的专栏 330

java编程思想笔记03-操作符

在最底层,java的数据是通过操作符来操作的. 3.1 使用java操作符 + = - * ()辅助运算   / 几乎所有的操作符都只能操作"基础类型".例外的操作符是 "=" "==" "!=",这些操作法能操作所有的对象,除此以外,string类支持 "+" 和"+=". 3.3 优先级 推荐直接使用括号即可(没必要记住优先级) 3.4 赋值 int a = 3;

吐蕃圣僧 230

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

java操作符

package operator; /** * 操作符的学习 * @author * @version 1.0 */ public class OprTest { /* * 上一次介绍了java中关于对象的一些知识 * java中既有一些基本类型(特殊类型)的数据,也可以有由程序员自己定义类型的对象 * 而且,使用这些对象的方式是用new创建,用"."去访...

Group_game的博客 223

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Java之操作符学习

  今天继续我的“java从入门到放弃”之路

lei2014lei的博客 235

VC中sqlite的使用

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

Java基础&数据类型&操作符&类&对象&方法

Java 中的类型强制转换(Type Casting)可以分为基本类型(primitive types)的强制转换和引用类型(reference types)的强制转换。它们在底层的原理和实现有所不同。

小方的博客 1099

第三章 操作符

3.1 打印语句 System.out.println(“aaa”+ b); +是连接字符串,有将b转换成String类型的过程。 3.4赋值 别名陷阱,在对象赋值是t1=t2;实际上,t1本身的引用被t2的覆盖掉(t1的引用被垃圾回收器回收),在修改t1时,t2也会跟着变化。用t1.a=t2.a,保证t1和t2的独立性。 操作符的操作是一个对象的引用 3.5算数操作符 Random类

jiangaijinxingdaodi的专栏 611

java语言 U_Java语言的基础

Java语言的基础转义字符:\n回车(\u000a)\t水平制表符(\u0009)\b空格(\u0008)\r换行(\u000d)\f换页(\u000c)\'单引号(\u0027)\"双引号(\u0022)\\反斜杠(\u005c)\ddd三位八进制\udddd四位十六进制字符串类型,是用String表示的类型,①直接赋值,如:Stringstr=”hello”(直接存储在栈里,寻找具有hello...

weixin_33344572的博客 488

Thinking in JAVA笔记——第三章 操作符 &第四章控制执行流程

3.1更简短的打印语句 import static一个包 3.2Java操作符:与c++类似 3.3优先级 java有优先级,如果忘记优先级规则,应该加括号已明确。 3.4赋值 基本类型的赋值就是赋值 对象的赋值其实是引用的赋值,将会产生“别名”,java有“克隆”来解决对象赋值问题 3.5算数操作符 和c++一样,略 3.6自增自减:略 3.7关系运算 ==比较...

weixin_30535913的博客 109

Java(关系操作符+流程控制语句)

学习模式:看一遍视频+手抄一遍+再看一遍视频+在线题库 学习方法:把握主线 不偏离主线 熟悉、掌握常规写法 java day3第一板块:关系操作符表达式与操作符1.关系操作符 6个2.算数操作符3.逻辑操作福4.赋值操作符4.1 组合赋值操作符5.自增操作符6.优先级与类型转换第二板块:流程控制语句1.if else语句2.for循环语句3.for语句内部可以嵌套for循环、if语句等4.break与continue (配合循环语句来使用)5.while循环语句 第一板块:关系操作符 表达式与操作符 ja

北溟南风起 372

Java语言程序设计(第12版)个人复习 第二章

Java语言程序设计(第12版)个人复习 第二章 这里写目录标题Java语言程序设计(第12版)个人复习 第二章第二章知识点 第二章知识点 加号(+) 有两种意义: 1.种用途是做加法, 2.另一种用途是做字符串的连接(合并)。它把两个字符串合并为一个。如果一个字符串和一个数值连接,数值将转化为字符串然后再和另外一个字符串连接。 源代码中字符串不能跨行,因此下面语句将导致编译错误 为了改正错误,将该字符串分成几个单独的子串,然后再用连接符(+) 将它们组合起来: ................

m0_62861781的博客 1301

JavaSE(二)之变量与常量、运算符、类型转换

一、常量   1.1、什么是常量   在程序执行的过程中其值不可以发生改变   1.2、常量的分类     字面值常量       字符串常量 用双引号括起来的内容   整数常量 所有整数    小数常量 所有小数   字符常量 用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号   布尔常量 较为特殊,只有true和false   空常量 nul...

weixin_30762087的博客 88

java编码基础规范

Java编码规范是保障代码质量与团队协作的重要基石。本规范基于行业标准与实践经验制定,旨在统一代码风格、强化可读性、提升系统健壮性。通过明确的命名约定、结构设计及注释要求,帮助开发者规避常见缺陷,降低维护成本。遵守本规范将有效促进代码复用、提高协作效率,为项目长期演进奠定坚实基础。

weixin_63181475的博客 1111

Java编程思想(第三章操作符)学习笔记

第三章:操作符 一、equals是默认比较引用 二、e代表“10的幂次” 三、移位操作符 只可以用来操作整数类型(byte,char,short会先转为int类型) 左移 << :将该数字的补码向左移动若干位,在低位补0。 有符号右移 >> :补码右移,正数插0,负数插1。 无符号右移>>> :补码右移,无论正负,均在高位插0。 四、类型转换操作符 ...

weixin_43646427的博客 202

结构体中的string自动初始化_编程体系结构(01):Java编程基础

一、数据类型1、基础类型整型:byte 、short 、int 、long 浮点型:float、double 字节型:char2、包装类型Byte,Short,Integer,Long Float,Double Character3、String字符常用方法 StringBuilder、StringBuffer4、类型转换自动转换:范围小类型->范围大类型 强制转换:范围大类型->范围...

weixin_39758618的博客 165
上一篇: 【java基础】自动递增和递减
lullcc
博客等级 码龄15年 3粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值