Java数据类型

数据类型

Java属于一种强类型语言

什么是强类型语言?

即要求变量的使用需要严格符合规定,要求所有变量都必须先定义后再使用,若不按规定就会报错!

Java的数据类型分为两类

基本类型(primitive type)

Java语言提供了八种基本类型:六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。

byte
  • byte 数据类型是8位、有符号的,以二进制补码表示的整数;
  • 最小值是 -128(-2^7)
  • 最大值是 127(2^7-1)
  • 默认值是 0
  • byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;
  • 例子:byte a = 100,byte b = -50。
short
  • short 数据类型是 16 位、有符号的以二进制补码表示的整数
  • 最小值是 -32768(-2^15)
  • 最大值是 32767(2^15 - 1)
  • Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;
  • 默认值是 0
  • 例子:short s = 1000,short r = -20000。
int
  • int 数据类型是32位、有符号的以二进制补码表示的整数;
  • 最小值是 -2,147,483,648(-2^31)
  • 最大值是 2,147,483,647(2^31 - 1)
  • 一般地整型变量默认为 int 类型;
  • 默认值是 0
  • 例子:int a = 100000, int b = -200000。
long
  • long 数据类型是 64 位、有符号的以二进制补码表示的整数;
  • 使用long类型时,要在数字后加上”L“以与其他数据类型有所区分;
  • "L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。
  • 最小值是 -9,223,372,036,854,775,808(-2^63)
  • 最大值是 9,223,372,036,854,775,807(2^63 -1)
  • 这种类型主要使用在需要比较大整数的系统上;
  • 默认值是 0L
  • 例子: long a = 100000L,Long b = -200000L。
float
  • float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;
  • 使用long类型时,要在数字后加上”F“以与其他数据类型有所区分;
  • float 在储存大型浮点数组的时候可节省内存空间;
  • 默认值是 0.0f
  • 浮点数不能用来表示精确的值,如货币;
  • 例子:float f1 = 234.5f。
double
  • double 数据类型是双精度、64 位、符合IEEE 754标准的浮点数;
  • 浮点数的默认类型为double类型;
  • double类型同样不能表示精确的值,如货币;
  • 默认值是 0.0d
  • 例子:double d1 = 123.4。
boolean
  • boolean数据类型表示一位的信息;
  • 只有两个取值:true 和 false;
  • 这种类型只作为一种标志来记录 true/false 情况;
  • 默认值是 false
  • 例子:boolean one = true。
char
  • char类型是一个单一的 16 位 Unicode 字符,Unicode码的表示形式为\uxxxx,其中xxxx表示一个16进制的数字;
  • 最小值是 \u0000(即为0);
  • 最大值是 \uffff(即为65,535);
  • char 数据类型可以储存任何字符;
  • 例子:char letter = ‘A’;。

引用类型(reference type)

除基本数据类型,其他所有数据类型都属于引用数据类型。

包括:类、接口、数组。

热门文章

暂无图片
编程学习 ·

Java内存管理-初始JVM和JVM启动流程(二)

上一篇分享了什么是程序,以及Java程序运行的三个阶段。也顺便提到了Java中比较重要的一个东西就是JVM(JAVA 虚拟机),那么今天在先了解一下JVM和JVM的启动流程。知识地图:1、什么是虚拟机虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全…
暂无图片
编程学习 ·

Taro 3 正式版发布:开放式跨端跨框架解决方案

作者:凹凸曼 - yuche 从 Taro 第一个版本发布到现在,Taro 已经接受了来自于开源社区两年多的考验。今天我们很高兴地在党的生日发布 Taro 3(Taro Next)正式版,希望 Taro 未来的更多两年能像一名共产主义战士一样经受住更多的考验。以下是 Taro 3 的一些新增特性: 跨框架:…
暂无图片
编程学习 ·

QT的::和:记录

******1.:一般指继承. Class 派生类 : 基类 (1)表示结构体内 位域的定义(即该变量占几个bit空间) (2)构造函du数后面的冒号起分割作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量const型。 (3)public:和private:后面的冒号,表示后面定义的所有成员都是…
暂无图片
编程学习 ·

从mixin机制理解Flutter App启动

文章目录1-mixin机制1.1-前言1.2-mixin特性2-runApp启动2.1-binding初始化2.2-绑定根节点2.3-绘制热身帧总结 1-mixin机制 1.1-前言转载注明出处:https://juejin.im/post/5efbf499e51d4534b979050c  mixin机制并非dart独创,在其他前端语言中也有很广泛应用。但对于一个刚开…
暂无图片
编程学习 ·

Flutter 混合接入实战

