Java初学者笔记:数据类型与Integer的区别

需积分: 0 0 下载量 195 浏览量 更新于2024-08-29 收藏 69KB MD 举报
"Java新手学习笔记,涵盖Java程序类型、数据类型及Integer与int的区别" 在Java编程语言中,新手通常会接触到各种基础知识,其中包括Java程序的类型和数据类型。这里我们将深入探讨这两个主题。 首先,Java程序有两种主要类型:应用程序和小应用程序(Applet)。应用程序是独立运行的程序,可以在任何支持Java的环境中执行。小应用程序则可以嵌入到Web浏览器中,提供交互式的网页体验。在现代Web开发中,Applets已经较少使用,但理解其概念仍然是重要的历史背景。 接下来,我们讨论Java的数据类型。数据类型分为两大类:基本数据类型和引用类型。基本数据类型包括: 1. 整形:byte、short、int和long。这些类型的大小分别是1个字节、2个字节、4个字节和8个字节,分别对应-128到127、-32,768到32,767、-2^31到2^31-1和-2^63到2^63-1的数值范围。使用封装类如Integer可以方便地进行操作,例如,`int`对应的封装类是`Integer`。 2. 浮点型:float和double。它们可以表示带有小数的数值,且double精度更高。它们可以与整型数据混合使用,例如`float f = 3.14f;`或`double d = 3.14159;`。 3. 字符型:char,用于存储单个字符,如字母、数字或其他Unicode字符。例如,`char c = 'A';` 4. 布尔型:boolean,只有两个值,`true`和`false`,默认值为`false`。 引用类型,如Object、int[]、String和Student,是对象的类型,它们在内存中存储的是对象的引用(或称为指针)。这意味着你可以通过引用访问对象,而不是直接持有对象的值。 对于`int`和`Integer`的区别,这是Java中面向对象特性的一个典型例子。`int`是基本数据类型,可以直接赋值并使用。而`Integer`是`int`的包装类,属于引用类型,因此在使用前需要实例化。例如,`Integer i = new Integer(100);`。`Integer`变量实际上是一个指向对象的引用,而`int`则直接存储数值。 比较`Integer`和`int`变量时,需要注意以下几点: - `Integer`默认值为`null`,`int`默认值为`0`。 - 当用`new`关键字创建`Integer`对象时,会生成新的对象,即使值相同,对象引用也不相等。例如: ```java Integer i = new Integer(100); Integer j = new Integer(100); System.out.println(i == j); // 输出:false ``` - 当`Integer`与`int`进行比较时,如果值相等,Java会自动将`Integer`拆箱为`int`进行比较,这时它们相等。例如: ```java Integer i = new Integer(100); int j = 100; System.out.println(i == j); // 输出:true ``` - 对于-128到127之间的数值,Java会优化Integer的创建,将常量池中的Integer对象重用,这使得在一定范围内非`new`方式创建的`Integer`对象和`new Integer()`创建的对象可能会在值相等时仍然不相等,因为它们在内存中的地址不同。 了解这些基础知识对于Java初学者来说至关重要,它们构成了编写有效Java代码的基础。随着经验的积累,你将能够更深入地理解这些概念,并灵活运用到实际项目中去。