特殊字符的转义:
字符型与数值型转换
浮点型转换为char型,首先将浮点型转换为int,再将int转换为char
char ch = (char)65.25;
//将65对应字符赋值给ch
char型转换为数值型
int i = (int)'A';
//i = 65
隐式转换和显示转换:byte,short,char -->int -->long -->float -->double
从小到大为隐式转换,大到小为显示转换,即强制转换。
byte a;
int b = 10;
int b = a;
此时a要隐式转换为int型,赋值给b;
Unicode码超过\uFFF4,就必须用强制转换
字符比较
可以直接用
String类型:
String message = '' welcome to java'';
获取字符串长度length()
String message = '' welcome to java'';
System.out.println("The length of" + message + " is " + message.length());
//显示 The length of welcome to java is 15
从字符串中获取字符:
使用charAt(index)提取字符串s中下标为index的字符,index取值范围为0~s.length()- 1
下标从0开始
连接字符串:
String s3 = s1.concat(s2);
上述代码等价于
String s3 = s1 + s2;
连接字符串可以使用+=
message += "and java is fun"
输出 "welcome to java and java is fun"
int i,j;
i = input.nextInt();
j = input.nextInt();
System.out.printf("i + j is " + i + j + "\n");
System.out.printf("i + j is " + (i + j));
输入:1 2
输出 i + j is 12
i + j is 3
关于java中不能用==判断两字符串是否相等的问题:
在java中,使用==只能判断两字符串是否处于相同的地址,而不能判断是否内容相同,所以要用equals方法
s1.equals(s2)//判断字符串内容,返回true or false
s1.compareTo(s2)//判断字符串第一个不同字符之间的Unicode码的距离
获取子串:
字符串和数字间的转换:
使用Integer.parseInt与Double.parseDouble方法
int intValue = Integer.parseInt(intString);//将字符串转换为int值
//intstring 是一个数值型字符串,例如'123'
double doubleValue = Double.parseDouble(doubleString);//将字符串转换为double型
System.out.printf("%3d,%4s,%5b");
//%3d,%4s,%5b有自动增加宽度的作用
System.out.printf("%,8d,%10.1f",12345678,12345678.263);
//输出12,345,678 12,345,678.3,自动三位一个逗号。
System.out.printf("%08d"1234);
//输出00001234
正常是右对齐的,数字在空格右方,但是可以通过
System.out.printf("%-3d,%-4s,%-5b");
将输出格式变成左对齐,即数字在空格左方。先输出数字,再填充空格