初识java-基本数据类型

java实现自定义BOOL类型(附完整源码) 阅读详情

大家好,我们今天来聊聊java的基本数据类型

直接进入主题  java有八种数据类型分别是:整数类型(byte  short  int  long  )、浮点类型(float  double  )、字符数据类型(char  )、布尔数据类型(boolean)

相信大家应该已经在c语言中学习了其中大部分了吧。那么我们从java的方面看看他们有什么不同

1.整形类型

int :它同c语言一样在java中也占据了4个字节,也就是32个比特位,那么他能存储的数据也就是-2^31---2^31-1,为什么呢,因为它的最高位是符号位,那么剩下的31位就可以用来存储数据了,有些人可能会问,那不是2^31次方吗,怎么还要-1呢?因为还有全0啊,那为什么负数不用-1呢?我们知道,正负数存储是通过补码储存,正数的原反补都是一样的,而假设负数补码码是10000000 00000000 00000000 00000000,那么反码就是-1,那么就变成了01111111 11111111 11111111 11111111,原码就是符号位不变,其他位按位取反(这里由于是负数,符号位还是看1),原码就是:10000000 00000000 00000000 00000000,我们认为这不是-0吗?是的,但要保证唯一性,已经由前面的整数中符号位是0表示了,所以计算机把他表示为最小负数也就是-2^31,你知道了吗?

byte:他是c语言中没有的数据类型,占据了1个字节,所以同int中的分析我们就可以知道,byte中最多只能存储-2^8---2^8-1的数字,他一般用于算法中的特殊情况,当然,还能节省很多空间。

short:在c语言中,他占据四个字节,可是在java中,它只占据2个字节,同理范围是-2^16---2^16-1

它相比于int更省空间,有时也会用在数据结构中进行特殊算法。

long:占据8个字节,同理范围是-2^64---2^64-1,能存储更大的数据,在有些牛客网或者leetcode中可以试试呢?它在定义时可以在数字后面加上L。

2.浮点数据类型

float:占有4个字节,它的写法在java中有点不同,它在定义时要加上f,(看图),否则就会报错,说到这,我们就要了解一下java了,它是一个比较安全的编程,就比如刚刚那个语法,在c语言中可以编译过去,但在java中不能编译,为什么呢?因为1.0默认为double类型,double占有64比特位,而float只占有32个比特位,那64位的能放到32位下面吗?答案是不能,那么有人会问了,这不是放得下吗?这就是为什么说java是安全的,语法限制你不能放就是不能放,相同的,long也不能放在int 或 short中。

3.字符类型

char:它不同于c语言,它占用两个字节,仅此而已,其他一般就和c语言差不多了。

4.布尔类型

boolean:在c语言中,我们也见过bool只是写法不同,boolean存储的是ture和false,是用来判断的。ture就是真,false就是假。它不能赋值给某个。

那么讲讲类型转换吧,前面提到double不能赋值给float,long不能赋值给int,我们可以强制类型转换

如图,我们定义了一个int类型的a,并且赋初始值10,后面想把a给到short类型的b,第二行中划红线了,表示编译错误,因为是我们前面讲到的,而第三行却又可以赋值给类型short 定义的c,因为我们强制类型转化了。将a强制转换成short给c,那么是永久转换成了short了吗?答案是不是得。

可以看到我们定义了short的d依旧报错,所以只是暂时转换成了short并且赋值给了c。

当然强制类型转换也是有不好的,比如float转换成int之类的整形,会有数据丢失,只留下了整数的那部分。并且可能会出现溢出,就出现了我们预想之外的结果。

我们看下这段代码的结果会是什么呢?

接下来揭晓正确答案。

为什么是-128呢?我们先来记下一个图

byte类型前面讲到是-128-127之间可以储存,超出了就看这张图,当我们赋值给到了128,比127大1,也就是127+1就跳到了-128,。

所以强制类型转换时有风险的,要对数据类型和存储有一定了解才能熟练使用。

那么今天的讲解就到这里,快快消化一下,并且叫上你的小伙伴来学习吧。

