Java学习之路--String类初识
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package com.github.nuistgy.teststring;
/**
* 测试字符串类
* @author 葛宇
*
*/
public class TestString {
public static void main(String[] args) {
String str = "abc";
String str1 = new String("def");
String str2 = "abc"+"def";
String str3 = "1"+1;
System.out.println(str3);

///////////////////////////////////

String str4 = "xyz";
String str5 = "xyz";
String str6 = new String("xyz");
System.out.println(str4==str5); //输出true
System.out.println(str5==str6); //输出false
System.out.println(str5.equals(str6)); //输出true
}
}

关于String类既没什么好讲的又有太多东西可讲,因为相关知识点很多、很细小,建议适合配合document使用。博客里仅推送一些必要的以及学习中应值得注意的知识点,后续也会进行补充。

关于上述代码,注意三点:“+”号的作用是充当字符串连接符;str4和str5均指向字符串常量池的同一个字符串“xyz”,但是new String得到的字符串对象是一个全新的,故“==”判别为false;equals用来对字符串内容作比较,==是对地址做比较。


Java学习之路--数组用法(2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/**
* 测试数组
* @author 葛宇
* 测试三种初始化方法和foreach遍历
*/
package com.github.nuistgy.testarray;

public class Test02 {
public static void main(String[] args) {
//静态初始化
int a[] = {1,2,3};
Student stu[] = {new Student(1001,"Mark"),
new Student(1002,"Jhon"),
new Student(1003,"Jack")
};
//默认初始化
int b[] = new int[3]; //默认是0
boolean bool[] = new boolean[3]; //默认是false
String s[] = new String[3]; //默认是null
Student stu_[] = new Student[3]; //默认是null

//动态初始化
int c[] = new int[3];
c[0] = 1;
c[1] = 2;
c[2] = 3;

//foreach遍历.注意:foreach不用于写操作,只用于读操作
for(int m :c) {
System.out.println(m);
}
}
}

class Student{
private int id;
private String name;

Student(int id,String name){
this.id = id;
this.name = name;
}
}

Java学习之路--super用法(1)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/**
* 测试super用法
* @author 葛宇
* super是对直接父类的引用,可以通过super来访问被子类覆盖的父类的方法或属性
*/
package 面向对象核心;

public class TestSuper {
public static void main(String[] args) {
new ChildClass().func();
}
}

class FatherClass{
public int value;

public void func() {
value = 100;
System.out.println("FatherClass.value="+value);
}
}

class ChildClass extends FatherClass{
public int value; //覆盖了父类的value属性

public void func() { //重写了父类func()方法
super.func(); //调用父类value
value = 200; //指子类的value
System.out.println("ChildClass.value="+value);
System.out.println(super.value);
}
}