一、null是代表不确定的对象Java中,null是一个关键字,用来标识一个不确定的对象。因此可以将null赋给引用类型变量,但不可以将null赋给基本类型变量。比如:int a = null;是错误的。Ojbect o = null是正确的。Java中,变量的适用都遵循一个原则,先定义,并且初始化后,才可以使用。我们不能int a后,不给a指定值,就去打印a的值。这条对对于引用类型变量也是适用的。有时候,我们定义一个引用类型变量,在刚开始的时候,无法给出一个确定的值,但是不指定值,程序可能会在try语句块中初始化值。这时候,我们下面使用变量的时候就会报错。这时候,可以先给变量指定一个null值,问题就解决了。例如:
Connection conn = null;
try {
conn = DriverManager.getConnection("url", "user", "password");
} catch (SQLException e)
{
e.printStackTrace();
}
String catalog = conn.getCatalog();
如果刚开始的时候不指定conn = null,则最后一句就会报错。
二、null本身不是对象,也不是Objcet的实例null本身虽然能代表一个不确定的对象,但就null本身来说,它不是对象,也不知道什么类型,也不是java.lang.Object的实例。可以做一个简单的例子:
//null是对象吗? 属于Object类型吗?
if (null instanceof java.lang.Object) {
System.out.println("null属于java.lang.Object类型");
} else {
System.out.println("null不属于java.lang.Object类型");
}结果会输出:null不属于java.lang.Object类型
三、Java默认给变量赋值在定义变量的时候,如果定义后没有给变量赋值,则Java在运行时会自动给变量赋值。赋值原则是整数类型int、byte、short、long的自动赋值为0,带小数点的float、double自动赋值为0.0,boolean的自动赋值为false,其他各供引用类型变量自动赋值为null。这个具体可以通过调试来看。
四、容器类型与nullList:允许重复元素,可以加入任意多个null。Set:不允许重复元素,最多可以加入一个null。Map:Map的key最多可以加入一个null,value字段没有限制。数组:基本类型数组,定义后,如果不给定初始值,则java运行时会自动给定值。引用类型数组,不给定初始值,则所有的元素值为null。
五、null的其他作用1、判断一个引用类型数据是否null。 用==来判断。2、释放内存,让一个非null的引用类型变量指向null。这样这个对象就不再被任何对象应用了。等待JVM垃圾回收机制去回收。
分享到:
相关推荐
Java 中的 super 关键字有三种用法:在子类的构造函数中调用父类的构造方法、在子类中访问父类的成员变量或方法、在子类的构造函数中直接传递参数给父类的构造方法。 首先,在子类的构造函数中,super 关键字可以...
在Java编程语言中,实现根据关键字查找文件夹内包含该关键字的文件是一项常见的任务,尤其在数据处理、日志分析或者文件管理系统中。这个功能可以帮助用户快速定位到含有特定信息的文件,提高工作效率。以下是一个...
- 标识符是开发者定义的,用来给程序中的类、变量和方法命名的词汇,标识符可以是任何有效的字符序列,只要它们不与关键字和保留字冲突,且遵循Java的命名规则。 注意事项: 1. 确认Java关键字,不要与C/C++或其他...
表2-1列举了Java的关键字,包括像"true"、"false"和"null"这样的特殊值,它们虽然理论上不是关键字,但在实践中与关键字等效。值得注意的是,Java不支持C语言中的"sizeof"运算符,因为所有数据类型的大小是固定的。...
`void`表示方法无返回值,而`return`则用于从方法中返回一个值。`int`、`double`、`char`等是基本数据类型,而`boolean`用于布尔逻辑。`null`是一个特殊的值,表示对象引用未指向任何对象。 流程控制关键字包括`if`...
当我们序列化并反序列化这个对象时,会发现`pwd`的值在反序列化后变为默认值`null`,即在`toString()`方法中输出为`NOTSET`。这表明`transient`关键字成功地阻止了`pwd`的序列化过程。 #### 与volatile关键字的区别...
- **用途**:用于从方法中返回值或提前结束方法。 - **示例**: ```java public int add(int a, int b) { return a + b; } ``` #### 12. `static` - **用途**:声明静态成员,即属于类而非特定实例的成员。 - ...
- `const`:虽然在C++中是关键字,但在Java中并未使用,保留以备将来使用。 - `goto`:同样是C++中的关键字,在Java中保留但未使用。 #### 总结 掌握Java的关键字和保留关键字对于编写高质量、可维护的代码至关...
35. **return**:用于从方法中返回值或提前结束方法执行。 36. **short**:基本数据类型之一,短整型数。 37. **static**:用于声明静态成员,即类的成员而不是对象的成员。 38. **strictfp**:用于强制浮点计算遵循...
### Java关键字分类解释 ...- **const/goto**: `const`和`goto`是保留关键字,在当前版本的Java中并未使用。 以上是Java关键字的主要分类及其简要介绍。熟练掌握这些关键字对于编写高质量的Java程序至关重要。
34. `return`:从方法中返回值,结束方法执行。 35. `short`:16位整型,基本数据类型之一。 36. `static`:声明静态成员,静态变量和方法属于类,而非类的实例。 37. `strictfp`:确保浮点运算的精度符合IEEE ...
本文档系统列举了Java的关键字及其用法分类,总共分为以下几个类别:访问控制、类、变量修饰符、流程控制、数据类型、异常处理、包和变量引用、运算符等。 访问控制 * public:公共的,所有类都可以访问。 * ...
33. return: 用于从方法中返回值。 34. short: 基本数据类型,表示16位的有符号整数。 35. static: 表示静态的,可以用于创建类变量和静态方法。 36. strictfp: 用于FP-strict模式,意味着浮点运算遵循IEEE-754标准...
34. `return`:从方法中返回一个值。 35. `short`:数据类型,表示16位整数。 36. `static`:声明静态成员,属于类而非对象。 37. `strictfp`:确保浮点运算的精确性。 38. `super`:访问父类的成员。 39. `switch`...
在Java中,一共有51个关键字(包括保留字),但描述中提到的是48个,可能是因为某些关键字在特定上下文不常用或者被归类到保留字中。下面将详细介绍这些关键字及其用途。 1. **abstract** - 用于声明抽象类或抽象...
本文将详细解释在Java中new关键字的各种用法,并结合示例代码进行阐述。 1. 基本对象的创建: 使用new关键字可以创建任何类的新实例。创建对象时,JVM会在堆内存中分配空间,并调用类的构造器来初始化对象。例如: ...
Java 关键字和标识符的使用 Java 编程语言中,关键字和标识符是两个...Java 中的关键字和标识符都是编程中非常重要的概念,它们在编程中扮演着不同的角色,了解关键字和标识符的使用可以帮助开发者更好地编写代码。
在main方法中,可以调用这个方法来查找PDF文件中关键字所在的页码和坐标,例如: ```java public static void main(String[] args) throws IOException { // ... String keyword = "消失的太阳:"; List[]> ...
在Java编程语言中,`static`关键字扮演着重要的角色,它影响着类和对象的内存分配方式。理解`static`关键字对于深入理解Java程序的内存管理至关重要。在本文中,我们将详细探讨`static`关键字在Java程序内存分析中的...