YOLO26改进105:全网首发--使用BiFPN改进特征金字塔网络 YOLOv6 v3.0在目标检测领域实现重大突破,通过改进网络架构和训练方案显著提升性能。该版本在COCO数据集上展现出优越表现:YOLOv6-N达到37.5% AP/1187 FPS,YOLOv6-S实现45.0% AP/484 FPS,均超越同类检测器。大模型YOLOv6-M/L分别达到50.0%/52.8% AP,L6版本更创下实时检测新纪录。关键技术包括RepVGGBlock、BiFusion等新型模块,通过多分支融合和高效重参数化设计提升性能。研究团队已验证各改进模块有效性,代码已开源。 阅读详情

相关推荐

基于反相器的超声波发生和气泡检测电路

本文主要介绍了关于超声波的两种电路——基于反相器的振荡电路和基于逻辑们的气泡检测电路

xehagy的博客 1959

Java 布尔类型

Java对逻辑值有一个布尔类型。这是所有关系运算符返回的类型。 值 它只能有两个可能的值之一,true或false。 字面值 布尔字面值只有两个逻辑值:true和false。true和false的值不转换为任何数字表示。 Java中的 true 字面值不等于1,false字面值也不等于0.在Java中,它们只能分配给声明为boolean的变量。(与C++不同,C++中布尔值有字面值) 布尔类 在对象中封装了一个基本类型布尔值。 Boolean 类型的对象包含一个...

Obito_TXP的博客 424

/proc/sys/vm/max_map_count耗尽时,调用glibc 2.11.3 free()导致程序crash,问题追踪和解决

1. 问题 在客户环境下,当我们的程序消耗较大内存时,会偶尔crash。 通过gdb分析,程序core dump在malloc/free函数内。 当把/proc/sys/vm/max_map_count 从65530增加到131070,程序再也不crash。 相关命令 echo 131073 > /proc/sys/vm/max_map_count 2.  core

万大胖博客,苦并快乐着 4430

java中bool_java中boolean用法

展开全部boolean是java中的布尔型(逻辑型)数据类型,在java中boolean值只能是true和false,而不能用0和1代替,并且一定要62616964757a686964616fe59b9ee7ad9431333366306433小写。布尔值 true 代表“真”,false 代表“假”。一般关系运算符会返回布尔值的结果。另外,数值的 0、-0、特殊值的 null、NaN、undef...

weixin_42318030的博客 7643

以太网传输硬件设计大全

1.网线的介绍RJ45由插头和插做组成,也就是我们常说的网口和网线。RJ45 网线插头又称水晶头,共有八芯做成。RJ45网络传输线分为直通线、交叉线和全反线。直通线用于异种网络设备之间的互连,例如,计算机与交换机。交叉线用于同种网络设备之间的互连,例如,计算机与计算机。全反线用于超级终端与网络设备的控制物理接口之间的连接。下面将介绍一下各线的作用和区别。1.直通线:又叫正线或标准线,两端采用568B做线标准,注意两端都是同样的线序且一一对应。直通线是应用最广泛,现在最常用的线。

weixin_45365488的博客 6750

uniapp+openlayers集成天地图实战:renderjs通信陷阱与性能优化避坑指南

本文深入探讨了uniapp与openlayers集成天地图时的renderjs通信陷阱与性能优化策略。通过实战案例解析了renderjs的特殊通信机制、地图实例生命周期管理、图层懒加载等关键技巧,帮助开发者避免常见坑点,提升应用流畅度。特别针对多语言切换、热重载偏移等疑难问题提供了解决方案,是uniapp+openlayers开发者的实用避坑指南。

weixin_30872157的博客 362

java中bool的用法_java中boolean的用法

描述boolean 数据类型 boolean 变量存储为 8 位(1 个字节)的数值形式,但只能是 True 或是 False。当作为一个构造函数(带有运算符 new)调用时,Boolean() 将把它的参数转换成一个布尔值,并且返回一个包含该值的 Boolean 对象。如果作为一个函数(不带有运算符 new)调用时,Boolean() 只将把它的参数转换成一个原始的布尔值,并且最终返回这个值。b...

weixin_28221255的博客 1万+

ubuntu20.04搭建QGC4.2编译环境

QGC 4.2ubuntu18.04也可以编译QGC4.2,但是由于GLBC版本较低,无法使用最新版的QTCreator,Ubuntu20.04可以使用最新版QTCreator。

超维空间科技的博客 1万+

2、数据类型

布尔、字节、数字、字符串

阿牧路泽 1315

在MATLAB中将C语言代码转化为可执行的mexw64文件

