JavaSE8基础 String是特殊的引用类型,在函数的参数传递中只能把它当做 值类型来看待

os :windows7 x64
    jdk:jdk-8u131-windows-x64
    ide:Eclipse Oxygen Release (4.7.0)
    
    
code:

package jizuiku2;

public class Demo001 {
	public static void main(String[] args) {
		String str1 = "cnblog";
		String str2 = "jizuiku";
		System.out.println(str1);
		System.out.println(str2);

		test(str1,str2);
		System.out.println(str1);
		System.out.println(str2);

	}

	public static void test(String str1, String str2) {
		//在这里的改变,并不会引起主函数中的str1/2改变
		str1 = "jizuiku";
		str2 = "cnblog";
	}
}

result:

使用Debug对其进行分析:

  上图进入到了函数中,执行了str1="jizuiku";语句。发现str1变量确实发生了变化。但是.....

  切换到main函数中来后,发现main函数中的str1和str2没有任何变化.....

  再次切换到test函数中,执行完该函数。

  test函数执行完毕,回到main函数中11行位置.... 可以看到str1/2没有任何变化。

感想:

  研究源代码,查看前辈们的博文,学习英语读一读国外的相关方面的文章。争取早日Java入门!



Java优秀,值得学习。
学习资源:czbk的视频库。如果您有公开的资源,可以分享给我的话,用您的资源学习也可以。
博文是观看视频后,融入思考写成的。博文好,是老师讲得好。博文坏,是 给最苦 没认真。

时间: 2024-10-05 08:16:45

JavaSE8基础 String是特殊的引用类型,在函数的参数传递中只能把它当做 值类型来看待的相关文章

JavaSE8基础 String toCharArray 字符串转换成字符数组

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        code: package jizuiku.t01; public class Demo02 { public static void main(String[] args) { String str = "JavaSE8你好"; char[] c = str.toCharArray();//字符串转换成字

JavaSE8基础 String lastIndexOf 反向查找 返回字符在字符串中第一次出现时的索引值

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        code: package jizuiku.t00; public class Dome3 { public static void main(String[] args) { // 索引值 // 10 // 11 // 12 // 13 // 0123456789 String str = "abc01234543

JavaSE8基础 String getBytes 将不含中文的字符串转换成字节数组

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        code: package jizuiku.t01; import java.nio.charset.Charset; public class Demo01 { public static void main(String[] args) { String str = "[email protected]#$&qu

JavaSE8基础 String String.valueOf 将int类型变量转换成同面值大小的String类型

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        code: package jizuiku.t01; public class Demo04 { public static void main(String[] args) { int num = 12345; String str = String.valueOf(num); System.out.println

JavaSE8基础 String charAt 返回字符串中指定索引值所对应的一个字符

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        code: package jizuiku.t00; public class Demo2 { public static void main(String[] args) { String str = "abc0123456789"; System.out.println(str.charAt(2));/

JavaSE8基础 String String.valueOf 将字符数组转成字符串

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        code: package jizuiku.t01; public class Demo03 { public static void main(String[] args) { char[] c = { '给', '最', '苦' }; String str = String.valueOf(c); System.

JavaSE8基础 String indexOf 正向查找 返回字符在字符串中第一次出现时的索引值

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        code: package jizuiku.t00; public class Dome3 { public static void main(String[] args) { String str = "abc01234543210cba"; char ch = '0'; System.out.print

JavaSE8基础 String concat与+ 连接两个字符串

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        code: package jizuiku.t02; public class Demo { public static void main(String[] args) { String s1 = "cnblog"; String s2 = "jizuiku"; String res1

JavaSE8基础 String indexOf 正向 从指定索引值开始查找 字符在字符串中第一次出现的位置

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        code: package jizuiku.t00; public class Demo4 { public static void main(String[] args) { // 索引值 0123 String str = "abc01234543210cba"; char ch = '0'; Syst