文档章节

基本数据类型介绍

凯哥学堂
 凯哥学堂
发布于 2017/07/10 23:22
字数 1578
阅读 0
收藏 0
点赞 0
评论 0

Java 基本数据类型

变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。 因此,通过定义不同类型的变量,可以在内存中储存整数、小数或者字符。 Java的两大数据类型,内置数据类型和引用数据类型。

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

byte(这种数据类型在java中不常用):

byte数据类型是8位、有符号的,以二进制补码表示的整数;

默认值是0;

byte类型用在大型数组中节约空间,主要代替整数,因为byte变量占用的空间只有int类型的四分之一;

例子:byte a = 100,byte b = -50。

short(这种数据类型在java中不常用):

short数据类型是16位、有符号的以二进制补码表示的整数

Short数据类型也可以像byte那样节省空间。一个short变量是int型变量所占空间的二分之一;

默认值是0;

例子:short s = 1000,short r = -20000。

int:

int数据类型是32位、有符号的以二进制补码表示的整数;

一般地整型变量默认为int类型;

默认值是0;

例子:int a = 100000, int b = -200000。

long:

long数据类型是64位、有符号的以二进制补码表示的整数;

这种类型主要使用在需要比较大整数的系统上;

默认值是0;

例子: long a = 100000L,Long b = -200000L。

float:

float数据类型是单精度、32位、符合IEEE 754标准的浮点数;

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字符;

char数据类型可以储存任何字符;

例子:char letter = ‘A’。

String:

String是比较特殊的字符串类型;

例子:String a = ‘你好’。

使用变量的步骤

第一步:声明变量,既"根据数据类型在内存申请空间"

数据类型 变量名; int money

第二步:赋值,既"将数据存储至对应的内存空间"

变量名=数值; money=1000;

第一步和第三步合并

数据类型 变量名=数值; int money=1000;

第三步:使用变量,既取出数据使用

变量名规范

1.变量名首字母必须是字母,下划线,美元符号,其余部分任意多的数字,字母,下划线,美元符号

2.简短能清楚地表明变量的作用,通常第一个单词的首字母的大写

3.变量先声明并赋值然后才能使用

4.声明两个同名变量不能重复

变量的作用域

从定义变量地方开始,到当前"}"后结束,变量如果出了作用域就会被回收

六:基本数据类型转换

1.自动类型转换(隐式类型转换):从小到大类型可以自动完成

2.强制类型转换:从大到小类型需要强制转换符,会造成精度损失或溢出

byte-->short-->int-->long-->float-->double

从左往右小类型到大类型,可以自动类型转换

往左大类型到小类型,需要强制类型转换

Float和Double的最小值和最大值都是以科学记数法的形式输出的,结尾的"E+数字"表示E之前的数字要乘以10的多少倍。比如3.14E3就是3.14×1000=3140,3.14E-3就是3.14/1000=0.00314。 实际上,JAVA中还存在另外一种基本类型void,它也有对应的包装类 java.lang.Void,不过我们无法直接对它们进行操作。

2.引用数据类型

引用类型

引用类型变量由类的构造函数创建,可以使用它们访问所引用的对象。这些变量在声明时被指定为一个特定的类型,比如Employee、Pubby等。变量一旦声明后,类型就不能被改变了。

对象、数组都是引用数据类型。

所有引用类型的默认值都是null。

一个引用变量可以用来引用与任何与之兼容的类型。

例子:Animal animal = new Animal(“giraffe”)。

Java常量

常量就是一个固定值。它们不需要计算,直接代表相应的值。

常量指不能改变的量。 在Java中用final标志,声明方式和变量类似:

final double PI = 3.1415927;

虽然常量名也可以用小写,但为了便于识别,通常使用大写字母表示常量。

字面量可以赋给任何内置类型的变量。例如:

byte a = 68;

char a = 'A'

byte、int、long、和short都可以用十进制、16进制以及8进制的方式来表示。

