stringjava初始化
A. java的string初始化为null,为什么把null当成了字符串而不是空
没懂您的意思,String默认值是nulll,"null"和null是 有区别的。"null"是一个字符串,就和"abc"一个意思。
也就是String,在Java里,它属于包装类型,默认值是null(如果你不赋值的情况下)
B. java中string类型变量的默认初始值是什么
java中string类型变量的默认初始值是为null。
C. java中String类型一定需要初始化吗
如果后面有
赋值语句
,那么就不需要初始化,如果没有赋值语句,需要初始化,测试代码如下:
class
test
{
public
static
void
main(String[]
args)
{
String
s;
//System.out.println(s);
s="Hello";
System.out.println(s);
}
}
如果把注释部分的注释符号去掉,则会出现s未初始化的错误提示
D. java中为什么字符串要初始化
字符串初始化,实际上是为了进行内存存储和地址引用。
如:String str = new String("ABC");这个就是在内存中创建一个位孝扒置来存储“ABC”,之后在通消慎团过地址引用,赋值给“str”,如果不初始化的话,就没有进行存储,也就无从谈起引用。
备注:拿橘String str = “ABC”;结果和之前的“String str = new String("ABC");”是一样的,“ABC”创建过程实际上就是一个初始化过程,所以没必要纠结在这块,会用即可。不同的是每次new都创建一个存储空间来存储,而赋值(“ABC”)的形式,如果之前存在就直接引用,不存在才会创建。
E. JAVA里初始化是什么意思
初始化就是给变量一个初始值。
例如:
声明一个变量:String aa = "abc";int cc =0;其中abc和0就是初始化的值,最后值不一定是abc或者 0加入你覆盖了aa的值如下:
aa = "def" ; cc=1;那最后aa变量的值就是def,cc变量就是1了,初始化的目的是为了让变量有值,防止使用时出现异常。
(5)stringjava初始化扩展阅读:
作用
1、遇到new,getstatic,putstatic,或invokestatic这4条字节码指令时,如果类没有进行过初始化,则需要先触发其初始化。生成这四条指令单最常见的Java代码场景是:
使用new关键字实例化对象的时候,读取或设置一个类的静态字段(被final修饰,已在变异期把结果放入常量池的静态字段除外)的时候,以及调用一个类的静态方法的时候。
2、使用java.lang.reflect包的方法对类进行反射调用的时候,如果类没有进行过初始化,则需要先出法其初始化。
3、当初始化一个类的时候,如果发现其父类还没有进行初始化,则需要先出法其父类的初始化。
4、当虚拟机启动时,用户需要指定一个要执行的主类(包含main()方法的那个类),虚拟机会先初始化这个主类。
F. JAVA中一个类包含String数组怎么初始化的
不可以滴!!
因为在B中,如果没有了带*的那一行,那么仅仅只是代表 有存在一个存放A类型数组:as[i],但是里面每个元素到底存放什么我们是不知道的,在JAVA里面,就是引用为空的意思,既as[i] = null。就是说里面其实是没有任何东西的,仅仅只有一个定义而已,那怎么可以指向A类里面的a属性呢?因为as[i]指向的东西都为空,空就是代表没有任何东西,那么里面自然也不会有a这个属性咯。所以我们在声明完数组的时候,必须把数组里面的元素也申明了。但是为什么C可以呢。
你看C是这样做的:
C先声明了一个数组,所以只要存在C的实例,就可以使用到这个数组。虽然这时候,数组里面的元素是为空的,但是你在主程序里面使用了c.s[1]="3",意思就是为c实例里面的数组的第2个元素给申明了,而不是直接引用,这与B是不同的。
——————————————————————————————————————————————————————
B-->不为空,所以可以使用B里面的元素,既as数组,但是as数组里面的元素是空的,所以不存在里面有某种属性的说法,自然是不可是使用A类里面的元素a咯。
C--》不为空,所以可以使用C里面的元素s数组,然后对s数组进行操作。
祝你好运!!希望你能够理解
G. Java局部变量初始化,String类型为什么不用初始化就能使用
局部变量String需要初始化!
以下代码:
public class Test {
public static void main(String[] args) {
String s;
System.out.println(s);
}
}
这个代码直接报错,无法编译
你上面的代码没错是因为你在while循环里对s进行了初始化
H. java String 初始化 是 null 还是 “” 他们的区别
你在创建的时候,没有初始化时或赋值时,打印出的是null
因为String类型是一个对象,而不像int之类是基本类型有初始默认值
如果在初始时赋值“”(空值),那也算创建对象了(就是相当于new 操作)
打印出的为“”(空值)
I. java 如何定义字符串变量
一、使用 String 类定义:
在 Java 中每个双引号定义的字符串都是一个 String 类的对象。因此,可以通过使用 String 类的构造方法来创建字符串,该类位于 java.lang 包中,作用域是 final。
String 类的构造方法有多种重载形式,每种形式都可以定义字符串。下面介绍最常用的几种形式。
1、 String()
初始化一个新创建的 String 对象,表示一个空字符序列。
2、String(String original)
初始化一个新创建的 String 对象,使其表示一个与参数相同的字符序列。换句话说,新创建的字符串是该参数字符串的副本。
3、String(char[ ]value)
分配一个新的字符串,将参数中的字符数组元素全部变为字符串。该字符数组的内容已被复制,后续对字符数组的修改不会影响新创建的字符串。
4、String(char[] value,int offset,int count)
分配一个新的 String,它包含来自该字符数组参数一个子数组的字符。offset 参数是子数组第一个字符的索引,count 参数指定子数组的长度。该子数组的内容已被赋值,后续对字符数组的修改不会影响新创建的字符串。