代码中有详细注解 (有些解释语言可能不够严谨规范但通俗易懂)
/*
String类型变量的使用
1. String属于引用数据类型,翻译为:字符串
2. 声明String类型变量时,使用一对""
3. String可以和8种基本数据类型变量做运算,且运算只能是连接运算:+
4. 运算的结果仍然是String类型
*/
class StringTest {
public static void main(String[] args) {
String s1 = "Hello World!";
System.out.println(s1);
String s2 = "a";
String s3 = "";
//char c = '';//编译不通过
//***********************
int number = 1001;
String numberStr = "学号:";
String info = numberStr + number;// +:连接运算,此处不是加法运算
boolean b1 = true;
String info1 = info + b1;// +:连接运算
System.out.println(info1);
//***********************
//练习1(通过猜测输出结果判断哪个+是连接运算符,哪个是加法运算符)
char c = 'a';//97 A:65
int num = 10;
String str = "hello";
System.out.println(c + num + str);//107hello
//c与num均含数字,c自动进行类型提升从char类型变为int型,c + num中间的+表示加法,两者之和为97+65=107,第二个+后面的str为String类型
//无法变化为数字,此时+表示连接号,连接107与hello
System.out.println(c + str + num);//ahello10
//c没有与数字相连,c无法自动进行类型提升从char类型变为int型,两个+号均表示连接号,
System.out.println(c + (num + str));//a10hello
//有括号先判断括号里面的,c没有直接与数字相连,c无法自动进行类型提升从char类型变为int型,两个+号均表示连接号
System.out.println((c + num) + str);//107hello
//***********************
//String str1 = 123;//编译不通过
String str1 = 123 + "";
System.out.println(str1);//"123"
//int num1 = str1;
//int num1 = (int)str1;//"123"
int num1 = Integer.parseInt(str1);//强行将str1转化为int类型
System.out.println(num1);//123
}
}
运行结果如图,便于理解代码