Java语法总结 - 基本数据类型
Java不是纯的面向对象的语言,不纯的地方就是这些基本数据类型不是对象。当然初期Java的运行速度很慢,基本数据类型能在一定程度上改善性能。如果你想编写纯的面向对象的程序,用包装器类是取代基本数据类型就可以了。
1、基本类型的存储空间。byte--8位,short--16位,int--32位,long--64位,float--32位,double--64位。这六种数字类型都是有符号的。固定的存储空间正是Java可移植性、跨平台的原因之一!
2、基本类型的存在导致了Java OOP的不纯粹性。因为基本类型不是对象,一切皆对象是个小小的谎言。这是出于执行效率的权衡。
3、使用公式-2的(位数-1)次幂到2的(位数-1)次幂-1确定整数类型的范围(byte、short、int、long)。
4、char是16位Unicode字符或者说是16位无符号整数,范围从0到65535。即便如此,可以强制转换非法的数据,如:char c1 = (char) 10000; char c2 = (char) -200;。可以从二进制存储的角度理解这点。
5、整数有八进制(以0开头的整数)、十进制、十六进制(以0x或0X开头的整数)表示。
6、char可以用单引号表示单个字符,如:'良'。也可以用unicode值'"ucafe'(四位十六进制数)。
7、布尔型boolean。布尔型只能是true或者false,并且测试它为真还是假。它不能进行任何其他的运算,或者转化为其他类型。
正例:boolean b1 = 1 > 2; 反例:int seen = button.isVisible();
实践:简洁是美德,请不要这样写:if ( is == true && done == false ) ,只有新手才那么写。
对于任何程序员 if ( whether && !done ) 都不难理解吧。所以去掉所有的==fasle 和 ==true。
8、默认的浮点类型是双精度(double),要想要一个float必须在浮点数后面加F或者f。如:float pi = 3.14;是错误的。
9、默认的整数类型是int型,要想使用长整型可在后面加“l”或“L”,如:1000L。(小写l容易被误认为1,不推荐用)
10、float可以精确到7位有效数字,第8位的数字是第9位数字四舍五入上取得的;double可以精确到16位有效数字,第17位的数字是第18位数字四舍五入上取得的。盖茨到底有多少钱?要用double表示,用float是装不下的……
11、如果要求精确的答案,请不要使用float和double,因为它们是为了在广域数值范围上提供较为精确的快速近似运算而精心设计的。然而,它们没
有提供完全精确的结果。尤其是对货币计算尤为不适合,因为要让一个float或double精确地表达0.1(或者10的任何)
12、BigInteger支持任意精度的整数。BigDecimal支持任意精度的定点数。
13、初始化无论怎么强调都不过分!Java为所有的成员变量提供了默认初始化:byte、short、 int、long--0
float--0.0f double--0.0 boolean--false
char--'"u0000',特别地对象类型的引用全被初始化为null。(注意!除了数组之外的局部变量是得不到这种优待的,需要你自己初始化。另
外,默认初始化的值是你想要的吗?所以最好明确地对变量进行初始化,一般是在构造函数中。)
14、基本类型之间的转化。Java的类型检查很严格,从低精度转换到高精度是无须显式转换的,double d =
123;。但是反过来,进行窄化转换,由高精度向低精度,或者一种类型到另一种类型,则必须使用强制类型转化。Java提供了安全转化机制,但是结果是否
是期望的,你自己保证吧。
double d = 12.5;
float f = (int) d; //结果不是13,而是12!
浮点型转化为整型时,不进行四舍五入,直接截断小数点后面的数。
15、提升。各种基本数据类型进行混合运算,结果会是表达能力最强的那种。如:int和long运算,结果是long,整型和浮点型运算结果是浮点型。特
殊的一点是:只要类型比int小(如char、byte、short),那么在运算之前,这些值会自动地转换成int。例子:
byte b1 = 12;
byte b2 = b1 + 1; //在编译时出错了!因为b1+1已经是int型了!切记!
16、浮点类型的科学表示法。在数学中e代表自然对数(Math.E给出了double值),而在Java中e代表10的幂次。浮点型的数可以这样表示float f = 1e-27f; 代表1乘以10的负27次幂。
分享到:
相关推荐
Java 基本数据类型详解 Java 是一种面向对象的编程语言,Java 语言中有两大类数据类型:基本数据类型和引用数据类型。基本数据类型是 Java 语言的基础,理解基本数据类型是学习 Java 的关键。 Java 基本数据类型有...
京动力节点-Java编程零基础教程-001-编程基础-基本概念-语言、程序、编程.mp4 北京动力节点-Java编程零基础教程-002-编程基础-基本概念-编译.mp4 北京动力节点-Java编程零基础教程-003-编程基础-基本DOS操作.mp4 ...
Java编程语言中的基本数据类型是程序设计的基础,它们是由语言本身定义并直接支持的。Java提供了两种主要的数据类型:原始(Primitive)数据类型和引用(Reference)/对象数据类型。 1. 原始(Primitive)数据类型...
### Java基本数据类型详解 #### 一、引言 在Java编程语言中,理解基本数据类型对于编写高效、可靠的程序至关重要。本文将详细介绍Java中的基本数据类型,包括它们的定义、范围、存储空间以及如何在实际开发中正确...
Java是一种静态类型语言,它提供了8种基本数据类型,用于存储原始数据。以下是对Java基本数据类型的简要概述: 基本数据类型直接存储数据,不存储引用。 每种类型有固定的内存大小和取值范围。 它们具有默认值,未...
Java实现的k-means聚类算法详解 k-means聚类算法是一种常用的无监督学习算法,用于对数据进行聚类分析。该算法的主要思想是将相似的数据点聚类到一起,形成不同的簇。Java语言是实现k-means聚类算法的不二之选。 ...
简单数据类型详解 - **知识点:** Java中的简单数据类型包括整数型、浮点型、字符型和布尔型。 - 整数型和浮点型可以表示不同进制的数。 - boolean类型的默认值是false。 - double类型的数据占计算机存储的64位...
各章节包括但不限于Java的基本概念与数据类型、控制结构与流程控制、面向对象编程、继承与多态、异常处理等方面。每个模块不仅讲解理论知识,还配以详尽的技术要点分析和实际案例演示。 适合人群:适用于Java初学者...
### JAVA数据类型转换详解 #### 一、引言 在Java编程中,数据类型转换是一项基本且重要的技能。本文档将详细介绍Java中的数据类型转换,包括简单数据类型之间的转换、字符串与其他数据类型的转换以及一些实用的...
### Java基本数据类型详解 #### 一、Java基本数据类型概览 在Java语言中,基本数据类型(Primitive Data Types)是指直接存储数值而不通过对象间接存储的数据类型。Java提供了八种基本数据类型,分为四类:逻辑型...
Java 数据类型是编程的基础,它分为两种主要类别:简单类型(Primitive)和引用类型(Reference)。简单类型包括基本的数据结构,如整数、浮点数、字符和布尔值,它们在内存中直接存储值,而引用类型则指向内存中的...
Java编程语言中有两种类型的变量:基本数据类型和封装类型。基本数据类型是Java语言预定义的,它们直接存储值,而封装类型则是这些基本类型的对象形式。本文将深入探讨Java中的int基本数据类型和Integer封装类型之间...
#### 二、Java数据类型转换概述 Java中的数据类型转换主要包括以下三类: 1. **简单数据类型之间的转换** 2. **字符串与其他数据类型的转换** 3. **其他实用数据类型的转换** 接下来,我们将逐一探讨这些转换方式...
### Java基本数据类型详解 #### 一、概述 在Java编程语言中,基本数据类型扮演着极其重要的角色,它们直接关系到程序的性能和效率。Java提供了八种基本数据类型,分别为四种整数类型(`byte`、`short`、`int`、`...
实验报告的标题与描述提到了"Java大学实用教程"中的"实验二",主题是"基本数据类型和数组"。这个实验旨在帮助学生深入理解Java编程语言中的基础元素,包括基本数据类型的使用以及数组的处理。以下是根据实验内容展开...
总结,`java.lang`包是Java的核心,包含了一系列基础类和接口,它们为Java程序提供了基本的运算、数据类型转换以及多线程、安全性等方面的支持。理解和熟练使用这些类和接口是掌握Java编程的关键。
### Java基本数据类型详解 #### 一、基本数据类型概览 Java提供了八种基本数据类型,分为两类:数值类型和非数值类型。数值类型又分为整数类型和浮点类型,非数值类型则主要是布尔类型。这些类型是Java语言的基础,...
《钉钉Java SDK详解与应用实践》 在数字化办公领域,钉钉作为一款深受企业喜爱的协同办公平台,提供了丰富的API接口供开发者进行定制化开发。本文将详细讲解"taobao-java-sdk-1.0.0",这是一个专门用于Java环境下的...