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)

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

包括:类、接口、数组。

热门文章

暂无图片
编程学习 ·

一篇文章带你搞懂 SpringBoot 的配置文件

文章目录一、SpringBoot 配置文件类型1. SpringBoot配置文件类型和作用2. application.yml配置文件3. SpringBoot配置信息的查询二、配置文件与配置类的属性映射方式1. 使用注解@Value映射2. 使用注解@ConfigurationProperties映射 一、SpringBoot 配置文件类型 1. SpringBoot配…
暂无图片
编程学习 ·

毛毛爸爸手记-2

http://blog.sina.com.cn/s/blog_4bf99d0601000825.html今天,毛爸从天鹅和鸭子的故事说起。从前......一只美丽的天鹅有一天落在地上时,看见了一只健壮的鸭子,她立刻被这只帅气的鸭子所打动,她惊诧于鸭子不同于她同类的模样,不同于她同类气质,是那么的有型,那么的另类。…
暂无图片
编程学习 ·

程序设计思想之模块

模块使用模块分割方法来进行系统构筑何为系统设计软件开发中的模块是什么功能与模块的关系软件系统的模块结构软件层驱动层硬件层连接模块的接口接口接口设计困难结束语 使用模块分割方法来进行系统构筑 何为系统设计 软件系统规模越大,制作起来就越困难。这和在建筑中建造狗窝…
暂无图片
编程学习 ·

css基础学习记录

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>CSS</title><!--也可在head style标签里--><!--<style type="text/css">--><!--p{--><!--color: bisqu…
暂无图片
编程学习 ·

Struts2环境搭建及其复现

什么是Struts框架 Struts2 是目前较为普及和成熟的基于MVC设计模式的web应用程序框架,它不仅仅是Struts1 的升级版本,更是一个全新的Struts架构。最初,是以WebWork框架和Struts框架为基础,通过提供增强和改进的Struts框架,进而实现简化web技术人员开发工作的目标。不久之后…
暂无图片
编程学习 ·

vue项目实现路由按需加载(路由懒加载)的3种方式

vue异步组件es提案的import()webpack的require,ensure()vue异步组件技术 ==== 异步加载 vue-router配置路由 , 使用vue的异步组件技术 , 可以实现按需加载 . 但是,这种情况下一个组件生成一个js文件/* vue异步组件技术 */ {path: /home,name: home,component: resolve => re…
暂无图片
编程学习 ·

maven 有时候parent项目版本没更新的版本问题

对于parent工程,一般规定了版本,并且包含了子模块。如果首次编译整个项目,可能导致编译不成功,因为子模块需要父工程版本号。父工程想连同子模块一起编译,所以首次编译的时候,注释掉parent工程的子模块。先编译版本,成功后放开子模块。就可以了。如果parent的版本发生变…
暂无图片
编程学习 ·

GitHub更新fork的代码

1、在本地装好github客户端,或者git客户端 2、clone 自己的fork分支到本地,可以直接使用github客户端,clone到本地,如果使用命令行,命令为:git clone https://github.com/liuyanqing1023/WxJava.git3、增加源分支地址到你项目远程分支列表中(此处是关键),先得将原来的仓…
暂无图片
编程学习 ·

pandas下-综合练习

综合练习端午节的淘宝粽子交易 端午节的淘宝粽子交易 (1) 请删除最后一列为缺失值的行,并求所有在杭州发货的商品单价均值。 df=pd.read_csv(F:\Datewheel资料\pandas组队学习\Pandas(下)综合练习数据集\端午粽子数据.csv) df.head()df.info()#查看列名 df.columns()注意列名…
暂无图片
编程学习 ·

自己动手写基本数据结构(Java)

尝试写出自己的数据结构数组(Array)栈(Stack) 这篇文章主要记录了几种基本的数据结构的学习过程,包括数组、栈、队列、单向链表、双端链表和双向链表,自己也试着去用Java语言动手写了栈、队列和链表,以加深印象。途中遇到了很多小问题,在解决的过程中,自己对这几种数据结构…
暂无图片
编程学习 ·

Express框架初体验

Express框架初体验1. Express框架是什么2. Express框架特性3. 中间件3.1 什么是中间件3.2 app.use中间件用法3.3 中间件应用3.4 错误处理中间件3.5 捕获错误4. Express请求处理4.1 构建模块化路由4.2 GET参数的获取4.3 POST参数的获取4.4 静态资源的处理5. express-art-templat…
暂无图片
编程学习 ·

网络安全技术及应用第3版 主编贾铁军等——教材习题 期末重点 复习题 知识提炼(第4章 黑客攻防与检测防御)

参考教材:网络安全技术及应用 第3版 主编贾铁军等 第4章 黑客攻防与检测防御填空题简答题论述题 填空题 (1)端口扫描的 防范也称为 系统“加固”,主要有 防止IP地址的扫描 和(关闭 闲置及有潜在危险 端口)。 (2)(分布式拒绝服务攻击DDoS)就是利用更多的傀儡机对目标发…
暂无图片
编程学习 ·

是个前端都应该了解的web安全知识(附一些较新的防范方法)

前言对于很多刚开始工作的前端而言,web安全似乎是一个说不清道不明的东西。关于web安全,认真学习总结一下,其实就会发现它不难。本文通过面试提问的形式来一一进行总结,希望对于各位小伙伴理解web安全有所帮助。1.前端有哪些攻击方式?目前常见的web攻击方式主要分为:XSS攻…
暂无图片
编程学习 ·

分离springboot中的lib

仅供参考: 这次分离lib源于疫情期间连公司内网上传jar过于缓慢。在一个项目构建之初,所使用的依赖基本都已经确定,因此大概率不会对项目有大的影响。(非适用于所有场景) 首先我们要引入插件: <!-- 分离lib --> <plugin><groupId>org.apache.maven.plug…
暂无图片
编程学习 ·

区块链学姐:行情分析 7月2日 不见低点,波段多单不出手。

币圈新鲜事 7月2日热点提要: 1.V神:长期看DeFi利率不可能比传统金融最佳利率高出百分之一以上。 2.新修正草案将要求美国政府问责局研究虚拟货币在贩运中的作用; 3.数据:USDC流通供应量超10亿美元 4.北京时间7月1日23:41左右, Ripples锁定8亿枚XRP,随后又解锁10亿枚XRP。 5.…
暂无图片
编程学习 ·

samba配置

samba服务器作可以windows和linux交互的媒介,可以让windows用户轻松地在电脑上使用图形界面访问linux文件系统,并可以设置写入权限,实用性极佳。 1: 安装sudo apt-get install sambasudo apt-get install smbclient查看版本samba -V2: 配置sudo vi /etc/samba/smb.conf 追…
暂无图片
编程学习 ·

YOLOv5模型训练

原文出处 https://xugaoxiang.com/2020/07/02/yolov5-training/ 软硬件环境ubuntu 18.04 64bit anaconda with 3.7 nvidia gtx 1070Ti cuda 10.1 pytorch 1.5 YOLOv5YOLOv5环境配置 请参考之前的文章,YOLOv5目标检测 使用COCO数据集 YOLOv5的预训练模型是基于 COCO 数据集,如…