当前位置: 首页 > news >正文

[001-02-018].第05节:数据类型及类型转换

我的后端学习大纲

我的Java学习大纲


1、数据类型介绍:

1.0.计算机存储单位:

在这里插入图片描述

1.1.基本数据类型介绍:

a.整型:byte、short、int、long

  • 1.整型包括:byte、short、int、long,可如下图方式类比记忆:
    在这里插入图片描述
  • 2.Java各整数类型有固定的表数范围和字段长度不受具体OS的影响,以保证java程序的可移植性
  • 3.java的整型常量默认为 int 型声明long型常量须后加‘l’或‘L’
  • 4.java程序中变量通常声明为int型,除非不足以表示较大的数,才使用long

在这里插入图片描述

  • 5.bit: 计算机中的最小存储单位。byte:计算机中基本存储单元
  • 6.代码测试:
    在这里插入图片描述

b.浮点类型:float、double

  • 1.与整数类型类似,Java 浮点类型也有固定的表数范围和字段长度,不受具体操作系统的影响,用来表示待小数点的数值
    在这里插入图片描述
  • 2.浮点型常量有两种表示形式:
    • 十进制数形式:如:5.12 512.0f .512 (必须有小数点)
    • 科学计数法形式:如:5.12e2 512E2 100E-2
  • 3.float:单精度,尾数可以精确到7位有效数字。很多情况下,精度很难满足需求
  • 4.double:双精度,精度是float的两倍。通常采用此类型
  • 5.Java 的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’

c.字符类型:char

  • 1.char 型数据用来表示通常意义上“字符”(2字节)

  • 2.Java中的所有字符都使用Unicode编码,故一个字符可以存储一个字母,一个汉字,或其他书面语的一个字符

  • 3.字符型变量的三种表现形式:

    • 形式1:字符常量是用单引号(‘ ’)括起来的单个字符,例如:char c1 = 'a'; char c2= '中'; char c3 = '9';
    • 形式2:直接使用 Unicode 值来表示字符型常量:‘\uXXXX’。其中,XXXX代表一个十六进制整数。如:\u000a 表示 \n。
    • 形式3:Java中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。 例如:char c3 = ‘\n’; '\n'表示换行符
      在这里插入图片描述
  • 4.char类型是可以进行运算的。因为它都对应有Unicode码

d.布尔类型:boolean

  • 1.boolean 类型用来判断逻辑条件,一般用于程序流程控制:
    • if条件控制语句;
    • while循环控制语句;
    • do-while循环控制语句;
    • for循环控制语句;
  • 2.boolean类型数据只允许取值true和false,无null
    • 不可以使用0或非 0 的整数替代false和true,这点和C语言不同
    • Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达所操作的
      boolean值,在编译之后都使用java虚拟机中的int数据类型来代替true用1表示,false用0表示
  • 3.一般不谈boolean类型占用空间大小,但是真正在内存中分配的话是占用4个字节

1.2.引用数据类型介绍:

a.字符串String类型:

  • 1.String类型是属于引用数据类型
  • 2.使用方式与基本数据类型一致。例如:String str = “abcd”使用双引号;
  • 3.String类型可以与基本的8种数据类型进行计算,计算是属于连接计算,其实就是说:当把任何基本数据类型的值和字符串(String)进行连接运算时(+)基本数据类型的值将自动转化为字符串(String)类型
    在这里插入图片描述

b.练习题:

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


2、基本数据类型变量间运算规则

在Java程序中,不同的基本数据类型(只有7种,不包含boolean类型)变量的值经常需要进行相互转换
转换的方式有两种:自动类型提升强制类型转换

2.1.基本数据类型变量的自动类型提升:

a.提升规则:

  • 1.规则:将取值范围小(或容量小)的类型自动提升为取值范围大(或容量大)的类型 ,这里的容量大小指的是表示的数的范围大和小
    在这里插入图片描述
  • 2.基本数据类型的转换规则如下图所示:数据类型按容量大小排序为:byte,char,short-->int-->long-->float-->double;
    在这里插入图片描述
  • 3.测试:
    在这里插入图片描述

