字符串——双引号括起来的0个或多个字符就是一个字符串字面量
例:
- " hello "
- " 1 "
- ""
字符串变量——String s;
关于String
- 变量是对象管理者——类似数组
- 字面意思是一串,在JAVA是字符串
- 首字母大写,表面不是基础类型,是一个类
创建字符串变量
<p class="p2"><span> </span><span> </span>String <span class="s1">s</span> = <span class="s2">new</span> String(<span class="s3">"a string"</span>);</p>
上面的意思:
- 创建一个String的对象
- 用”a string“初始化这个对象
- 创建管理这个对象的变量s,s不是所有者
- s管理" a string "
初始化字符串变量(编译器帮助我们去创建字符串变量,不用我们来)
<p class="p2"><span> </span><span> </span>String <span class="s1">s</span> = <span class="s2">" hello "</span>;</p>
意思:编译器帮你创建一个String类的对象交给s来管理
字符串连接——用+号连接2个字符串(字符串独有)
例子:
"hello" + "world" --> "helloworld"
当一边是字符串另一边不是,将另一边表达为字符串之后做连接
"I'm" + 18 --> "I'm 18"
1+2 + "age" --> "3age"
"age" +1+2 --> "age12"
"age" +1+2 --> "age12"
<span style="white-space:pre"></span><p class="p1"></p><p class="p2"><span> </span><span> </span>String <span class="s1">s</span> = <span class="s2">new</span> String(<span class="s3">"hello"</span>);</p><p class="p1"><span> </span><span> </span></p><p class="p2"><span> </span><span> </span>System.<span class="s4">out</span>.println(<span class="s5">s</span>);</p><p class="p2"><span> </span><span> </span>System.<span class="s4">out</span>.println(<span class="s5">s</span> + <span class="s3">" world"</span>);</p><p class="p3">//<span> </span><span> </span><span> </span><span> </span><span> </span><span> </span><span> </span>把<span class="s6">int</span>变成String——把12变成"12"——结果变成"hello12"</p><p class="p2"><span> </span><span> </span>System.<span class="s4">out</span>.println(<span class="s5">s</span> + 12);</p><p class="p3">//<span> </span><span> </span><span> </span><span> </span><span> </span><span> </span><span> </span>与上面一样,24变成"24"——"hello12"+"24"</p><p class="p2"><span> </span><span> </span>System.<span class="s4">out</span>.println(<span class="s5">s</span> + 12 + 24);</p><p class="p3">//<span> </span><span> </span><span> </span><span> </span><span> </span><span> </span><span> </span>想先算加法要加括号</p><p class="p2"><span> </span><span> </span>System.<span class="s4">out</span>.println(<span class="s5">s</span> + (12 + 24));</p><p class="p1"></p>
输出:
hello
hello world
hello12
hello1224
hello36
输入字符串
0.读入整数
<span style="white-space:pre"> </span>in.nextInt();
1.读入一个单词(标志是空格——空格包括空格、tab、换行)
Scanner in = new Scanner(System.in);
String s = in.next();
System.out.println(s);
</pre><pre>
输入:
This is a text.
输出:
This
<p class="p2"><span> </span><span> </span>Scanner <span class="s1">in</span> = <span class="s2">new</span> Scanner(System.<span class="s3">in</span>);<span> </span></p><p class="p2"><span> </span><span> </span>String <span class="s1">s</span> = <span class="s1">in</span>.nextLine();</p><p class="p2"><span> </span><span> </span>System.<span class="s3">out</span>.println(<span class="s1">s</span>);</p>
输入:
This is a text.
输出:
This is a text.
对象变量的赋值
// 比较是否指向同一个字符串
input == "bye"
// 比较内容是否相同——String用这个
input.equals("bye")
Scanner in = new Scanner(System.in);
String s;
s = in.next();
System.out.println(s);
System.out.println(s == "bye" );
System.out.println(s.equals("bye"));
输入bye
输出:
bye
false——s和"bye"是不同的字符串
true——s和"bye"内容相同