数据类型(使用与定义)
基本数据类型是CPU可以直接进行运算的类型,在算法直接被使用,主要包括:
整数类型:byte、short、int、long。
浮点数类型:float、double,用于表示小数。
字符类型:char,用于表示各种语言的字母、标点符号甚至表情符号等。
布尔类型:bool,用于表示true(是)与false(否)判断。
基本数据类型以二进制的形式存储在计算机中。
一个二进制位即为 1 比特。在绝大多数现代操作系统中,1 字节(byte)由 8 比特(bit)组成。
基本数据类型的取值范围取决于其占用的空间大小。下面以 Java 为例。
整数类型 byte
占用 1 字节 = 8 比特 ,可以表示 28 个数字。
整数类型 int
占用 4 字节 = 32 比特 ,可以表示 232 个数字。
基本数据类型的占用空间和取值范围
类型 | 符号 | 占用空间 | 最小值 | 最大值 | 默认值 |
---|---|---|---|---|---|
整数 | byte | 1 字节 | -128(-2^7) | 127(2^7-1) | 0 |
short | 2 字节 | -32768(-2^15) | 32767(2^15 - 1) | 0 | |
int | 4 字节 | -2,147,483,648(-2^31) | 2,147,483,647(2^31 - 1) | 0 | |
long | 8 字节 | -9,223,372,036,854,775,808(-2^63) | 9,223,372,036,854,775,807(2^63 -1) | 0L | |
浮点数 | float | 4 字节 | 0f | 符合IEEE754标准的浮点数,1.4E-45 ~ 3.4028235E38 | 0.0f |
double | 8 字节 | 0d | 符合IEEE754标准的浮点数,4.9E-324 ~ 1.7976931348623157E308 | 0.0 | |
字符 | char | 2 字节 | '\u0000' | \u0000 ~ \uffff(十进制等效值为 0~65535,本质也是数值) | 0 |
布尔 | bool | 1 字节 | false | true | false |
数据类型转换
自动类型转换(隐式转换)
自动类型转换是指 Java 在不丢失信息的情况下,自动将一种数据类型转换为另一种数据类型。这种转换通常发生在从小范围的数据类型转换到大范围的数据类型。例如,从`byte`转换到`int`,从`int`转换到`long`,从`float`转换到`double`等。
规则是按照数据类型的范围大小来进行转换,数据类型范围从小到大依次是`byte` < `short` < `int` < `long` < `float` < `double`。例如,当把一个`byte`类型的值赋给一个`int`类型的变量时,Java 会自动进行转换。
byte b = 10;int i = b; // 自动将byte类型的b转换为int类型并赋值给iSystem.out.println(i);
强制类型转换(显式转换)
强制类型转换是在可能丢失信息或者不符合自动转换规则的情况下,程序员明确要求 Java 进行的类型转换。这种转换通常用于将大范围的数据类型转换为小范围的数据类型,或者在不同类型但范围可能有重叠的数据类型之间转换(如int
和float
)。
规则是需要在要转换的数据前面加上目标数据类型的括号。但是要注意,这种转换可能会导致数据丢失或精度降低。例如,将一个double
类型的值转换为int
类型时,小数部分会被截断。
double d = 3.14;int j = (int)d; // 强制将double类型的d转换为int类型并赋值给jSystem.out.println(j);
在表达式中的类型转换
在包含多种不同数据类型的表达式中,Java 会根据一定的规则进行自动类型转换。一般来说,Java 会将所有的数据类型提升到表达式中最高的数据类型,然后进行计算。例如,在一个包含int
和double
的表达式中,int
会先被转换为double
,然后进行计算。
int num1 = 5;double num2 = 2.5;double result = num1 + num2; // num1会自动转换为double类型,然后与num2相加System.out.println(result);
总结:
隐含强制类型转换
-
整数的默认类型是 int。
-
小数默认是 double 类型浮点型,可以不用在数字后面添加D或者d;在定义 float 类型时必须在数字后面跟上 F 或者 f。
相关文章:
数据类型(使用与定义)
基本数据类型是CPU可以直接进行运算的类型,在算法直接被使用,主要包括: 整数类型:byte、short、int、long。 浮点数类型:float、double,用于表示小数。 字符类型:char,用于表示各种语言的字母…...
VMware:CentOS 7.* 连不上网络
1、修改网络适配 2、修改网卡配置参数 cd /etc/sysconfig/network-scripts/ vi ifcfg-e33# 修改 ONBOOTyes 3、重启网卡 service network restart 直接虚拟机中【ping 宿主机】,能PING通说明centOS和宿主机网络通了,只要宿主机有网,则 Ce…...
日志分析详解
文章目录 日志分析的概述日志分析的作用主要收集工具集中式日志系统主要特点采集日志分类ELK概述ELK收集日志的两种形式 搭建ELK平台安装部署docker添加镜像加速器安装部署Elasticsearch安装ElasticSearch-head(可选)运行容器页面无数据问题测试 安装Kib…...
【JavaWeb后端学习笔记】Maven项目管理
Maven 1、分模块设计2、Maven继承2.1 继承关系2.2 版本锁定 3、Maven聚合4、聚合与继承的关系 1、分模块设计 如果一个项目中含有大量的功能模块。可以考虑将这些功能分模块设计,逐一进行开发。例如将公共类可以定义在一个项目中,将通用工具类也放在一个…...
Docker--Docker Container(容器) 之 操作实例
容器的基本操作 容器的操作步骤其实很简单,根据拉取的镜像,进行启动,后可以查看容器,不用时停止容器,删除容器。 下面简单演示操作步骤 1.创建并运行容器 例如,创建一个名为"my-nginx"的交互…...
Android前端签到web迁移到rust的axum的过程-签到的重构
本次变更了以下内容: 为了使用之前ip2sta的ip到端点名的python,dic变量,将其存入redis hashset.使用地址/api/ip2dic 手动执行之.并且定义在/station/init,这个每天初始化redis的路径下.在rust axum的route中定义/sta/ip2dic,用来得到redis字典的内容,包含值和键.在前端的人名…...
用户认证系统登录界面
下面是使用HTML和JavaScript实现的一个中文版登录界面,包含登录、注册和修改密码功能。注册成功后会显示提示信息,在登录成功后进入一个大大的欢迎页面。 1.代码展示 <!DOCTYPE html> <html lang"zh-CN"> <head><meta …...
Redis从入门到进阶(总结)
以下内容均以CentOS7为背景。 一、Redis安装及启动 mysql(读:2000/s;写:600/s) redis(读:10w/s;写:8w/s)通过官方给出的数据单机并发可以达到10w/s…...
【D3.js in Action 3 精译_044】5.1 饼图和环形图的创建(四):数据标签的添加
当前内容所在位置: 第五章 饼图布局与堆叠布局 ✔️ 5.1 饼图和环形图的创建 ✔️ 5.1.1 准备阶段(一)5.1.2 饼图布局生成器(二)5.1.3 圆弧的绘制(三) ✔️5.1.4 数据标签的添加(四&…...
Linux的基本功能和命令
Linux的基本功能和命令 切换目录 pwd 查询当前目录地址 cd /xxx/xxx 转到目录 cd …/ 回到上一级目录 cd ./ 当前目录 创建、删除文件/文件夹 创建文件\文件夹 touch filename 创建空文件mkdir 创建目录 mkdir -p 目标目录存在也不报错mkdir -p xxx/xxx 递归创建目录…...
【Spark】Spark的两种核心Shuffle工作原理详解
Spark 的shuffle机制 一、Spark ShuffleManager 发展历程 Spark 1.1.0 之前 在 Spark 1.1.0 之前,Spark 使用 BlockStoreShuffleFetcher 来处理 Shuffle 操作。这个实现主要依赖于直接从 BlockManager 获取 Shuffle 数据,并通过网络进行交换。 Spark …...
TCP 的文化内涵
从历史和文化内涵的视角看 TCP 协议的优势和局限,这些都刻在基因里。节约和经济获得向下兼容,但这也意味着它没有浪费带宽的本意,任何相左的优化策略终将遇到无法解决的困难,大致就这样,这为设计新协议提了意见&#x…...
ASP.NET |日常开发中读写XML详解
ASP.NET |日常开发中读写XML详解 前言一、XML 概述1.1 定义和结构1.2 应用场景 二、读取 XML 文件2.1 使用XmlDocument类(DOM 方式)2.2 使用XmlReader类(流方式) 三、写入 XML 文件3.1 使用XmlDocument类3.2 使用XmlWr…...
Less和SCSS,哪个更好用?
前言 Less 和 SCSS 都是流行的 CSS 预处理器,它们的目的都是扩展 CSS 的功能,使样式表更具组织性、可维护性和可重用性。虽然它们有许多相似之处,但在语法、特性和工作方式上也存在一些差异。 Less Less 是一种动态样式表语言,…...
第一个C++程序--(蓝桥杯备考版)
第一个C程序 基础程序 #include <iostream>//头⽂件 using namespace std;//使⽤std的名字空间 int main()//main函数 {cout << "hello world!" << endl; //输出:在屏幕打印"hello world!" return 0;}main函数 main 函数是…...
NanoLog起步笔记-7-log解压过程初探
nonolog起步笔记-6-log解压过程初探 再看解压过程建立调试工程修改makefile添加新的launch项 注:重新学习nanolog的README.mdPost-Execution Log Decompressor 下面我们尝试了解,解压的过程,是如何得到文件头部的meta信息的。 再看解压过程 …...
【MySQL 进阶之路】基础语法及优化技巧
MySQL DML 基础语法及优化技巧 一、DML(数据操作语言)概述 DML 是数据库操作语言的子集,用于数据的增、删、改、查四个基本操作。MySQL 中的 DML 操作通常是指以下四种基本操作: INSERT:插入数据SELECT:…...
微信小程序做电子签名功能
文章目录 最近需求要做就记录一下。 人狠话不多,直接上功能: 直接搂代码吧,复制过去就可以用,有其他需求自己改吧改吧。 signature.wxml <!-- 电子签名页面 --> <custom-navbar title"电子签名"show-home"{{fals…...
PR的选择与移动
选择工具 可以选择序列上的剪辑,如果需要多选可以按住shift键选中多个剪辑 CtrlA:可以进行全选 编组 选中多个剪辑后“右键-编组“可以将所选的剪辑连接在一起。这时单击任意剪辑都可以选中全部 向前选择轨道工具与向后选择轨道工具 向前选择轨道工具…...
Linux系统 —— 进程系列 - 进程状态 :僵尸与孤儿
目录 1. 进程状态的概念 1.1 课本上的说法:名词提炼 1.2 运行,阻塞和挂起 1.2.1 什么叫做运行状态(running)? 1.2.2 什么叫做阻塞状态(sleeping)? 1.2.3 什么叫做挂起状态&…...
linux/centOS7用户和权限管理笔记
linux系列中可以: 配置多个用户配置多个用户组用户可以加入多个用户中 linux中关于权限的管理级别有2个级别,分别是: 针对用户的权限控制针对用户组的权限控制 一,root用户 root用户拥有最大的系统操作权限,而普通…...
使用C#基于ADO.NET编写MySQL的程序
MySQL 是一个领先的开源数据库管理系统。它是一个多用户、多线程的数据库管理系统。MySQL 在网络上特别流行。MySQL 数据库可在大多数重要的操作系统平台上使用。它可在 BSD Unix、Linux、Windows 或 Mac OS 上运行。MySQL 有两个版本:MySQL 服务器系统和 MySQL 嵌入…...
Scala函数的泛型
package hfd //泛型 //需求:你是一个程序员,老板让你写一个函数,用来获取列表中的中间元素 //List(1,2,3,4,5)>中间元素的下标长度/2 >3 //getMiddleEle object Test38_5 {def print1():Unit{println(1)}def print2(): Unit {println(…...
云轴科技ZStack亮相中国生成式AI大会上海站 展现AI Infra新势力
近日,以“智能跃进,创造无限”为主题的2024中国生成式AI大会在上海举办。本次大会由上海市人工智能行业协会指导,智东西、智猩猩共同发起,邀请了人工智能行业的顶尖嘉宾汇聚一堂,以前瞻性视角解构和把脉生成式AI的技术…...
态感知与势感知
“态感知”和“势感知”是两个人机交互中较为深奥的概念,它们虽然都与感知、认知相关,但侧重点不同。下面将从这两个概念的定义、区分以及应用领域进行解释: 1. 态感知 态感知通常指的是对事物当前状态、属性或者内在特征的感知。它强调的是在…...
汽车零部件设计之——发动机曲轴预应力模态分析仿真APP
汽车零部件是汽车工业的基石,是构成车辆的基础元素。一辆汽车通常由上万件零部件组成,包括发动机系统、传动系统、制动系统、电子控制系统等,它们共同确保了汽车的安全、可靠性及高效运行。在汽车产业快速发展的今天,汽车零部件需…...
谷歌浏览器的网页数据导出与导入方法
谷歌浏览器是全球最受欢迎的网络浏览器之一,它不仅提供了快速、安全的浏览体验,还拥有丰富的功能和扩展程序。本文将详细介绍如何在Chrome浏览器中导出和导入网页数据,同时涵盖一些相关的实用技巧,如调试JavaScript、自动填充表单…...
pytroch环境安装-pycharm
环境介绍 安装pycharm 官网下载即可,我这里已经安装,就不演示了 安装anaconda 【官网链接】点击下载 注意这一步选择just me 这一步全部勾上 打开 anaconda Prompt 输入conda create -n pytorch python3.8 命令解释:创建一个叫pytorch&…...
【大模型】PostgreSQL是向量数据库吗
PostgreSQL(通常简称为 Postgre)本身并不是一个专门的向量数据库,但它可以通过扩展或插件支持向量数据的存储、检索和处理,因此可以在某些场景下作为向量数据库使用。以下是关于 PostgreSQL 是否可以作为向量数据库的详细说明&…...
【PyQt5教程 一】Qt Designer 安装及其使用方法说明,附程序源码
目录 一、PyQt5介绍: (1)PyQt简介: (2)PyQt API: (3)支持的环境: (4)安装: (5)配置环境变量…...
wordpress 访问统计/排名优化网站seo排名
浮点型在内存中的存储分布方式因机器平台而异,完全理解所有机器平台中的浮点型存储无疑是一件相当麻烦的事。幸运的是,大多机器平台都遵守 IEEE-754 标准,很可能读者和我使用的平台正是使用的 IEEE-754 标准。计算机是如何存储浮点数的呢&…...
高端网站建设域名注册/汕头网站设计公司
p2p思路适应安卓,iOS,web一.SDP配置顺序1.本地PC设置生成offer sdp [localPC offerForConstraints:constraints completionHandler:^(RTCSessionDescription * _Nullable sdp, NSError * _Nullable error) { }];复制代码将生成sdp通过信令发送给远端并设…...
常州专业网站建设公司咨询/怎么在百度上推广产品
Linux Read ACPI Table Tools.ACPI tools的安装:#yum install acpica-tools或者到下面链接下载源码:下面示例是解析SSDT1表的步骤。#acpidump -o ACPI_table.out#acpixtract -a ACPI_table.outIntel ACPI Component ArchitectureACPI Binary Table Extra…...
刚察县公司网站建设/seo整站优化哪家专业
原文:Introduction to Android Fragments Tutorial 作者:Huyen Tue Dao 译者:kmyhy 一个 fragment 可以是任何东西,但在本文中,它是一个代码模块,保存有一个 activity 的部分 UI 和行为。正如其名所指&am…...
网站404错误来源/淄博seo培训
参数为-1,就是自动按其前一个参数进行转换。 数组新的shape属性应该要与原来的配套,如果等于-1的话,那么Numpy会根据剩下的维度计算出数组的另外一个shape属性值。 举几个例子或许就清楚了,有一个数组z,它的shape属性…...
全球网站域名/关键词排名优化系统
hashMap源码获取元素的位置: static int indexFor(int h, int length) {// assert Integer.bitCount(length) 1 : "length must be a non-zero power of 2";return h & (length-1); } 解释: h:为插入元素的hashcode length:为map的容量…...