这样,您可以将高效的C语言算法集成到MATLAB环境中,以便更好地利用MATLAB的功能和特性。请记住,在使用mex转换C语言代码之前,您需要正确编写和测试C语言代码,并确保它与MATLAB的mex接口兼容。MATLAB是一种功能强大的数值计算软件,它提供了一个机制,可以将C语言代码转化为MATLAB可执行的mexw64文件。在上述命令中,"-output"选项指定生成的mex文件的名称,"myfunction"是您选择的名称,"myfunction.c"是要编译的C语言源文件。步骤1:编写C语言代码。

CodeRoarX的博客 1427

语音识别:PyAudio、SoundDevice、Vosk、openai-whisper、Argos-Translate、FunASR(Python)

本文介绍了Python中常用的音频处理库PyAudio,详细解析了其核心功能、核心概念和典型工作流程。PyAudio是一个跨平台的音频I/O库,支持音频录制、播放、实时流处理和低延迟操作。核心概念包括PyAudio类(管理音频设备和流)和Stream类(代表音频流)。文章重点讲解了open()方法的关键参数、回调函数的使用方式以及典型的工作流程,包括设备查询、流配置和资源释放。PyAudio适用于需要实时音频处理的场景,如语音识别和音频效果处理。

算法工程师 706

Java基本数据类型初识

基本数据 数据类型 首先,什么是数据类型呢? 我们来解释一下,数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。例如,大胖子必须睡双人床,就给他双人床,瘦的人单人床就够了。 那么,数据类型的目的是什么呢? (1)为了限制当前变量当中所存储的数据。 (2)为了限制当前变量空间的大小。 其次,数据类型分为哪几种呢...

cyfzq0703的博客 378

搞定ESD(四):ESD干扰耦合路径深入分析(二)

静电放电过程中静电干扰主要通过三种间接耦合方式干扰敏感源,即电场耦合、磁场耦合、地弹。前文已经深入分析了静电放电过程中的电场耦合,今天就谈谈静电放电过程中的磁场耦合,也可以理解环路耦合。熟话说的好〝人往高处走,水往低处流〞,静电电流也会选择阻抗最低的路径返回到源端。静电电流流会源端的路径实际上就构成了电流环路,当敏感信号形成的电流环路与静电电流环路存在共环路时,就会将静电放电干扰耦合到敏感信号环路内,干扰敏感信号。

记得诚 2796

初识java基本数据类型

初识java 1.了解了java运行的过程 首先创建一个Hello.txt文档,编写代码后修改后缀为.java文件,然后在命令窗口进入文件所在位置,javac Hello.java,运行后会生成一个Hello.class文件,最后在命令界面 java Hello 直接运行即可 2.java语言对于大小写非常敏感,同时所有的类必须首字母大写 java标识符必须以字母A-Z,a-z或者美元符,下划线_ 开始 3.java基本数据类型 整数型: byte 8位(-128到127 ) short 16位

买米当卡的博客 816

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Java初识——基本数据类型、数据类型转换

Java简单介绍 Java语言是美国Sun(Stanford University Network)公司于1995年推出的高级编程语言。之前所学的C语言是面向过程编程,而java则是一种面向对象的编程语言。 面向过程与面向对象 面向过程:在进行编程时通常以函数作为最小单位,是怎么做。通俗讲,面向过程就是做一件事的具体步骤是什么,是一步步实现的过程。 举个例子:品尝一道菜的完整过程: 种菜、施肥、浇水、收割、卖菜、买菜、洗菜、烧油、炒菜、装盘、品尝。 这每一个步骤就相当于一个函数,当你需要的时候,调用这些函数

qq_43520833的博客 565

VC中sqlite的使用

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

Java语言初识——基本数据类型

Java语言是强类型语言 定义一个变量的时候,必须告诉编译器这个 变量 的类型。

chirengreng的博客 637

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

初识JAVA及JAVA基本数据类型介绍!

1.JAVA环境 任何一门语言要在计算机上运行,都需要一个环境,那么先来介绍一下java在windows下较为简单的编程环境 —— JDK。 JDK(java开发者工具)里面包含了 JRE(java运行环境),JRE里面又包含了JVM(java虚拟机),所以这些总共构成了这个简单的java环境。 这里我们在下载JDK时,推荐最好使用1.8版本,当然后面的小版本号就不所谓了。 为什么呢? 因为现在大多的企业,在公司内部做开发时,都是用JDK1.8版本作为长期开发版本使用的。 在JDK安装完成时

