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编程零基础教程-068-Java基本语法-数据类型转换-int向byte、short、char型变量赋值.avi 北京动力节点-Java编程零基础教程-069-Java基本语法-数据类型转换-byte、short、char型数据间的运算.avi ...
适合人群:初学java语法入门测试代码 能学到什么:①注解、数组、数据类型、inet、method的实现;②多线程、oop、反射、scanner、struct等的 阅读建议:按照例子照着做或者直接运行起来,理解吸收代码
- Java有八种基本数据类型,包括整型(byte、short、int、long)、浮点型(float、double)、字符型(char)和布尔型(boolean)。这些类型的大小和范围都是固定的,不像C++中的int类型可能因平台而异。 3. **类型...
- **变量与数据类型**:Java有八种基本数据类型,包括整型、浮点型、字符型和布尔型,以及对应的引用数据类型如类、接口和数组。 - **运算符**:Java支持算术、关系、逻辑、位和赋值等多种运算符,用于处理数据和...
JAVA语法大全是指JAVA的基本语法,包括关键字、词法规则、数据类型、常量与变量、运算符和表达式、语句、数组和字符串等方面的知识点。 一、词法规则 词法规则是JAVA程序的基本组成部分,它规定了JAVA程序的词法...
Java的基本语法是学习Java编程的基础,包括变量声明、数据类型、运算符、流程控制语句等。变量是用来存储数据的容器,Java提供了八种基本数据类型,包括整型(byte、short、int、long)、浮点型(float、double)、...
Java支持基本数据类型(如int、char、float、double等)和引用数据类型(如类、接口和数组)。 3. 常量:用final关键字声明,一旦赋值后不能改变,如final double PI = 3.14; 4. 数据类型转换:Java分为自动类型...
java-c语法4 马克-to-win java视频 子程序 数据类型 循环
java-c语法3 马克-to-win java视频 循环 数据类型 子程序
Java 中有两种基本数据类型:基本数据类型和引用数据类型。基本数据类型包括整数类型、浮点类型、字符型、布尔型等。引用数据类型包括类、接口、数组、字符串等。每种数据类型都定义了明确的具体数据类型,在内存中...
"自动类型提升运算2"是Java编程中的一个重要概念,它涉及到数据类型的转换以及运算过程中如何处理不同类型的数据。 自动类型提升,也称为隐式类型转换,是指在进行算术运算或比较操作时,低精度数据类型会自动转换...
这意味着,当传递基本数据类型(如int, double, char等)时,传递的是实际值的副本;而传递引用类型(如对象)时,传递的是对象引用的副本,而不是对象本身。 - 示例: - 对于基本类型,方法内部修改参数不会影响...
1. **变量**:Java中的变量必须先声明后使用,有八种基本数据类型(byte, short, int, long, float, double, char, boolean)和引用数据类型(对象、数组、接口)。 2. **数据类型转换**:Java支持强制类型转换和...
在"day002 JAVA语法基础-数组入门"的学习中,我们将深入理解数组的概念、定义、初始化以及基本操作。 首先,数组是计算机内存中连续分配的一块区域,用于存储同类型的数据。它由四个主要组成部分组成:数组名,用于...
总之,"Java语法总结.zip"这个压缩包中的内容涵盖了Java编程语言的基础到高级语法,包括但不限于数据类型、控制结构、类与对象、继承与接口、异常处理、集合框架以及泛型和函数式编程等主题。学习并掌握这些知识,将...
总结来说,这个“90.088.JAVA基础教程_Java基本语法-每天一考(90)”的教程将带你走过Java编程的每一步,从理解基本语法元素到掌握面向对象的概念,再到实际编写和调试代码。每天的学习和练习将助你在Java编程的世界...
根据提供的文件信息,本文将对Java语法进行详细的解析与总结,包括基本的语法结构、关键字、数据类型、变量声明及转换等内容。 ### Java语言概述 Java是一种广泛使用的面向对象编程语言,由Sun Microsystems开发并...
它包括变量声明、数据类型(如整型int、浮点型float、字符型char、布尔型boolean等)、运算符(算术、比较、逻辑、赋值等)、流程控制语句(如if、for、while、switch等)以及方法定义等。这些构成了编写Java程序的...
Java提供了多种基本数据类型来表示不同种类的数据,包括整型、浮点型、字符型和布尔型。具体如下: 1. **byte**:占用1个字节(8位),取值范围为-128到127。 2. **short**:占用2个字节(16位),取值范围为-32768...
- **数据类型**:Java有两大类数据类型,即原始类型(primitives)和引用类型(references)。 - **运算符**:包括算术、比较、逻辑、位、赋值等运算符,用于进行各种计算和判断。 - **流程控制**:如if语句、...