b.注意事项:

  • 1.byte,short,char之间不会相互转换,或者她们自己跟自己之间的转换,他们三者都会在计算时首先转换为int类型
  • 2.基本数据类型的转换包括7中基本数据类型变量间的运算。不包括boolean类型,boolean类型不能与其它数据类型运算
  • 3.当把任何基本数据类型的值和字符串(String)进行连接运算时(+),基本数据类型的值将自动转化为字符串(String)类型

2.2.基本数据类型变量的强制类型转换:

a.强制转换规则:

  • 1.强制类型转换是:自动提升类型转换的逆运算,将容量大的类型转换成容量小的类型,强制类型转换的时候,可能会导致导致精度损失

b.转换语法:

  • 数据类型1 变量名 = (数据类型1)被强转数据值; //()中的数据类型必须<=变量值的数据类型

c.转换格式:

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

2.3.类型转换练习:

  • 1.判断下面是否可以编译通过:
    在这里插入图片描述

3.进制转换:

3.1.进制的分类:

  • 1.所有数字在计算机底层都以二进制形式存在
  • 2.对于整数,有四种表示方式:
    • 二进制(binary):0,1 ,满2进1.以0b或0B开头
    • 十进制(decimal):0-9 ,满10进1。
    • 八进制(octal):0-7 ,满8进1. 以数字0开头表示
    • 十六进制(hex):0-9及A-F,满16进1. 以0x或0X开头表示。此处的A-F不区分大小写。如:0x21AF +1= 0X21B0

3.2.进制的表示:

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

3.3.二进制介绍:

a.二进制概述:

  • 1.Java整数常量默认是int类型,当用二进制定义整数时,其第32位是符号位;当是long类型时,二进制默认占64位,第64位是符号位

b.二进制的整数有如下三种形式:

  • 原码:直接将一个数值换成二进制数。最高位是符号位
  • 负数的反码:是对原码按位取反,只是最高位(符号位)确定为1。
  • 负数的补码:其反码加1
  • 注意:计算机以二进制补码的形式保存所有的整数;正数的原码、反码、补码都相同负数的补码是反码+1

c.为什么要使用原码、反码、补码表示形式呢?

  • 1.计算机辨别“符号位”显然会让计算机的基础电路设计变得十分复杂! 于是人们想出了将符号位也参与运算的方法. 我们知道, 根据运算法则减去一个正数等于加上一个负数, 即: 1-1 = 1 + (-1) = 0 , 所以机器可以只有加法而没有减法, 这样计算机运算的设计就更简单了。
    在这里插入图片描述

3.4.进制的转换:

a.二进制转十进制:

  • 案例1
    在这里插入图片描述
  • 案例2:给出的二进制码默认是补码,然后我们根据补码来推出表示的十进制数是多少:
    在这里插入图片描述
  • 案例3:-128二进制表示:
    在这里插入图片描述

b.十进制转二进制:

在这里插入图片描述

c.二进制转八进制:

在这里插入图片描述

d.二进制转十六进制

在这里插入图片描述

e.java中的十进制转换成其他进制的api:

在这里插入图片描述


相关文章:

[001-02-018].第05节:数据类型及类型转换

我的后端学习大纲 我的Java学习大纲 1、数据类型介绍&#xff1a; 1.0.计算机存储单位&#xff1a; 1.1.基本数据类型介绍&#xff1a; a.整型&#xff1a;byte、short、int、long 1.整型包括&#xff1a;byte、short、int、long&#xff0c;可如下图方式类比记忆&#xff1…...

Netty基础

Netty基础 一级目录I/O请求基础知识Netty如何实现自己的I/O模型 网络框架的选型 Netty整体架构Netty逻辑处理架构网络通信层事件调度层服务编排层 组件关系梳理Netty源码结构 netty是目前最流行的一款高性能java网络编程框架&#xff0c;广泛使用于中间件、直播、社交、游戏等领…...

602,好友申请二:谁有最多的好友

