JAVA_数据类型介绍与基本数据类型之间的运算规则
基本数据类型
整型:
byte、short、int、longjava的整型常量默认为int型,在java程序中变量通常声明为int型,除非不足以表示较大的数才用long,而在声明long型常量必须在后面加上l或L。类型 占用储存空间 表数范围 byte1字节=8 bit-128 ~ 127 short2字节 -215 ~ 215 - 1 int4字节 -231 ~ 231 -1 (约21亿) long8字节 -263 ~ 263 - 1 浮点型:
float、double 浮点型表示小数点的数值,
java浮点型常量默认类型为double。float表示数值的范围比long还大,在定义float变量时,变量要以f或F结尾(尾数可以精确到7位数字。很多情况下,精度很难满足需求)double精度是float的两倍。(通常采用此类型定义)
类型 占用储存空间 表数范围 单精度 float4字节 -3.403E38 ~ 3.403E38 双精度 double8字节 -1.798E308 ~ 1.798E308 字符型:
char在声明
char型变量时,通常使用一对' ',内部只能写一个字符。实列:
char = '世'√char = '世界'×
类型 占用储存空间 表数范围 char1字符 = 2字节 ' 字'布尔型:
boolean布尔型只有两个值:
true、false,一般用在判断、循环结构中使用。
引用数据类型
特殊:字符串(
String属于引用数据类型)String可以和所用数据类型进行计算,结果都为String类型。类(
class)接口(
interface)数组(
array)
基本数据类型之间的运算规则
自动类型提升
(byte 、char、 short) → int → long → float → double
特别:当
byte、char、short三种类型的变量做运算时,结果为int类型。
- 当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的类型
说明: 此时的容量大小指的是表示数的范围的大和小。
比如:
float容量要大于long的容量。
强制类型转换
强制类型转换就相当与自动类型提升运算的逆运算
强制数据转换需要使用强转符:()
注意:强制类型转换,可能导致精度损失
public class VariableTest2 {
public static void main(String[] args){
/*精度损失举例1*/
double d1 = 12.3;
int i1 = (int)d1;
System.out.println(i1); // 12 /*没有损失精度*/
long d2 = 123L;
short i2 = (short)d2;
System.out.println(i2); // 123 /*精度损失举例2*/
int d3 = 128;
byte i3 = (byte)d3;
System.out.println(i3); // -128
}
}
JAVA_数据类型介绍与基本数据类型之间的运算规则的更多相关文章
- C 各种数据类型介绍
1.各种数据类型介绍: 基本数据类型最主要的特点是,其值不可以再分解为其它类型.也就是说,基本数据类型是自我说明的. 1.1整型 整形包括短整型.整形和长整形. 1.1.1短整形 short a=1; ...
- Redis常用数据类型介绍、使用场景及其操作命令
Redis常用数据类型介绍.使用场景及其操作命令 本文章同时也在cpper.info发布. Redis目前支持5种数据类型,分别是: 1.String(字符串) 2.List(列表) 3.Hash(字 ...
- Hadoop数据类型介绍
我们知道hadoop是由Java 编程写的.因此我们使用Java开发环境来操作HDFS,编写mapreduce也是很自然的事情.但是这里面hadoop却对Java数据类型进行了包装,那么hadoop的 ...
- SQL数据类型介绍
在计算机中数据有两种特征:类型和长度.所谓数据类型就是以数据的表现方式和存储方式来划分的数据的种类. 在SQL Server 中每个变量.参数.表达式等都有数据类型.系统提供的数据类型分为几大类 ...
- MySQL:数据类型介绍
数据类型介绍 一.整数类型(可以添加自增约束条件) 数据类型 存储需要 有符号 无符号 tinyint 1个字节 -2^7~2^7-1 0~2^8 smallint 2个字节 -2^15~2^15-1 ...
- JS的数据类型(包含:7种数据类型的介绍、数据类型的转换、数据类型的判断)
前言 最新的 ECMAScript 标准定义了JS的 7 种数据类型,其中包括: 6 种基本类型:Boolean.Null.Undefined.Number.String.Symbol (ECMASc ...
- openresty开发系列12--lua介绍及常用数据类型简介
openresty开发系列12--lua介绍及常用数据类型简介 lua介绍 1993 年在巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de ...
- java数据类型,hibernate数据类型,标准sql数据类型之间的对应表
Hibernate API简介 其接口分为以下几类: l 提供访问数据库的操作的接口: l 用于配置Hibernate的接口: l 回调接口 l ...
- 以太坊智能合约 Solidity 的常用数据类型介绍
目录 目录 1.数组 1.1.对数组的增删改查操作. 2.String.Bytes.Mapping的使用 3.Enums 和 Structs 的简单应用 4.Ether 单位和 Time 单位 5.A ...
随机推荐
- Docker + Jenkins + Gitlab + Pytest + Allure 接口自动化测试之持续集成实战终极教程
实战教程篇 前言 这边就不教大家怎么用 pytest 写项目了哦,下面有系列文章能帮助你快速入门 Pytest + Allure 这一篇教程主要是教如何从 0 到 1 搭建自动化测试的持续集成环境 后 ...
- exec 家族库函数以及系统调用(execl,execle,execlp and execv,execvp,execve)
(1)exec函数说明 fork函数是用于创建一个子进程,该子进程几乎是父进程的副本,而有时我们希望子进程去执行另外的程序,exec函数族就提供了一个在进程中启动另一个程序执行的方法.它可以根据指定的 ...
- 探索 .Net Core 的 SourceLink
介绍 Source Link是一组软件包和一个规范, 它将一些元数据添加到PDB文件,以将本地文件重新映射到GitHub上的文件,因此Visual Studio可以在这需要时下载文件, 该项目的目的是 ...
- linux 异步I/O 信号
if (ioctl(ngx_processes[s].channel[0], FIOASYNC, &on) == -1) { ngx_log_error(NGX_LOG_ALERT, cycl ...
- JsonPath在接口自动化中的应用
我理解jsonpath于json而言,就像是xpath在XML中的作用.用来确定json中某部分数据的语言.我更喜欢叫jsonpath表达式,因为这样好像是数学问题. 以前和小伙伴一起写接口自动化的时 ...
- 为什么删除的Ceph对象还能get
前言 在很久以前在研究一套文件系统的时候,当时发现一个比较奇怪的现象,没有文件存在,磁盘容量还在增加,在研究了一段时间后,发现这里面有一种比较奇特的处理逻辑 这套文件系统在处理一个文件的时候放入的是一 ...
- beef+metasploit
beef调用metasploit模块,直接xss吊打 先进入beef的文件夹 对config.yaml进行修改 将metasploit的false改为true 进入这个文件夹 修改配置文件 检查met ...
- 算法学习笔记:Kosaraju算法
Kosaraju算法一看这个名字很奇怪就可以猜到它也是一个根据人名起的算法,它的发明人是S. Rao Kosaraju,这是一个在图论当中非常著名的算法,可以用来拆分有向图当中的强连通分量. 背景知识 ...
- 超强工具集——GitHub 热点速览 Vol.47
作者:HelloGitHub-小鱼干 本周 GitHub 趋势榜精彩至极,先是 JetBrains 开源的图像渲染引擎 Skia 有了 Java 封装,一开源便获得 500+ star,再是支持开发者 ...
- java开发三年,Java中接口的使用你得知道,不然你凭什么涨薪
接口概述: 接口是Java语言中的一种引用类型,是方法的"集合",所以接口的内部主要就是定义方法,包含常量,抽象方法(JDK 7及以前),额外增加默认方法和静态方法(JDK 8), ...