自学Java12

84 阅读2分钟

引言

  • 在记录自己自学java过程中,首先声明关于学习顺序可能并不很科学,即使我也是通过一些公开的资料来进行学习,但不会是完全无基础的教学,更像是比对着python(本人平时编程使用的是python)比较实现方法的异同学习,请酌情参考学习,有理解不对的地方欢迎指正。

java基础 - 8

字符和字符串

字符串转译问题

  • 常见的转义字符包括:(就连写文章时候也会遇到需要转义的情况)
    • \" 表示字符"
    • \' 表示字符'
    • \ 表示字符\
    • \n 表示换行符
    • \r 表示回车符
    • \t 表示Tab
    • \u#### 表示一个Unicode编码的字符

  • 字符串中遇到需要转移的情况,如:"abc"xyz",编译器是无法识别中间的"是属于字符串中的元素还是为前一个双引号的结尾(python中用""注释也会遇到这个问题,所以可以交叉''使用)
    • 那么就可以使用\转义来达到想要表达的功能
"abc\"xyz" // 表示"为字符串中元素
"abc\\xyz" // 表示\为字符串中元素

字符串的拼接

  • 既然使用字符串了,那么文字的处理中拼接必不可少
  • 不管是Java还是python都可以使用+连接任意字符串和其他数据类型,这样极大地方便了字符串的处理(不一样的数据类型也会变成字符串后再进行拼接)
public class Main {
    public static void main(String[] args) {
        int age = 25;
        String s1 = "Hello";
        String s2 = "world";
        String s = s1 + " " + s2 + "!" + age;
        System.out.println(s);
    }
}

  • 关于多行拼接
String s = "first line \n"
         + "second line \n"
         + "end";
  • 显然上述情况使用+可能不太方便,Java13后版本支持使用"""..."""来表示,比如下方的sql语句(感觉怪怪的呢,和python像又不太一样)
public class Main {
    public static void main(String[] args) {
        String s = """
                   SELECT * FROM
                     users
                   WHERE id > 100
                   ORDER BY name DESC
                   """;
        System.out.println(s);
    }
}
  • 但是显然由于Java是用{}封闭的,那么sql语句中就会又很多空格
    • 可以用.标注,标注的空格都会被去掉,如下所示