Java笔记之字符串(一)

Java笔记之字符串(一)


我对String的理解

Java中字符串是使用String来实现的,String位于java.lang(这个包默认导入,因此我们不需手动导入就能使用String)。

首先我们需要记住Java中的String是一个类,也就是说字符串是对象(不能把它当成数组奋斗)。


String构造方法

常见的构造方法有:惊讶

String() 构造空串

String(char[] value) 使用字符数组构造字符串

String(String original) 使用字符串构造字符串


使用构造方法与我们平时使用的方式比较:(平时使用的方式类似Stringa =“abc”这种)

StringTest.java

public class StringTest
{
	public static void main(String[] args)
	{
		// 1. String()
		String a0 = new String();
		String a1 = "";
		System.out.println("a0 equals a1 ?" + a0.equals(a1));

		// 2. String(char[] value)
		char[] chars = { 'H', 'e', 'l', 'l', 'o' };
		String b0 = new String(chars);
		String b1 = "Hello";
		System.out.println("b0 equals b1 ?" + b0.equals(b1));

		// 3. String(String original)
		String c0 = new String("World");
		String c1 = "World";
		System.out.println("c0 euqals c1 ?" + c0.equals(c1));
	}
}

结果:

这里说明一下,equals方法是”返回两个字符串内容是否相同”。由结果看见,这里的对比是等价的。


String的不可变性

如果一个对象,在它创建完成之后,不可以改变它的话,那么这对象就有不可变的特性。

Java初学者会认为,明明String可以变。其实这只是看起来能变而已。


例子1:

String a = “123”;

a = “abc”;

让我们来看看这段代码做了些什么疑问

第一句,创建了字符串”123”,并让a指向字符串”123”;

第二句,创建了字符串”abc”,并让a重新指向”abc”,而”123”没有被指向,会当作垃圾被回收。


例子2:

String a = “abc”;

a = a + “123”;

第一句,创建了字符串”abc”,并让a指向字符串”abc”;

第二句,创建了一个新字符串,其内容为”abc”+”123”,即”abc123”,并让a指向字符串”abc123”,而”abc”当作垃圾被回收。


所以,在这两个例子中,字符串”123”仍然是”123”,同样”abc”亦是”abc”,直到被回收其值一直没有变化吐舌头


用substirng方法分解字符串

substring方法会返回一个按照位置划分的子串。对于这个方法和它的重载就不多啰嗦了睡觉,直接看下面的代码:

SubStringTest.java

public class SubStringTest
{
	public static void main(String[] args)
	{
		String a = "Java 2C05C";
		System.out.println(a);

		String b = a.substring(2);
		System.out.println(b); // 获取2到最尾的子串

		String c = a.substring(3, 7);
		System.out.println(c); // 获取3到6的子串

		String d = a.substring(2, a.length());
		System.out.println(d); // 获取2到最尾的子串
	}
}

结果:

这里注意一下,Java中的位置引索通常都是左闭右开的。像substring(2,4)就是获取第2~3字符组成的串( 用数学的话,[2,4) 大于等于2且小于4 )。


今天的Java冷知识

大家会只用javac、java来编译和运行包中的类吗?我这样一问,发现身边好多小伙伴都不会。敲打

那么今天我就来说一说吧。

首先写一个java程序,我用helloworld来举例:

C:\Java\hello\HelloWorld.java

package hello;

public class HelloWorld
{
	public static void main(String[] args)
	{
		System.out.println("Hello, World!");
	}
}

这个类位于hello包中,那么久需要把java文件放在hello文件夹中。

之后,我们就可以编译和运行了,先打开cmd并进入到C:\Java路径中

也就是说需要打的命令:

javac 包名\类名.java

java 包名.类名


喜欢的小伙伴请关注一下,不定期更新,暂时一周至少会更新一篇。害羞

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值