当使用常量的时候,前缀0表示8进制,而前缀0x代表16进制。例如:

int decimal = 100;

int octal = 0144;

int hexa = 0x64;

和其他语言一样,Java的字符串常量也是包含在两个引号之间的字符序列。下面是字符串型字面量的例子:

"Hello World"

"two\nlines"

""This is in quotes""

字符串常量和字符常量都可以包含任何Unicode字符。例如:

char a = '\u0001';

String a = "\u0001";

Java语言支持一些特殊的转义字符序列。

符号 字符含义

\n 换行 (0x0a)

\r 回车 (0x0d)

\f 换页符(0x0c)

\b 退格 (0x08)

\s 空格 (0x20)

\t 制表符

" 双引号

' 单引号

\ 反斜杠

© 著作权归作者所有

共有 人打赏支持
凯哥学堂
粉丝 10
博文 287
码字总数 257252
作品 0
东城
程序员
C/OC/Swift的数据类型没那么简单

数据类型决定了值如何存储到计算机内存中。在声明变量时也可指定它的数据类型。不同数据类型来存储不同的信息,所有变量都具有数据类型,以决定能够存储哪种数据。 C语言 C语言的基本数据类型...

CoderDancer ⋅ 2017/08/10 ⋅ 0

JAVA基础--JAVA API常见对象(包装类和正则)

一、基本类型包装类   1.基本类型包装类介绍       8种基本类型:    byte short int long float double char boolean   这8种基本类型它们在程序仅仅只能规范某个空间的数据类型...

architect刘源源 ⋅ 05/09 ⋅ 0

C语言/C加加程序员新手入门学习基础之数据类型分享

请点击此处输入图片描述 关注我们 为什么要首先介绍数据类型? 因为(数据结构就是对数据类型的操作)不论是哪一种语言,都要有其基本数据类型,这些基本的数据类型就像一块块砖,而程序中的...

小辰GG ⋅ 2017/12/30 ⋅ 0

介绍MyBatis代码生成网站(八) --- 数据类型对照表

一.简介 网址: http://www.fwjava.com 操作流程: 详见“ 介绍MyBatis代码生成网站(一) --- 基本操作 ” 二.数据类型对照表 以下是本网站采用的,数据库数据类型所对应的Java数据类型对照表....

北京软件中心 ⋅ 2016/09/27 ⋅ 0

java中的数据类型

java中数据类型分为2大类:引用数据类型(接口、类、数组)、基本数据类型(四大类,共八种) 首先简单的分析下这两类到底有什么区别呢? 基本数据类型在声明是就会给予一个内存空间,来存储变...

我是xl ⋅ 2017/07/11 ⋅ 0

ELK系列二:kibana操作及nginx日志分析图表创建

本文主要介绍kibana4的基本操作,nginx日志分析饼形图、柱形图、客户端地理位置分布图等相关图表创建。 一、kibana基本操作 1.面板介绍 Settings:创建索引 Discover:查询数据,选择左上角的...

hnr1017 ⋅ 2016/09/03 ⋅ 0

Python 基础:数据类型和结构(二)丨数析学院

课程简介 本节为 Python 金融数据分析基础课程,将重点介绍 Python 基本数据类型和数据结构,此外,也对 NumPy 库特有的数据结构进行了说明。建议初学者认真学习本节内容,已经掌握数据结构的...

Datartisan数据工匠 ⋅ 2017/11/28 ⋅ 0

TensorFlow基本操作(二)

原文传送门:请点击 前一篇主要对TensorFlow的常量,如简单的scalar, vector, matrix等Tensor,以及线性序列(Sequence),基本的抽样函数做了介绍,本篇主要介绍TensorFlow中的变量,数据类型...

willheng ⋅ 2017/12/14 ⋅ 0

python isinstance、isalnum函数用法

今天写一个校验的时候,遇到了三个函数,记下来以备用吧 isinstance、isalnum、len 相比大家都知道type()函数,判断一个对象的数据类型: In [1]: test = "abc123" In [2]: type(test)Out[2]...

