valueOf()
Integer num = Integer.valueOf(str);
返回的是包装类对象,可以进行调用对象方法可以用toString()方法。
parseInt
int num = Integer.parseInt(str)
返回的是基本数据类型
"helllo"
{"h","e","l","l","o"}
Char[] ch = str.toCharArray();
给定字符串 "12345"
转换为String数组 {"1","2","3","4","5"}
toCharArray
String str = "12345";
char ch = str.toCharArray();
for(int i = 0;i < ch.length;i++){
System.out.println(ch[i])
}
将String对象的每一个下标位的对象保存在char[]中
split()
String str = "12345";
String[] arr = str.split();
for(int i = 0;i < arr.length;i++){
System.out.println(arr[i]);
}
根据你需要按照的分隔符来分割,然后返回字符串数组.
给定一数字,int a=1234;
转换为字符串 "1234"
valueOf()
int num = 1234;
String str = String.valueOf(num);
toString()
int num = 1234;
Integer in = num;
String str = in.toString();
给定整数 12345
转换为 int数组 [1,2,3,4,5]
思路:因为不确定数字长度,所以先转换为字符串,确定数组长度。
public class T_1003 {
public static void main(String[] args) {
int num = 12345;
String str = String.valueOf(num);
int[] arr = new int[str.length()];
for (int i = 0; i < str.length(); i++) {
String s = String.valueOf(str.charAt(i));
arr[i] = Integer.parseInt(s);
}
System.out.println(Arrays.toString(arr));
}
}
注意:如果直接打印arr,打印出来的是数组地址。想要得到数组内容,需要用Arrays.toString()方法。
以上运行结果为:
[1, 2, 3, 4, 5]
[1,2,3,4,5]
12345
int[] arr = {1,2,3,4,5};
int sum = 0;
for(int i = 0;i < arr.length;i++){
sum = sum *10 + arr[i];
}
char ch = '5';
int num = Character.getNumericValue(ch); // 5
char ch = '5';
int num = ch - '0'
int类型转为char类型变成+‘0’。
//小写转大写
char C = 'a' - 32;
//大写转小写
char C = 'A' + 32;
append()方法
:拼接内容。
StringBuilder sb = new StringBuilder();
sb.append(12);
sb.append(34);
System.out.println(sb);
输出:
1234
reverse()
:反转操作。
StringBuilder sb = new StringBuilder();
sb.append(12);
sb.append(34);
sb.reverse(sb);
System.out.println(sb);
输出:
4321
转换字符串操作:
String s = sb.toString;
System.out.println(s);
add()
方法
StringJoiner sj = new StringJoiner(",");//表示字符之间用","分隔
sj.add("java");
sj.add("python");
sj.add("C++");
System.out.println(sj);
输出:
java,python,C++
//参数1:间隔符
//参数2:开头
//参数3:结尾
StringJoiner s1 = new StringJoiner(",","[","]");
s1.add("java1");
s1.add("java2");
s1.add("java3");
System.out.println(s1);
输出:
[java1,java2,java3]
nextInt()
:从输入流读取一个整数Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
nextDouble()
:从输入流中读取一个双精度浮点数Scanner sc = new Scanner(System.in);
double num = sc.nextDouble();
next()
:从输入流中读取一个字符串Scanner sc = new Scanner(System.in);
String str = sc.next();
next()
1、一定要读取到有效字符后才可以结束输入。
2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
4、next() 不能得到带有空格的字符串。
nextLine()
1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
2、可以获得空白。
hasNext()
(判断当前位置是否有元素可以获取)
一般用在Collection集合的迭代器中。
迭代器:作为集合的通用遍历方式。
Collection c = new ArrayList<>();
c.add("yy1");
c.add("yy2");
c.add("yy3");
c.add("yy4");
System.out.println(c); //[yy1,yy2,yy3,yy4]
//第一步:先获取迭代器对象
//解释:Iterator就是迭代器对象,用于遍历集合的工具
Iterator it = c.iterator();
//第二步:用于判断当前位置是否有元素可以获取
//解释:hasNext()方法返回true,说明有元素可以获取;反之没有
while(it.hasNext()){
//第三步:获取当前位置的元素,然后自动指向下一个元素.
String e = it.next();
System.out.println(s);
}
迭代器原理如下:
- 当调用iterator()方法获取迭代器时,当前指向第一个元素
- hasNext()方法则判断这个位置是否有元素,如果有则返回true,进入循环
- 调用next()方法获取元素,并将当月元素指向下一个位置,
- 等下次循环时,则获取下一个元素,依此内推