public class test {
public static void main(String[] args) {
System.out.println("'");
System.out.println("\'");
System.out.println("\\'");
System.out.println("\\\'");
System.out.println("\\\\'");
System.out.println("\\\\\'");
System.out.println("\\\\\\'");
System.out.println("\\\\\\\'");
System.out.println("\\\\\\\\'");
System.out.println("\\\\\\\\\'");
}
}对结果解释一下。

解决方案 »

  1.   

    其实很简单 java会一对一对的处理。
    也就是遇到第一个\然后用下一个\作为一组 得到\
    如果没有下一个\ 比如\'直接转义成'
      

  2.   

    \'  -> '
    \\  -> \
    从左到右,依次进行
    \\'先匹配\\于是得到一个真正的\,所以输出\'
    \\\' 先匹配\\于是得到一个真正的\,再匹配\'得到',所以输出\'
      

  3.   

    Java\n 回车(\u000a)   
    \t 水平制表符(\u0009)   
    \b 空格(\u0008)   
    \r 换行(\u000d)   
    \f 换页(\u000c)   
    \' 单引号(\u0027)   
    \" 双引号(\u0022)   
    \\ 反斜杠(\u005c)   
    \ddd 三位八进制   
    \udddd 四位十六进制  也就是\\就打印\  
    \'就打印'
    所以比如
     System.out.println("\\\\\\\\\'");
    就是8/2 = 4个\ + \' = \\\\'