String数据类型
//String 数据类型的特点
/*
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 = '';//编译不通过
// char里边必须要写内容 不能空着
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
System.out.println(c + str + num);//ahello10
System.out.println(c + (num + str));//a10hello
System.out.println((c + num) + str);//107hello
System.out.println(str + num + c);//hello10a
注意!!!!
这里str + num + c 的结果为什么是 hello10a呢
因为首先str 和 num 进行运算 然后就是 str + int 类型
结果就是 hello10 然后类型是str 紧接着和后边的 char 类型进行
运算 是连接运算 结果就是 hello10a
他不是 hello107 除非这样写 str + (num + c )
要按照顺序来运算
//练习2
// 以下哪个代码能输出 * *这种形式
System.out.println("* *"); yes
System.out.println('*' + '\t' + '*'); no //93 char + char + char
System.out.println('*' + "\t" + '*'); yes char + str + char
System.out.println('*' + '\t' + "*"); no //53* char + char + str
System.out.println('*' + ('\t' + "*"));yes
解析:
为什么 '*' + '\t' + '*' = 93
因为这三个都是char类型 他会转化为字符集对应的ASCLL码来进行运算
//***********************
//String str1 = 123;//编译不通过
String str1 = 123 + "";
System.out.println(str1);//"123"
//int num1 = str1;
//int num1 = (int)str1;//"123"
int num1 = Integer.parseInt(str1);
System.out.println(num1);//123
}
}
关于String的两个小练习

