java学习笔记:字符和字符串

一、字符类型

 

1. Java在内存中用Unicode表示字符。

    Unicode与ASCII区别:

编码大小支持语言
ASCII1个字节英文
Unicode2个字节(生僻字4个)all
UTF-8英文字母1个字节,汉字3个字节,生僻字4-6个字节all

2. Unicode常用编码表

全表参考:UniCode编码表 - csguo - 博客园

Unicode的编码是十六进制,用编码来给char赋值前需用转义字符“\u”+Unicode编码来表示。

  • 0000:NUL;
  • 0030-0039:0-9;
  • 0041-0049-004F:大写字母(A-O);
  • 0050-0059-005A:大写字母(P-Z);
  • 0061-0069-006F:小写字母(a-o);
  • 0070-0079-007A:小写字母(p-z)。

    举例: 

public class TestCharString {
    public static void main(String[] args){
        char c1 = 'A';
        char c2 = '中';
        int n1 = 'A';
        int n2 = '中';             //'中'的Unicode编码为4e2d(十六进制)=20013(十进制)
        char c3 = '\u0041';        //‘A’的Unicode编码
        char c4 = '\u4e2d';        //'中'的Unicode编码
        System.out.println(c1);
        System.out.println(c2);
        System.out.println(c3);
        System.out.println(c4);
        System.out.println(n1);
        System.out.println(n2);    
    }
}

    输出:

 二、字符串类型

   1. 

  • 字符串类型String是引用类型(与char不同!);
  • 表示:用双引号“”表示一个字符串,一个字符串可存储0到∞个字符;
  • 转义:

            

    举例:

public class TestCharCal {
    public static void main(String[] args){
        String s = "ABC\n\u4e2d\u6587";   //ABC、换行、中、文
        System.out.print(s);
    }    
}

    输出:

 2. 字符串连接

(1)字符串可直接使用“+”进行连接。如果string+其他类型,会将其他类型先自动转换为字符串再连接。

    举例:

  public class TestCharCal {
    public static void main(String[] args){
        String s1 = "Hello";
        String s2 = "World";
        String st = s1+" "+s2+"!";     //字符串连接
        System.out.println(st);
        //string+其他类型
        int age = 30;
        String st2 = "age is "+age;
        System.out.print(st2);
    }
}

     输出:

 3. 多行字符串

    可以用“ """(换行)XXX'""" 表示多行字符串(string blocks)。举例:

public class TestCharCal {
    public static void main(String[] args){
        String mStr = """           //此处需换行开始
         SELECT * FROM
             users
             WHERE id > 100
         ORDER BY name DESC
         """;
        System.out.println(mStr);
    }
}

   输出:

4.字符(串)的重新赋值问题

    字符(串)的重新赋值,只是重新对指向该变量的值进行更新,并不是对原字符(串)进行了重新赋值。

    举例:

public class TestCharCal {
    public static void main(String[] args){
      String s3 = "Hello";
        String t = s3;
        s3 = "World";
        System.out.println("s3为"+s3);
        System.out.println("t为"+t);
    }
}

   输出:

 5. 巧用“""”进行数据类型转换

    可以用“ ""+int类型 ”,直接将int类型转换为字符型。

    举例:

public class TestCharCal {
    public static void main(String[] args){
        //将a、b、c连接成一个字符串输出
        int a = 72;
        int b = 105;
        int c = 65281;
        String stest = ""+a+b+c; 
        System.out.print(stest);
    }
}

    输出:

★ 注意null和""的区别:

  • null表示空值,不指向任何对象,不占内存空间,输出显示“null”;
  • ""是一个有效的字符串对象,占内存空间,输出不显示。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值