Xuuer ⋅ 2017/05/31 ⋅ 0

NSInteger,NSUInteger,NSNumber

Objective-C入门教程10:数字类型(NSInteger,NSUInteger,NSNumber) 柳志超博客 » Program » Objective-C » Objective-C入门教程10:数字类型(NSInteger,NSUInteger,NSNumber) posted i......

Gong_xiao ⋅ 2015/10/15 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

容器之重命名镜像

使用docker tag命令来重命名镜像名称,先执行help,查看如何使用如下 mjduan@mjduandeMacBook-Pro:~/Docker % docker tag --helpUsage:docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TA...

汉斯-冯-拉特 ⋅ 23分钟前 ⋅ 0

with 的高级用法

那么 上下文管理器 又是什么呢? 上下文管理器协议包含 __enter__ 和 __exit__ 两个方法。with 语句开始运行时,会在上下文管理器对象上调用 __enter__ 方法。with 语句运行结束后,会在上下...

阿豪boy ⋅ 43分钟前 ⋅ 0

使用 jsoup 模拟登录 urp 教务系统

需要的 jsoup 相关 jar包:https://www.lanzous.com/i1abckj 1、首先打开教务系统的登录页面,F12 开启浏览器调试,注意一下 Request Headers 一栏的 Cookie 选项,我们一会需要拿这个 Cook...

大灰狼时间 ⋅ 43分钟前 ⋅ 0

关于线程的创建

转自自己的笔记: http://note.youdao.com/noteshare?id=87584d4874acdeaf4aa027bdc9cb7324&sub=B49E8956E145476191C3FD1E4AB40DFA 1.创建线程的方法 Java使用Thread类代表线程,所有的线程对......

MarinJ_Shao ⋅ 54分钟前 ⋅ 0

工厂模式学习

1. 参考资料 工厂模式-伯乐在线 三种工厂-思否 深入理解工厂模式 2. 知识点理解 2.1 java三种工厂 简单工厂 工厂模式 抽象工厂 2.2 异同点 逐级复杂 简单工厂通过构造时传入的标识来生产产品...

liuyan_lc ⋅ 今天 ⋅ 0

Java NIO

1.目录 Java IO的历史 Java NIO之Channel Java NIO之Buffer Java NIO之Selector Java NIO之文件处理 Java NIO之Charset Java 可扩展IO 2.简介 “IO的历史”讲述了Java IO API从开始到现在的发...

士别三日 ⋅ 今天 ⋅ 0

[Err] ORA-24344: success with compilation error

从txt文本复制出创建function的脚本,直接执行,然后报错:[Err] ORA-24344: success with compilation error。 突然发现脚本的关键字,居然不是高亮显示。 然后我把脚本前面的空格去掉,执行...

wenzhizhon ⋅ 今天 ⋅ 0

Spring Security授权过程

前言 本文是接上一章Spring Security认证过程进一步分析Spring Security用户名密码登录授权是如何实现得; 类图 调试过程 使用debug方式启动https://github.com/longfeizheng/logback该项目,...

hutaishi ⋅ 今天 ⋅ 0

HAProxy基于KeepAlived实现Web高可用及动静分离

前言 软件负载均衡一般通过两种方式来实现: 基于操作系统的软负载实现 基于第三方应用的软负载实现 LVS是基于Linux操作系统实现的一种软负载,而HAProxy则是基于第三方应用实现的软负载。 ...

寰宇01 ⋅ 今天 ⋅ 0

微软自研处理器的小动作:已经开始移植其他平台的工具链

微软将 Windows 10 、Linux 以及工具链如 C/C++ 和 .NET Core 运行时库、Visual C++ 2017 命令行工具、RyuJIT 编辑器等移植到其自主研发的处理器架构 E2。微软还移植了广泛使用的 LLVM C/C++...

linux-tao ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部