好友申请二&#xff1a;谁有最多的好友 实现 with tmp as (selectrequester_id idfrom RequestAcceptedunion allselectaccepter_id idfrom RequestAccepted )selectid,count(*) num from tmp group by id order by num desc limit 1;...

【Matlab算法MATLAB实现的音频信号时频分析与可视化(附MATLAB完整代码)

MATLAB实现的音频信号时频分析与可视化 前言正文:时频分析实现原理代码实现代码运行结果图及说明结果图:结果说明:总结前言 音频信号的时频分析是信号处理领域中的一个重要研究方向。它允许我们同时观察信号在时间和频率域的特性,为音频处理、语音识别、音乐分析等应用提供…...

界面耻辱纪念堂--可视元素03

更多的迹象表明&#xff0c;关于在程序里使用新的动态界面元素&#xff0c;微软的态度是不确定的&#xff0c;其中一个是仅仅需要对比一下Office97 里的“Coolbars”和“标准工具条”。Coolbar 按钮直到用户指针通过的时候才成为按钮&#xff08;否则是平的&#xff09;。 工具…...

国产龙芯处理器选择迅为2K1000开发板有资料

硬件配置国产龙芯处理器&#xff0c;双核64位系统&#xff0c;板载2G DDR3内存&#xff0c;流畅运行Busybox、Buildroot、Loognix、QT5.12 系统!接口全板载4路USB HOST、2路千兆以太网、2路UART、2路CAN总线、Mini PCIE、SATA固态盘接口、4G接口、GPS接口WIF1、蓝牙、Mini HDMI…...

MySQL 命令(持续更新)

将 MySQL 命令结果输出到文件中 通过 k8s MySQL pod 里的客户端连接到 MySQL 服务器 kubectl exec mysql-pod -- mysql -hx.x.x.x -uroot -proot -e SELECT * FROM db.table; > result.txt通过 k8s MySQL pod 的客户端连接 MySQL 服务器&#xff0c;直接进入到 MySQL 客户端…...

Linux下Docker方式Jenkins安装和配置

一、下载&安装 Jenkins官方Docker仓库地址&#xff1a;https://hub.docker.com/r/jenkins/jenkins 从官网上可以看到&#xff0c;当前最新的稳定版本是 jenkins/jenkins:lts-jdk17。建议下在新的&#xff0c;后面依赖下不来 所以&#xff0c;我们这里&#xff0c;执行doc…...

低代码框架参考

企业管理信息系统作为一类重要的应用软件系统&#xff0c;具有自己的特点&#xff0c;主要有两个方面&#xff1a; 1. 系统规模大&#xff0c;目前市场上常见的ERP系统一般都有几千个页面。 2. 页面逻辑相似性强。经过比较可以发现&#xff0c;大部分页面具有类似的功能&…...

2024 年 9 月区块链游戏研报:行业回暖,Telegram 游戏引发热潮

作者&#xff1a;Stella L (stellafootprint.network) 数据来源&#xff1a;Footprint Analytics Games Research Page 9 月份&#xff0c;区块链游戏代币的市场总值增长了 29.2%&#xff0c;达到 232 亿美元&#xff0c;日活跃用户&#xff08;DAU&#xff09;数量上升了 1…...

python爬虫登录校验之滑块验证、图形验证码(OCR)

在爬虫过程中&#xff0c;验证码和滑块验证是常见的反爬措施。针对这些挑战&#xff0c;通常采用OCR识别图形验证码和模拟滑块拖动来处理滑块验证。以下是如何处理这两种类型验证的详细方法。 1. 图形验证码&#xff08;OCR&#xff09; a. 使用 tesserocr 和 Pillow 处理图形…...

(一)Python程序结构

1、Python写模块 使用缩进分层来写模块&#xff1b; 2、缩进规范 最好使用同一种缩进方式&#xff0c;统一使用tab或者空格键&#xff1b; 3、换行符&#xff1a;\n&#xff1b; print("窗前明月光\n疑似地上霜") 4、续行符号&#xff1a;\&#xff1b; 注意1…...

二叉树——相同的树

