【Java编程】Java基本数据类型

简介:         在较前面的一篇博文《C/C++基本数据类型》中,我主要介绍了c/c++的基本数据类型。我们知道C语言没有具体规定各类数据类型所占内存的字节数,只要求long型数据长度不小于int型,short型不大于int型。

        在较前面的一篇博文《C/C++基本数据类型》中,我主要介绍了c/c++的基本数据类型。我们知道C语言没有具体规定各类数据类型所占内存的字节数,只要求long型数据长度不小于int型,short型不大于int型。具体的实现如何,由各计算机系统自行决定。

        一般情况下,在Turbo C++中,int型和short型都是16位,而long型是32位。而有的c语言编译器给short型分配16位,而int型和long型分配32位。通常的做法是:把long型定为32位,把short型定为16位,而int型可以为16位,也可以是32位。

        相比C语言而言,Java的8种基本数据类型的长度与平台无关。因此Java语言具有“’一次编译,到处运行”的优点。本文主要介绍Java的基本数据类型。Java语言的基本数据类型总共有以下8种,下面是按照用途划分出的4个类别:

        

整数型 byte   short   int  long
小数型 float                 double
字符型 char
布尔型 boolean

下面分别介绍这4种类别:

1.整数型

        整数型是一类代表整数值的类型。当需要代表一个整数的值时,可以根据需要从4种类型中挑选合适的,如果没有特殊要求的话,一般选择int类型。4种整数型区别主要在每个数据在内存中占用的空间大小和代表的数值的范围。具体说明参看下表: 、

类型名称 关键字 占用字节 取值范围 默认值
字节型 byte 1 -2^7~2^7-1 0
短整型 short 2 -2^15-2^15-1 0
整型 int 4 -2^31-2^31-1 0
长整型 long 8 -2^63-2^63-1 0

 说明1Java中的整数都是有符号数,也就是有正有负。

              2、默认值指在特定的情况下才自动初始化,具体的情况后续将有叙述。

              3、程序中的整数数值默认是int以及int以下类型,如果需要书写long型的值,则需要在数值后面添加字母L,大小写均可。

2.小数型

        小数型是一类代表小数值的类型。当需要代表一个小数的值时,可以根据需要从以下2种类型中挑选合适的。如果没有特殊要求,一般选择double类型。由于小数的存储方式和整数不同,所以小数都有一定的精度,所以在计算机中运算时不够精确。根据精度和存储区间的不同,设计了两种小数类型,具体见下表:

类型名称 关键字 占用字节 取值范围 默认值
单精度 float 4 -3.4E+38—3.4E+38 0.0f
双精度 double 8 -1.7E+308—1.7E+308 0.0

 说明:1、取值范围以科学计数法形式进行描述。

              2、在程序中,小数的运算速度要低于整数运算。

              3、float类型的小数,需要在小数后加字母f,不区分大小写,例如1.01f。

3.字符型

        字符型代表特定的某个字符,按照前面介绍的知识,计算机中都是以字符集的形式来保存字符的,所以字符型的值实际只是字符集中的编号,而不是实际代表的字符,由计算机完成从编号转换成对应字符的工作。Java语言中为了更加方便国际化,使用Unicode字符集作为默认的字符集,该字符集包含各种语言中常见的字符。在程序代码中,字符使用一对单引号加上需要表达的字符来标识,例如’A’’a’等,当然也可以直接使用字符编码,也就是一个非负整数进行表示。具体见下表:

类型名称 关键字 占用字节 取值范围 默认值
字符型 char 2 0~2^16-1 0

   说明:1、字符型的编号中不包含负数。

               2、字符型由于存储的是编号的数值,所以可以参与数学运算。

               3、字符型可以作为Java语言中的无符号整数使用。

               4、字符型的默认值是编号为0的字符,而不是字符0

4.布尔型

        布尔型代表逻辑中的成立和不成立。Java语言中使用关键字true代表成立,false代表不成立。布尔型是存储逻辑值的类型,其实很多程序中都有逻辑值的概念,Java把逻辑的值用布尔型来进行表达。具体见下表:

类型名称 关键字 占用字节 取值范围 默认值
布尔型 boolean   true or false false

类型名称

关键字

占用空间(字节)

取值范围

默认值

布尔型

boolean

 

true或false

false

说明: 布尔型占用的空间取决于Java虚拟机(JVM)的实现,可能是1位也可能是1个字节。

原文:http://blog.csdn.net/tengweitw/article/details/23603041

作者:nineheadedbird






