Java中对象如何初始化

Java中对象如何初始化,第1张

初始化数组有三种方式,以下都是去初始化一个String类型长度2的数组:
方式一:
123String[] strs = new String[2];strs[0] = "0";strs[1] = "1";
方式二:
1String[] strs = new String[]{"0", "1"};
方式三:
1String[] strs = {"0", "1"};
三种方式,都有自己的使用场景,在合适场景使用即可。

String 字符串
String[] 数组字符串
你定义一个String[] 字符串数组 new 的肯定要是字符串数组 你定义的String[] 是根据new String[] 来的 java 虚拟机 分配你的 类型要虚拟机分配你的一直

java中string类型变量的默认初始值是为null。

string a,b;

声明string类型变量,不需要考虑字符串分配的空间大小,并且在字符串初始化上也有更多选择。

1string  a("the dog");

2string a;

a="the dog";

3string a="the dog";

可也可以把重新给string对象赋值而无须担心是否会导致容量不够,比如:

string a="dog";

a="persian";

a能“自动”扩容,存储"persian"

string对象的赋值和比较 *** 作不用像C那样调用库函数也能完成。

1用“==”比较字符串,如果两个字符串内容完全一致,返回true,否则flase,在c中需要调用strcmp函数

2“=”把一个变量复制到另一个,将复制字符串内容而非指针值。

3“+”将两个字符串连接起来

但 string str = "the "+" dog";却无法编译通过,+可以在两个string对象或一个string和一个C字符串之间合并,但不支持两个C字符串合并,在此,字符串字面值仍然属于C字符串范畴。

string类型单个字符的访问

用来访问一个C字符串里的单个字符的语法同样也可以用来访问一个string对象里的单个字符。

string dog="Mac";

cout<<dog[0]<<endl;//访问第1个字符dog[0]

字符串长度应该使用size成员函数,不同于C使用strlen:

int length=dogsize();

字符串输入

string dog;

cin >> dog;

输入流 *** 作符(>>)为string类型的变量读入数据,但不知是:无论来自键盘的字符有多少,只能返回第一个白空格字符(空格,制表符,换行符)之前的那些字符。

可以使用getline(cin,dog);

把一整行字符的输入放到一个string变量里。

不可以滴!!
因为在B中,如果没有了带的那一行,那么仅仅只是代表 有存在一个存放A类型数组:as[i],但是里面每个元素到底存放什么我们是不知道的,在JAVA里面,就是引用为空的意思,既as[i] = null。就是说里面其实是没有任何东西的,仅仅只有一个定义而已,那怎么可以指向A类里面的a属性呢?因为as[i]指向的东西都为空,空就是代表没有任何东西,那么里面自然也不会有a这个属性咯。所以我们在声明完数组的时候,必须把数组里面的元素也申明了。但是为什么C可以呢。
你看C是这样做的:
C先声明了一个数组,所以只要存在C的实例,就可以使用到这个数组。虽然这时候,数组里面的元素是为空的,但是你在主程序里面使用了cs[1]="3",意思就是为c实例里面的数组的第2个元素给申明了,而不是直接引用,这与B是不同的。
——————————————————————————————————————————————————————
B-->不为空,所以可以使用B里面的元素,既as数组,但是as数组里面的元素是空的,所以不存在里面有某种属性的说法,自然是不可是使用A类里面的元素a咯。
C--》不为空,所以可以使用C里面的元素s数组,然后对s数组进行 *** 作。
祝你好运!!希望你能够理解


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13103191.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-30
下一篇 2023-05-30

发表评论

登录后才能评论

评论列表(0条)

保存