局部变量在方法、构造函数或代码块中声明。局部变量在进入方法、构造函数或代码块时创建,并在退出方法、构造函数或代码块时销毁。局部变量是在方法内声明的变量。此变量的作用域在方法内。例如 public abstract class Sample { public static void main(String args[]){ int data = 4044; System.out.println(data); } } 输出 4044
当我们没有初始化实例变量时,编译器会用默认值初始化它们。对于布尔类型,默认值为 false;对于浮点型和双精度型,默认值为 0.0;对于其余基本类型,默认值为 0。示例实时演示public class Sample { int varInt; float varFloat; boolean varBool; long varLong; byte varByte; short varShort; double varDouble; public static void main(String args[]){ Sample obj = new Sample(); System.out.println("Default int value ::"+obj.varInt); System.out.println("Default float value ::"+obj.varFloat); System.out.println("Default boolean value ::"+obj.varBool); ... 阅读更多
不,局部变量没有默认值。一旦我们创建了一个局部变量,就必须在使用它之前初始化它。由于 Java 中的局部变量存储在 JVM 的栈中,因此有可能获得先前值作为默认值。因此,在 Java 中不允许局部变量的默认值。示例 public class Sample { public static void main(String args[] ){ int data; System.out.println(data); } } 错误 C:\Sample>javac Sample.java Sample.java:4: error: variable data might not have been initialized System.out.println(data); ^ 1 error
String 不是基本数据类型。Java.lang 包提供了 String 类,因此它是一种对象类型。您可以像其他变量一样直接创建字符串变量,如 -String s = "myString";(或)通过使用 new 关键字实例化 String 类,如 -String s = new String("myString");示例实时演示import java.util.Scanner; public class StringExample { public static void main(String args[]){ Scanner sc = new Scanner(System.in); System.out.println("Enter a sting value:"); String str = sc.nextLine(); System.out.println(str.getClass()); } }输出输入一个字符串值: hello class java.lang.String