还是应用递归的思想&#xff0c;将这个问题拆分为三个部分&#xff0c;第一&#xff1a;当两棵树均为空树&#xff0c;或者访问到最后的子树时均为空树时&#xff0c;则返回true。第二&#xff1a;当两棵树中其中一棵树为空树&#xff0c;另一棵树不是空树&#xff0c;证明两棵…...

探秘 1688 商品详情接口:高并发批量采集的实战攻略

在进行 1688 商品详情接口批量采集并考虑高并发使用时&#xff0c;你可以从以下几个方面着手&#xff1a; 一、技术选型 选择合适的编程语言和框架&#xff1a;例如 Python 的 Scrapy 框架或者 Java 的 Spring Boot 结合相关爬虫库等&#xff0c;这些工具可以帮助你高效地实现…...

【C语言】sizeof

tmp_buf = (char *)malloc(size)不可以直接使用`sizeof`来查看动态分配内存的大小。在C语言中,`sizeof`操作符是在编译时确定类型或对象的大小,并不能用于动态获取malloc分配的内存大小。 下面解释为什么不能用`sizeof(tmp_buf)`查看动态分配的内存大小: 1. 编译时 vs 运行时…...

2024-10-15 问AI: [AI面试题] 人工智能中使用了哪些不同的搜索算法?

文心一言 人工智能中使用了多种不同的搜索算法来解决问题&#xff0c;这些算法各有特点&#xff0c;适用于不同的场景和问题类型。以下是一些常见的人工智能搜索算法&#xff1a; 深度优先搜索&#xff08;DFS&#xff09;&#xff1a; 是一种基于树或图的搜索算法。核心思想是…...

2024 年 04 月编程语言排行榜,PHP 排名创新低?

编程语言的流行度总是变化莫测&#xff0c;每个月的排行榜都揭示着新的趋势。2024年4月的编程语言排行榜揭示了一个引人关注的现象&#xff1a;PHP的排名再次下滑&#xff0c;创下了历史新低。这种变化对于PHP开发者和整个技术社区来说&#xff0c;意味着什么呢&#xff1f; P…...

Element中el-table组件设置max-height右侧出现空白列的解决方法

之前就出现过这个情况&#xff0c;没理过&#xff0c;因为不影响啥除了不美观...但今天看着实在是难受&#xff0c;怎么都不顺眼(可能是我自己烦躁--) 试了很多网上的方法&#xff0c;都不得行&#xff0c;后面发现了这篇文章&#xff0c;解决了! 感谢&#xff01; Element中t…...

unity学习-全局光照(GI)

在全局光照&#xff08;Lighting&#xff09;界面有两个选项 Realtime Light&#xff08;实时光照&#xff09;&#xff1a;在项目中会提前计算好光照以及阴影的程序&#xff0c;当你需要调用实时全局光照的时候会将程序调用出来使用 Mixed Light&#xff08;烘焙光照&#x…...

记录Centos7 漫漫配置路

记录Centos7 漫漫配置路 一、 配置源二、 clinfo三、 PCL 配置1. 依赖2. eigen3. boost4. flann5. pcl 四、YAML-CPP五、 miniconda 安装 python3.6 和 pytorch六、libbot 配置1. 容易安装的依赖2. 需要源码安装的依赖3. [libbot](https://github.com/libbot2/libbot2) 简单地说…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作&#xff1a; 1&#xff09;、切换集群 2&#xff09;、切换节点 3&#xff09;、切换到 apparmor 的目录 4&#xff09;、执行 apparmor 策略模块 5&#xff09;、修改 pod 文件 6&#xff09;、…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

USB Over IP专用硬件的5个特点

USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中&#xff0c;从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备&#xff08;如专用硬件设备&#xff09;&#xff0c;从而消除了直接物理连接的需要。USB over IP的…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南&#xff1a;从入门到实战 一、Grunt 是什么&#xff1f; Grunt是一个基于 Node.js 的前端自动化任务运行器&#xff0c;主要用于自动化执行项目开发中重复性高的任务&#xff0c;例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在&#xff0c;通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战&#xff0c;比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...