m0_52066789的博客 246

初识Java——基本数据类型(四类八种)

初学Java首先先接触的就是Java的基本数据类型,它跟C语言大致一样又有些不同,本篇文章会详细介绍。![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/6b70b0d8f0a0413e886a6b66b617d18e.png这些基本数据类型可以用于声明变量,用来存储不同类型的数据。但是在储存时要注意储存范围不要超过可储存范围了。如果喜欢可以加关注噢!!!

xiaobai_ljjhaha的博客 2613

初识Java:基本数据类型与变量

2. 计算机中的字符本质上是一个整数. 在 C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符. 因此。// 编译出错: a + b==》int + long–> long + long 赋值给int时会丢失数据。// 编译成功:a + b==>int + long—>long + long 赋值给long。a和b都是整形,a的范围小,b的范围大,当将a赋值给b时,编译器会自动将a提升为long类型,然后赋值。一个字符占用两个字节, 表示的字符种类更多, 包括中文。

djyyyg的博客 224

java基本数据类型初识

//一,基本数据类型(8种) // //   1)整数类型(4种) // //     int(32位)                    byte(8位  -128~127)              short                      long // //   +-21亿左右                        01111111 127            ...

qq_25368751的博客 278

JAVA8种基本数据类型、初识try、catch

byte 8位 short 16位 int 32位 char 32位 long 64位 double 64位 float 32位 boolean 1位 最好用适合的,但是现在一般都用int表示整数,char可以存储汉字,汉字大多为2个字节,有的为3个 java中boolean只能为TRUE或FALSE 不能为1或0。char 转 int 不

f_junhao的博客 671

初识JAVA--Java中的八大基本数据类型

Java中的八大基本数据类型我们也称其为:四类八种 四类:整数,浮点,布尔,字符 八种:byte,short,int,long float,double boolean char // 整型 : byte a1 = 20; //字节型 1字节 short a2 = 30; /*短整型*/...

m0_61620444的博客 150

小小初识java(6)-基本数据类型

底层基于Unicode编码实现的,无论是中文、英文 统一都是2个字节 = 16个位。只能使用true[真]/false[假]进行赋值。小的数据类型可以直接提升为大的数据类型。short和char之间需要双向强转。大的数据类型需要强转成小的数据类型。byte和char之间需要双向强转。布尔类型:boolean。位 8 16 32 64。整数类型默认是int类型。字节 1 2 4 8。

d1092794537的博客 252

初识Java (变量 驼峰命名法 8种基本数据类型 基本类型转换)

2022.03.01 day2 变量 变量:存数的 声明:-------------相当于在银行开帐户 初始化:第一次赋值---------相当于给帐户存钱 使用:---------使用的是帐户里面的钱(对变量的使用就是对它所存的那个数的使用 变量在用之前必须声明并初始化) 命名: 只能包含字母、数字、_和$符,并且不能以数字开头 严格区分大小写,且变量名不能重复 不能使用关键字 允许中文命名,但不建议,建议"英文的见名知意"、“小驼峰命名法” 小驼峰法 变量一般用小驼峰法标识。驼峰法

m0_53636192的博客 1447

day01-day02 初识java、注释、变量、变量命名、基本数据类型

1.初识java 1)什么是java java是一门高级的计算机编程语言 2)JDK的安装 2.1)下载2.2)安装2.3)验证 3)环境变量的配置 3.1)打开环境变量3.2)配置过程 1.JAVA_HOME 2.CLASSPATH 3.Path3.3)验证 Win+R cmd java -version4)Eclipse 4.1)Eclipse介绍...

weixin_30675967的博客 260

【Java基础总结】剖析初识Java时那些困惑你我的牛马问题之:标识符,字面量,字符以及格式化占位符 Java中的基本数据类型和引用数据类型等基础语法总结

内附高清思维导图,搜集诸多大佬文章总结,手撕原理,拳拳到肉,剖析初识Java时那些困惑你我的牛马问题之:标识符,字面量,字符以及格式化占位符 Java中的基本数据类型和引用数据类型等基础语法总结。系列文章轻松拿下Java

m0_56164356的博客 1113
上一篇: 指针在c语言中的应用
下一篇: Java---数组
馒头HCLL
博客等级 码龄2年 31粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值