java基本数据类型
Java基本数据类型
变量就是申请内存来存储值,也就是说,当创建变量的时候,需要在内存中申请空间。
内存管理系统根据变量类型为变量分配空间,分配空间只能用来存贮该类型数据
因此,通过定义不同类型变量,可以在内存中存储整数,小数或者字符。
Java的两大数据类型;
内置数据类型
应用数据类型
内置数据类型
Java语言提供了八种基本类型,六种字符类型(四个整数类型,两个浮点型),一个字符类型,还有一种布尔型。
byte:
byte数据类型是8位,有符号的,以二进制补码表示的整数。
最小值是-128(-2^7);
最大值127(2^7-1);
默认值是0
byte类型用在大型数组中节约空间,主要代替整数,因为byte变量占用的空间只有int类型的四分之一;
例子;byt a =100,byte b = -50
short类型是16位,有符号的以二进制补码表示的整数
int类型是32位,有符号的以二进制补码表示的整数
long数据类型是64位,有符号的以二进制补码表示的整数。
float数据类型是单精度,32位,符号IEEE 754标准的浮点数。
double数据类型是双精度,64位,符合IEEE 754标准的浮点数
Boolean数据类型表示一位的信息。
char类型是一个单一的16位unicode字符。
对于数值类型的基本类型的取值范围,我们无需强制去记忆,因为它们的值都已经以常量的形式定义在对应的包装类中了。
float和double的最小值和最大值都是以科学记数法的形式输出的,结尾是e+数字,表示E之前的数字要乘以10的多少次方,。
实际上,Java还存在另外一种基本类型void,它也有对应的包装类,java.lang.void,不过我们无法直接对它们进行操作。
引用类型
在Java中,引用类型的变量非常类似于c/c++的指针,引用类型指向一个对象,指向对象的变量是引用变量,这些变量是在声明时被指定一个特定的类型,比如employee puppy等,变量一旦声明后,类型就不能被改变了。
对象,数组都是引用数据类型
所有引用类型的默认值都是null
一个应用变量可以用来应用任何与值兼容的类型
例子;site site = new site(“Runoob”);
java常量,常量在程序运行时是不能被修改的
在Java中使用final关键字来修饰常量,声明方式和变量类似
final bouble PI = 3.1415927
虽然常量名也可以用小写,但为了便于识别,通常使用大写字母表示常量。
字面量可以赋值给任何内置类型的变量
byte a = 68;
char a = 'a';
byt,int,long和short都可以用十进制,十六进制以及八进制的方式来表示
当使用常量的时候,前缀o表示8进制,而前缀ox达标16进制。
和其他语言一样,Java的字符串常量也是包含在两个引用之间的字符序列,
字符串常量和字符常量都可以包含Unicode字符
Java语言支持一些特殊的转义字符序列。
\n换行
\r回车
\f 换页符
\b退格
\0空字符
\s字符串
\t制表符
\"双引号
\'单引号
\\反斜杠
\ddd八进制字符
\uxxx十六进制Unicode字符
自动类型转换
整形、实型(常量),字符串数据可以混合运算,运算中,不同类型的数据先转化为统一类型,然后进行运算,转换从低级到高级
byte,short,char int long float double
数据类型转换必须满足如下规则
不能对Boolean类型进行类型转换
不能把对象类型转换成不相关类的对象
在把容量大的类型转换成容量小的类型时必须使用强制类型转换。
转换过程中可能导致溢出或者损失精度。
网名:浩秦; 邮箱:root#landv.pw; 只要我能控制一個國家的貨幣發行,我不在乎誰制定法律。金錢一旦作響,壞話隨之戛然而止。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Spring RestTemplate 调用天气预报接口乱码的解决
Spring RestTemplate 调用天气预报接口可能遇到中文乱码的问题,解决思路如下。 问题出现 我们在网上找了一个免费的天气预报接口 http://wthrcdn.etouch.cn/weather_mini?citykey=101280601。我们希望调用该接口,并将返回的数据解析为 JSON 格式。 核心业务逻辑如下: private WeatherResponse doGetWeatherData(String uri) { ResponseEntity<String> response = restTemplate.getForEntity(uri, String.class); String strBody = null; if (response.getStatusCodeValue() == 200) { strBody = response.getBody(); } ObjectMapper mapper = new ObjectMapper(); WeatherResponse weather = null; try { weather = ma...
- 下一篇
C++内联函数详解
C++内联函数详解 1.函数调用原理 "编译过程的最终产品是可执行程序--由一组机器语言指令组成。运行程序时,操作系统将这些指令载入计算机内存中,因此每条指令都有特定的内存地址。计算机随后将逐步执行这些指令。有时(如有循环和分支语句时),将跳过一些指令,向前或向后跳到特定地址。常规函数调用也使程序跳到另一个地址(函数的地址),并在函数结束时返回。下面更详细地介绍这一过程的典型实现。执行到函数调用指令时,程序将在函数调用后立即存储该指令的内存地址,并将函数参数复制到堆栈(为此保留的内存块),跳到标记函数起点的内存单元,执行函数代码(也许还需将返回值放入寄存器中),然后跳回到地址被保存的指令处(这与阅读文章时停下来看脚注,并在阅读完脚注后返回到以前阅读的地方类似)。来回跳跃并记录跳跃位置意味着以前使用函数时,需要一定的开销。" 2.内联函数 内联函数提供了另一种选择。编译器将使用相应的函数代码替换函数调用。因此,内联函数的运行速度比常规函数稍快,但代价是需要占用更多内存。 3.内联函数的使用 在函数声明前加上关键字inline; 在函数定义前加上关键字inline。 示例如下: #incl...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Linux系统CentOS6、CentOS7手动修改IP地址
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Windows10,CentOS7,CentOS8安装Nodejs环境
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题