基本数据类型

  • 整型: byte、short、int、long

    java 的整型常量默认为int型,在java程序中变量通常声明为int型,除非不足以表示较大的数才用long,而在声明long型常量必须在后面加上l或L。

    类型 占用储存空间 表数范围
    byte 1字节=8bit -128 ~ 127
    short 2字节 -215 ~ 215 - 1
    int 4字节 -231 ~ 231 -1 (约21亿)
    long 8字节 -263 ~ 263 - 1
  • 浮点型:float、double

    ​ 浮点型表示小数点的数值,java浮点型常量默认类型为double。

    • float表示数值的范围比long还大,在定义float变量时,变量要以f或F结尾(尾数可以精确到7位数字。很多情况下,精度很难满足需求)
    • double精度是float的两倍。(通常采用此类型定义)
    类型 占用储存空间 表数范围
    单精度float 4字节 -3.403E38 ~ 3.403E38
    双精度double 8字节 -1.798E308 ~ 1.798E308
  • 字符型:char

    在声明char型变量时,通常使用一对' ',内部只能写一个字符。

    实列:

    • char = '世' √
    • char = '世界' ×
    类型 占用储存空间 表数范围
    char 1字符 = 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_数据类型介绍与基本数据类型之间的运算规则的更多相关文章

  1. C 各种数据类型介绍

    1.各种数据类型介绍: 基本数据类型最主要的特点是,其值不可以再分解为其它类型.也就是说,基本数据类型是自我说明的. 1.1整型 整形包括短整型.整形和长整形. 1.1.1短整形 short a=1; ...

  2. Redis常用数据类型介绍、使用场景及其操作命令

    Redis常用数据类型介绍.使用场景及其操作命令 本文章同时也在cpper.info发布. Redis目前支持5种数据类型,分别是: 1.String(字符串) 2.List(列表) 3.Hash(字 ...

  3. Hadoop数据类型介绍

    我们知道hadoop是由Java 编程写的.因此我们使用Java开发环境来操作HDFS,编写mapreduce也是很自然的事情.但是这里面hadoop却对Java数据类型进行了包装,那么hadoop的 ...

  4. SQL数据类型介绍

    在计算机中数据有两种特征:类型和长度.所谓数据类型就是以数据的表现方式和存储方式来划分的数据的种类.    在SQL Server 中每个变量.参数.表达式等都有数据类型.系统提供的数据类型分为几大类 ...

  5. MySQL:数据类型介绍

    数据类型介绍 一.整数类型(可以添加自增约束条件) 数据类型 存储需要 有符号 无符号 tinyint 1个字节 -2^7~2^7-1 0~2^8 smallint 2个字节 -2^15~2^15-1 ...

  6. JS的数据类型(包含:7种数据类型的介绍、数据类型的转换、数据类型的判断)

    前言 最新的 ECMAScript 标准定义了JS的 7 种数据类型,其中包括: 6 种基本类型:Boolean.Null.Undefined.Number.String.Symbol (ECMASc ...

  7. openresty开发系列12--lua介绍及常用数据类型简介

    openresty开发系列12--lua介绍及常用数据类型简介 lua介绍  1993 年在巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de ...

  8. java数据类型,hibernate数据类型,标准sql数据类型之间的对应表

    Hibernate API简介 其接口分为以下几类: l         提供访问数据库的操作的接口: l         用于配置Hibernate的接口: l         回调接口 l     ...

  9. 以太坊智能合约 Solidity 的常用数据类型介绍

    目录 目录 1.数组 1.1.对数组的增删改查操作. 2.String.Bytes.Mapping的使用 3.Enums 和 Structs 的简单应用 4.Ether 单位和 Time 单位 5.A ...

随机推荐

  1. linux netfilter ----iptable_filter

    内核中将filter模块被组织成了一个独立的模块,每个这样独立的模块中都有个类似的init()初始化函数:首先来看一下filter模块是如何将自己的钩子函数注册到netfilter所管辖的几个hook ...

  2. typora 图片存储在COS

    背景 一直在使用的markdown编辑器:typora ,在其内部图片默认是存储在本机C盘中的,现想将图片方放到云端存储,节省存储空间 方法 将typora中的图片上传到腾讯云的COS中 参考:链接  ...

  3. 为什么删除的Ceph对象还能get

    前言 在很久以前在研究一套文件系统的时候,当时发现一个比较奇怪的现象,没有文件存在,磁盘容量还在增加,在研究了一段时间后,发现这里面有一种比较奇特的处理逻辑 这套文件系统在处理一个文件的时候放入的是一 ...

  4. 利用虚拟化环境虚拟nvme盘

    前情介绍 SPDK SPDK的全称为Storage Performance Development Kit ,是Intel发起的一个开源驱动项目,这个是一个开发套件,可以让应用程序在用户态去访问存储资 ...

  5. 打乱Map key - value的对应顺序

    应用场景:对于考试试卷选择题选项的乱序对应问题,防止考生作弊,每个人的题目都是不一样的选项顺序. package com.muyuan.platform.elearning.util; import ...

  6. 微信支付回调 敏感信息解密 v3 php

    今天博主用了一波微信的v3版本的支付,支付成功后发现回调跟v2的完全不一样,于是去看了了一波v3的文档,发现信息是经过加密的,需要解密才能获取的到 但是最悲催的是文档上没写怎么解密的,经过了一下午的百 ...

  7. 原生sql查询返回结果集处理方法

    今天博主用原生写查询的时候发现,查询出来的居然不是我数据表里的数据,而是一个对象 object(mysqli_result)#2 (5) { ["current_field"]=& ...

  8. java~通过springloaded实现热部署

    之前写过使用自定义的classLoader进行动态加载,热部署:它有很多弊端,我总结一下: 当前项目不能引用第三方包 当前项目必须使用反射的方式调用第三方包的方法 写死的一些路径 springload ...

  9. 关于C# Span的一些实践

    Span这个东西出来很久了,居然因为5.0又火起来了.   相关知识 在大多数情况下,C#开发时,我们只使用托管内存.而实际上,C#为我们提供了三种类型的内存: 堆栈内存 - 最快速的内存,能够做到极 ...

  10. 头秃了,使用@AutoConfigureBefore指定配置类顺序竟没生效?

    持续原创输出,点击上方蓝字关注我 前言 日常工作中对于Spring Boot 提供的一些启动器可能已经足够使用了,但是不可避免的需要自定义启动器,比如整合一个陌生的组件,也想要达到开箱即用的效果. 在 ...