本文目录一览:
Java各类型的初始值
基本数据类型作为类的成员时,即使没有对其进行初始化,Java也会确保它有一个默认值,如下: 基本类型的初始值:
基本类型 | 默认值 |
---|---|
boolean | false |
char | \u0000(null) |
byte | (byte)0 |
short | (short)0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |
上面的默认值是当变量作为类的成员使用时才有的,Java这样做是保证基本类型的成员变量得到初始化,防止产生程序错误,但这些值在实际的程序中可能都是不合理的,所以最好明确地给出初始值。 | |
上面的默认值对在程序中非成员变量就不适用了,非成员变量如果不明确给出初始值,就可能是任何值。在Java程序编译时会提示你一个错误,而不是像C++中那样仅提示警告。 | |
至于那些引用类型,像数组、对象等,有些复杂,根据你的类型而定。对象一般设为 null ,数组则根据你的类型,按照基本数据类型的默认值来初始化。 |
|
明白了么? |
本文来自CSDN博客,转载请标明出处:
Java:关于基本数据类型的默认值,以布尔为例
布尔类型的默认值是 false
;
其余的7种基本类型默认值:
byte
是(byte)0
short
是(short)0
int
是0
long
是0L
float
是0.0f
double
是0.0d
char
是\u0000
java中string类型变量的默认初始值是什么?
Java中 String
类型变量的默认初始值是 null
。
String a, b;
声明 String
类型变量不需要考虑字符串分配的空间大小,并且在字符串初始化上也有更多选择:
String a("the dog");
-
String a; a = "the dog";
String a = "the dog";
也可以把重新给String
对象赋值而无须担心是否会导致容量不够,例如:
String a = "dog";
a = "persian";
a
能“自动”扩容,存储 "persian"
。
String
对象的赋值和比较操作不用像 C 那样调用库函数也能完成:
- 用
==
比较字符串,如果两个字符串内容完全一致,返回true
,否则false
。(在 C 中需要调用strcmp
函数) =
把一个变量复制到另一个,将复制字符串内容而非指针值。+
将两个字符串连接起来。 但String str = "the " + " dog";
却无法编译通过,+
可以在两个String
对象或一个String
和一个 C 字符串之间合并,但不支持两个 C 字符串合并。在此,字符串字面值仍然属于 C 字符串范畴。
String
类型单个字符的访问
用来访问一个 C 字符串里的单个字符的语法同样也可以用来访问一个 String
对象里的单个字符:
String dog = "Mac";
System.out.println(dog[0]); // 访问第1个字符 dog[0]
字符串长度应该使用 size()
成员函数,不同于 C 使用 strlen()
:
int length = dog.size();
字符串输入
String dog;
cin >> dog;
输入流操作符(>>
)为 String
类型的变量读入数据,但需要注意:无论来自键盘的字符有多少,只能返回第一个空白字符(空格、制表符、换行符)之前的那些字符。
可以使用:
getline(cin, dog);
把一整行字符的输入放到一个 String
变量里。
在java中八种基本数据类型在数组初始化中默认值是多少
Java 定义了8个简单的数据类型:字节型(byte
),短整型(short
),整型(int
),长整型(long
),字符型(char
),浮点型(float
),双精度型(double
),布尔型(boolean
)。
除了 boolean
默认为 false
,char
默认为 \u0000
,其他的都为 0
。