Flutter 混合接入是指 Flutter 以依赖库的形式接入现有的 Android 或 iOS 项目。不同于集中式的 Flutter 项目( Flutter 做为主项目,把 Android 和 iOS 项目包括在内),Flutter 混合接入更适合当前已有 Android 和 iOS 项目,以及可能需要与 Flutter 页面产生交互的场景。 混…
暂无图片
编程学习 ·

百度云在线播放视频设置倍速播放

百度云在线播放器为html5播放器,所以直接修改其属性可达到加速效果:本人使用的是Safari浏览器,有效。右击网页打开“审查元素”(有的叫做“检查”)。2. 选择控制台3.粘贴命令 //设置默认倍速 为2倍 document.querySelector(video).defaultPlaybackRate = 2.0; document.qu…
暂无图片
编程学习 ·

快速排序进阶

三月不练手生。翻出了以前写的快速排序、单链表快排和scala快排。老老实实写把基础版写对就足够。 本文代码均经过测试。 1,快速排序的C++写法: #include <iostream> #include <vector> #include <algorithm>using namespace std;int getPartition(int arr…
暂无图片
编程学习 ·

2020.7.1总结

前端知识: API: 判断是否为空: $.common.isEmpty() modal框: $.common.alertError() 弹层组件:layer layer.open({ title:false, type:1, closeBth:true, shadeClose:true,//阴影区域关闭 area:[‘auto’,‘atuo’]//宽,高 }) 以下是一些参数截图:layer组件:web弹层组…
暂无图片
编程学习 ·

jupyter引用当前目录下的文件不成功解决方案

1.创建一个Ipynb_importer.py 文件内容如下: import io, os,sys,types from IPython import get_ipython from nbformat import read from IPython.core.interactiveshell import InteractiveShellclass NotebookFinder(object):"""Module finder that locates…
暂无图片
编程学习 ·

git用法备份

git远程仓库创建本地仓库ssh加密创建远程仓库 创建本地仓库 在命令行输入以下内容: $ mkdir gitstore $ cd gitstore $ git init Initialized empty Git repository in C:/Users/15665/gitstore/.git/我们可以看到gitstore目录下多了一个.git目录,证明创建成功。接下来在gits…
暂无图片
编程学习 ·

datax-web-2.1.2安装部署

datax-web-2.1.2安装部署 环境准备 1)基础软件安装MySQL (5.5+) 必选,对应客户端可以选装, Linux服务上若安装mysql的客户端可以通过部署脚本快速初始化数据库 JDK (1.8.0_xxx) 必选 DataX 必选 Python (2.x) (支持Python3需要修改替换datax/bin下面的三个python文件,替换文…
暂无图片
编程学习 ·

网络安全技术及应用第3版 主编贾铁军等——教材习题 期末重点 复习题 知识提炼(第1章 网络安全基础)

参考教材:网络安全技术及应用 第3版 主编贾铁军等 写此文是为了便于集中式 有重点 突击复习,可以打印出来,便于识记背诵。 第1章 网络安全基础填空题简答题论述题 填空题 网络安全的目标 是在计算机网络的 信息传输、存储与处理 的整个过程中,提高(物理上、逻辑上)的防护…
暂无图片
编程学习 ·

3D slicer勾画流程

下载最新3D slicer并安装:https://download.slicer.org/图1、下载3D slicer打开3D slicer并导入数据 再导入数据之前,先删掉无用的数据,避免勾画过程造成干扰。图2.1、删除无用数据(避免干扰)图2.2、删除无用勾画结果(避免干扰)图2.3 导入数据(直接拖拽即可)新建分割图…
暂无图片
编程学习 ·

Crust ,波卡生态上的分布式存储走在时代风口

Crust 实现了去中心化存储的激励层协议,适配包括 IPFS 在内的多种存储层协议,并对应用层提供支持。同时 Crust 的架构也有能力对去中心化计算层提供支持,构建分布式云生态。6月19日,Crust Network 产品总监 Dean 受邀参加由一块+ 主办的 「Sub China Day」线上直播活动,与…
暂无图片
编程学习 ·

flutter 问题集合

flutter 问题集合 dio框架问题 1.报错: 500 问题具体描述: AS断点发现值已经传到了后端,后端断点(Spring)发现key "B"的值为空字符串"",flutter传参的数据结构为: {"A":"111","B":["222","333"]…
暂无图片
编程学习 ·

Vivado FPGA设计基础操作流程:Vivado的基本使用

原文链接:http://m.elecfans.com/article/835667.htmlVivado FPGA设计基础操作流程当然在介绍的过程当中会给大家推荐一些对于工具深入使用的Xilinx官网资料。这里以流水灯的控制为例。Vivado的基本使用(一) 打开Vivado新建工程:1. 安装好Vivado之后,在Windows系统 Start &g…