当前位置:首页 » 编程语言 » javastring赋值

javastring赋值

发布时间: 2022-02-23 00:09:24

‘壹’ java中字符串赋值问题

Java运行时会维护一个String Pool(String池, String常量池, 字符串缓冲区)

String池用来存放运行时中产生的各种字符串,并且池中的字符串的内容不重复。

而一般对象不存在这个缓冲池,并且创建的对象仅仅存在于方法的堆栈区

String s = "accp";
创建s之前系统会先在"池子"中查找是否已经存在这个字符串, 如果存在则直接符号该字符串的句柄
如果不存在, 系统会创建一个新"accp"字符串, 并返回句柄, 以后再有"accp"被要求创建, 系统不会创建新的,而是直接返回已经存在的字符串的句柄

String s = new String("accp");
系统不会去"池子"中查找, 直接在内存中新开辟一块空间, 初始化为"accp",并返回句柄

‘贰’ java 字符串变量赋值例如 String a="abc"; String b; b=a; b="

Stringa="abc";//定义了一个"abc"字符串,a指向这个字符串
Stringb;
b=a;//使b也指向a现在指向的那个字符串("abc")
b="abcd";//定义了一个"abcd"字符串,b指向这个新的字符串

在内存中大致的示意图如下:

所以最后 a =“abc”,b=“abcd”

java中字符串是一个较为特殊的存在,如果感兴趣可以找资料详细了解

Java中字符串内存位置浅析

触摸java常量池

‘叁’ java中 输入字符串怎么给String数组赋值

因为你第一个for循环后i的值已经变成了2 即i=2
而你的数组的长度是2 下标最多是1 在下面的if判断里面你直接使用filenames[i] 此时的i=2 当然错误
java.lang.: 2

‘肆’ java String赋值

你定义的m是String类型。
m[3]中m是数组类型。
要用string直接替换的话,先chatAt(2),找出该位置的字符在进行替换。
如:
String m = new String("123456");
m=m.replace(m.charAt(2), '9');
System.out.println(m);

输出结果:129456

‘伍’ java用scanner给string赋值问题

1》”String y = input.nextLine();改为String y=input。next();

2》然后判断符号的语句里面y=="+"改为y.equals("+");

3》对于其他的什么/ * - 也按着上面的修改,那么你的程序可以正常的运行了。

4》附上修改后的代码。

import java.util.Scanner;

public class test {

public static void main(String[] args) {
int x = 1;

Scanner input = new Scanner(System.in);
System.out.println("请输入第一个操作数: ");
int data1 = input.nextInt();

System.out.println("请输入运算符号: ");
String y =input.next(); // 为什么把这句话跳了过去

if (y.equals("+")) {
x = 1;
}
if (y.equals("-")) {
x = 2;
}
if (y.equals("*")) {
x = 3;
}
if (y.equals("/")) {
x = 4;
}
System.out.print(x);

System.out.print("请输入第二个操作数:");
int data2 = input.nextInt();
int result = 0;
switch (x) {
case 1:
result = data1 + data2;
break;
case 2:
result = data1 - data2;
break;
case 3:
result = data1 * data2;
break;
case 4:
result = data1 / data2;
break;
}

System.out.println(data1 + " " + y + " " + data2 + " = " + result);
}
}


‘陆’ java中 字符串赋值问题

你的m[][] = null; 当然会报空啊

String m[][] = new String[10][10];就行了

‘柒’ Java:请教关于String对象的重新赋值

各个原始字符串可以想象成存放在公共的储存池中,比如说"a","b",在储存池里面是独立的单元,而字符串"ab"相当于将这"a","b"的储存单元共享,并且在内存中单独开辟了一个空间来储存"ab"这个字符串.可以理解为C语言的指针.新开辟出来的空间储存的是指向"a","b"的地址.所以一旦对"ab"进行任何修改,那么内存单元需要重新开辟.例如现在"ab"变成"aba",那么"aba"的内存地址就和"ab"不一样了

‘捌’ java如何将一个字符串值赋值给string 数组

你先要定义数组的空间 才能给数组赋值
phone=(String) hashmap.get("C_RECEIVER");
按照你给的代码 你的值肯定存在了HashMap中
Map<String,Object> obj=new HashMap<String,Object>();
obj.put("C_RECEIVER","xxx");

‘玖’ JAVA中怎么把string类型的变量的一部分赋值给另一个string变量

1.
String temp = "abcdefg";//将abc赋值给str
String str = temp.substring(0, 2);//0表示所要截取的第一个字符下标,2表示最后一个。
2.
String temp = "abcdefg";//将c后面的全部给str
String str = temp.substring(3);//3表示开始截取的第一个字符下标。

热点内容
iphone清除缓存软件 发布:2025-07-10 16:20:03 浏览:679
以下所列的c语言常量中错误的是 发布:2025-07-10 16:19:00 浏览:851
怎么给安卓应用重命名 发布:2025-07-10 16:18:01 浏览:999
php调用栈 发布:2025-07-10 15:58:33 浏览:869
android页面返回 发布:2025-07-10 15:58:22 浏览:461
php解析多层json 发布:2025-07-10 15:51:36 浏览:873
谷歌x86版安卓系统哪个最流畅 发布:2025-07-10 15:51:33 浏览:445
iqoo清除应用缓存 发布:2025-07-10 15:34:34 浏览:845
手机rm文件夹 发布:2025-07-10 15:30:48 浏览:581
游戏脚本挂 发布:2025-07-10 15:21:46 浏览:588