创建一个包含“welcome to java"的字符串,可以使用两种方法是: String s = "welcome to java" Striing s = new String("welcome to java") 哪种方法更好,为什么?
时间: 2024-02-12 19:17:32 浏览: 25
在这种情况下,两种方法都可以创建一个包含“welcome to java”字符串的字符串对象。然而,更好的方法是使用第一个方法:`String s = "welcome to java"`。这是因为Java会在编译时将所有相同的字符串文字合并为一个对象,因此使用第一个方法可以减少内存使用。而使用第二个方法,每次使用时都会创建一个新的字符串对象,这会浪费内存。此外,第一个方法更简洁和易于阅读,因此更常用。
相关问题
编写一个方法 public String initcap(String word); 把整句话的每个单词的首字母改成大写,其它不变。 例如字符串:String str=”welcome-to-china”。
好的,下面是 Java 代码实现:
```java
public class StringUtil {
public static String initcap(String word) {
if (word == null || word.isEmpty()) {
return word;
}
String[] words = word.split("-");
StringBuilder sb = new StringBuilder();
for (String w : words) {
if (w.isEmpty()) {
continue;
}
char[] chars = w.toCharArray();
chars[0] = Character.toUpperCase(chars[0]);
sb.append(new String(chars)).append("-");
}
if (sb.length() > 0) {
sb.deleteCharAt(sb.length() - 1);
}
return sb.toString();
}
}
```
这个方法接受一个字符串参数,返回每个单词首字母大写的字符串。它首先检查输入字符串是否为空或为 null,如果是,则直接返回原字符串。然后将字符串按照“-”分隔符拆分成单词数组,遍历每个单词,如果单词为空,则跳过;否则将单词转换为字符数组,将第一个字符大写,然后将字符数组转换为字符串并追加到 StringBuilder 中,同时追加一个“-”分隔符。最后,如果 StringBuilder 的长度大于 0,则删除最后一个分隔符,然后将 StringBuilder 转换为字符串并返回。
定义一个String s=”hello,everyone,welcome to learn java!” 完成题目: 1 统计字符的个数 2 求出welcome的起始索引,并输出welcome单词 3 按逗号拆分成一个数组,并输出数组内容 4 将字符串的everyone改成单词students,并输出。 5 键盘输入一句英语句子,提取输出句子中的单词
1. 统计字符的个数
可以使用s.length()方法获取字符串s的长度,即字符的个数。
代码:
String s = "hello,everyone,welcome to learn java!";
int count = s.length(); // 获取字符串s的长度
System.out.println("字符个数:" + count);
输出结果:
字符个数:41
2. 求出welcome的起始索引,并输出welcome单词
可以使用indexOf()方法查找welcome在字符串s中的位置。
代码:
String s = "hello,everyone,welcome to learn java!";
int index = s.indexOf("welcome"); // 查找welcome在字符串s中的位置
System.out.println("welcome的起始索引:" + index);
String word = s.substring(index, index+7); // 使用substring()方法截取单词
System.out.println("welcome单词:" + word);
输出结果:
welcome的起始索引:14
welcome单词:welcome
3. 按逗号拆分成一个数组,并输出数组内容
可以使用split()方法按逗号分割字符串s,得到一个字符串数组。
代码:
String s = "hello,everyone,welcome to learn java!";
String[] arr = s.split(","); // 使用split()方法按逗号拆分成一个数组
for(String str : arr){
System.out.println(str); // 输出数组内容
}
输出结果:
hello
everyone
welcome to learn java!
4. 将字符串的everyone改成单词students,并输出
可以使用replace()方法将字符串s中的everyone替换为students。
代码:
String s = "hello,everyone,welcome to learn java!";
String newS = s.replace("everyone", "students"); // 使用replace()方法替换字符串
System.out.println(newS);
输出结果:
hello,students,welcome to learn java!
5. 键盘输入一句英语句子,提取输出句子中的单词
可以使用Scanner类获取键盘输入的句子,然后使用split()方法按空格拆分成一个字符串数组。
代码:
Scanner scanner = new Scanner(System.in); // 创建Scanner对象
System.out.println("请输入一句英语句子:");
String sentence = scanner.nextLine(); // 获取键盘输入的句子
String[] words = sentence.split(" "); // 使用split()方法按空格拆分成一个字符串数组
for(String word : words){
System.out.println(word);
}
输入示例:
请输入一句英语句子:
Hello world, welcome to Java!
输出示例:
Hello
world,
welcome
to
Java!