目录
相关文章
|
5天前
|
IDE Java 物联网
《Java 简易速速上手小册》第1章:Java 编程基础(2024 最新版)
《Java 简易速速上手小册》第1章:Java 编程基础(2024 最新版)
13 0
|
5天前
|
安全 Java 开发者
Java并发编程:深入理解Synchronized关键字
【4月更文挑战第19天】 在Java多线程编程中,为了确保数据的一致性和线程安全,我们经常需要使用到同步机制。其中,`synchronized`关键字是最为常见的一种方式,它能够保证在同一时刻只有一个线程可以访问某个对象的特定代码段。本文将深入探讨`synchronized`关键字的原理、用法以及性能影响,并通过具体示例来展示如何在Java程序中有效地应用这一技术。
|
6天前
|
安全 Java 调度
Java并发编程:深入理解线程与锁
【4月更文挑战第18天】本文探讨了Java中的线程和锁机制,包括线程的创建(通过Thread类、Runnable接口或Callable/Future)及其生命周期。Java提供多种锁机制,如`synchronized`关键字、ReentrantLock和ReadWriteLock,以确保并发访问共享资源的安全。此外,文章还介绍了高级并发工具,如Semaphore(控制并发线程数)、CountDownLatch(线程间等待)和CyclicBarrier(同步多个线程)。掌握这些知识对于编写高效、正确的并发程序至关重要。
|
7天前
|
缓存 分布式计算 监控
Java并发编程:深入理解线程池
【4月更文挑战第17天】在Java并发编程中,线程池是一种非常重要的技术,它可以有效地管理和控制线程的执行,提高系统的性能和稳定性。本文将深入探讨Java线程池的工作原理,使用方法以及在实际开发中的应用场景,帮助读者更好地理解和使用Java线程池。
|
7天前
|
Java API 数据库
深研Java异步编程:CompletableFuture与反应式编程范式的融合实践
【4月更文挑战第17天】本文探讨了Java中的CompletableFuture和反应式编程在提升异步编程体验上的作用。CompletableFuture作为Java 8引入的Future扩展,提供了一套流畅的链式API,简化异步操作,如示例所示的非阻塞数据库查询。反应式编程则关注数据流和变化传播,通过Reactor等框架实现高度响应的异步处理。两者结合,如将CompletableFuture转换为Mono或Flux,可以兼顾灵活性和资源管理,适应现代高并发环境的需求。开发者可按需选择和整合这两种技术,优化系统性能和响应能力。
|
8天前
|
缓存 监控 Java
Java并发编程:线程池与任务调度
【4月更文挑战第16天】Java并发编程中,线程池和任务调度是核心概念,能提升系统性能和响应速度。线程池通过重用线程减少创建销毁开销,如`ThreadPoolExecutor`和`ScheduledThreadPoolExecutor`。任务调度允许立即或延迟执行任务,具有灵活性。最佳实践包括合理配置线程池大小、避免过度使用线程、及时关闭线程池和处理异常。掌握这些能有效管理并发任务,避免性能瓶颈。
|
9天前
|
设计模式 运维 安全
深入理解Java并发编程:线程安全与性能优化
【4月更文挑战第15天】在Java开发中,多线程编程是提升应用程序性能和响应能力的关键手段。然而,它伴随着诸多挑战,尤其是在保证线程安全的同时如何避免性能瓶颈。本文将探讨Java并发编程的核心概念,包括同步机制、锁优化、线程池使用以及并发集合等,旨在为开发者提供实用的线程安全策略和性能优化技巧。通过实例分析和最佳实践的分享,我们的目标是帮助读者构建既高效又可靠的多线程应用。
|
9天前
|
SQL 安全 Java
Java安全编程:防范网络攻击与漏洞
【4月更文挑战第15天】本文强调了Java安全编程的重要性,包括提高系统安全性、降低维护成本和提升用户体验。针对网络攻击和漏洞,提出了防范措施:使用PreparedStatement防SQL注入,过滤和转义用户输入抵御XSS攻击,添加令牌对抗CSRF,限制文件上传类型和大小以防止恶意文件,避免原生序列化并确保数据完整性。及时更新和修复漏洞是关键。程序员应遵循安全编程规范,保障系统安全。
|
11天前
|
Java 编译器
Java并发编程中的锁优化策略
【4月更文挑战第13天】 在Java并发编程中,锁是一种常见的同步机制,用于保证多个线程之间的数据一致性。然而,不当的锁使用可能导致性能下降,甚至死锁。本文将探讨Java并发编程中的锁优化策略,包括锁粗化、锁消除、锁降级等方法,以提高程序的执行效率。
13 4
|
12天前
|
存储 安全 Java
Java语法掌握:打好编程基础的关键(二)
Java语法掌握:打好编程基础的关键
50 0