写代码时为了验证某一个字符是否是空格,于是我这样写:
if(该字符=='\0'){
........
}
结果发现总是无法进入判断后的代码块内,于是这才发现了问题,写了个验证。
/**
* @author hpc
* @Date:2018-11-9下午4:45:47
* 功能:探究'空格'和'\0'
*/
public class test {
public static void main(String[] args) {
char a = '\0';
char b = ' ';
char c = '0';
System.out.println((int)a);
System.out.println((int)b);
System.out.println((int)c);
}
}
结果:
0
32
48
原来’ ‘和’\0’是两个东西,虽然转义字符’\0’打印出来的结果也是空格,但是它的asc码是0,而空格 ’ ’ 的asc码是32。
写一个空格字符的时候可以写 ’ ‘,也可以写’\0’,但是判断时要分情况,例如判断"hdkweuky\0ef"这样的字符串中的空格,你就得写是否等于’\0’.
若果判断"bcjrf eilr jrie rfi"中的空格就得写是否等于 ’ ’ 。