String 类,输入输出

本文介绍了Java中字符串的操作方法,包括String类的常用API如charAt、indexOf等,以及StringBuilder类用于构建字符串的方法。此外还介绍了Java的基本输入输出操作,如使用System.out.println进行输出,利用Scanner类获取用户输入。

在Java中将字符串作为对象来处理,通过java.lang包中的String类来创建字符串对象。

1. String API

java.lang.string 1.0

  • char charAt(int index);
  • int indexOf(String str);
  • int lastIndexOf(String str);
  • boolean equals(Object other);
  • boolean equalsIgnoreCase(String other);
  • int length();
  • String replace(CharSequence oldString, CharSequence newString);
  • String substring(int beginIndex);
  • String substring(int beginIndex, int endIndex);
  • String toLowerCase();
  • String toUpperCase();
  • String trim();

2. 字符串构建器 StringBuilder类

如果需要许多小段的字符串构建一个字符串,步骤如下:
1. 构建一个空的字符串构建器;

StringBuilder builder=new StringBuilder();

2. 调用append()方法;

builder.append(ch);
builder.append(str);

3. 在需要构建字符串时,调用toString()方法。

String completedString=builder.toString();

4. 其他方法,java.lang.StringBuilder 5.0
- int length();
- void setCharAt(int i, char c);
- StringBuilder insert(int offset, String str);
- StringBuilder insert(int offset, char c);
- StringBuilder delete(int startIndex, int endIndex);

3. 输入输出

1. 控制台输出:System.out.println(“hello world”);

2. 输入:Scanner类

Scanner类定义在java.util包中。
当使用的类不是定义在基本java.lang包中时,一定要使用import关键字将相应的包加载进来。

  1. 首先,需要构造一个Scanner对象,并与“标准输入流”System.in关联。

    Scanner in=new Scanner(System.in);
  2. 使用Scanner类的各种方法实现输入操作。

    • nextLine()方法,输入一行。String name=in.nextLine();
    • next()方法,输入一个单词(以空白符作为分隔符)。String firstName=in.next();
    • nextInt()方法,输入一个整数。int age=in.nextInt();

3. 输入密码:Console类

4. 格式化输出:System.out.printf()

4. 文件输入输出

C语言本身没有内置的`string`型,通常使用字符数组或字符指针来处理字符串。以下是几种常见的输入输出方法: ### 字符数组输入输出 #### 输入 可以使用`scanf`函数来读取字符串,示例代码如下: ```c #include <stdio.h> int main() { char str[100]; scanf("%s", str); return 0; } ``` 这里需要注意,`scanf`遇到空格、制表符或换行符就会停止读取。如果要读取包含空格的字符串,可以使用`fgets`函数: ```c #include <stdio.h> int main() { char str[100]; fgets(str, sizeof(str), stdin); return 0; } ``` #### 输出 使用`printf`函数输出字符串: ```c #include <stdio.h> int main() { char str[] = "Hello, World!"; printf("%s", str); return 0; } ``` ### 字符指针输入输出 #### 输入 动态分配内存后使用`scanf`或`fgets`输入: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char *str = (char *)malloc(100 * sizeof(char)); if (str != NULL) { scanf("%s", str); free(str); } return 0; } ``` #### 输出 同样使用`printf`输出: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char *str = (char *)malloc(100 * sizeof(char)); if (str != NULL) { strcpy(str, "Hello, World!"); printf("%s", str); free(str); } return 0; } ``` ### C++中使用C的标准输入输出处理`string`型 如果是在C++中使用`string`型,为了节省程序运行时间使用C中的标准输入输出`scanf()`和`printf()`,可以这样做: ```c++ #include<bits/stdc++.h> using namespace std; int main() { string s1; scanf("%s", &s1[0]); printf("%s", s1.c_str()); return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值