zoukankan      html  css  js  c++  java
  • Java基本数据类型之char

    今天看到一道题,是这样子的:
    package test;
    public class Char {
          public static void main(String[] args) {
                char ch1 = 97;
                char ch2 = 'a';
                System.out.println("ch1=" + ch1);
                System.out.println("ch2=" + ch2);
          }
    }
    当时下意识作出判断,输出的结果分别应该是“ch1=97”和“ch2=a”,但答案都是a。于是补了一下这方面的知识点。
     
    知识点:
    char类型
    1.  char类型是一个单一的16位Unicode字符;
    2.  最小值是u0000(即为0);
    3.  最大值是uffff(即为65535);
    4.  char类型可以储存任何字符。
     
    char赋值
    char a='a';      //任意单个字符,加单引号。
    char a='中';     //任意单个中文字,加单引号。
    char a=111;      //整数。0~65535。十进制、八进制、十六进制均可。输出字符编码表中对应的字符
    注:只能放单个字符。
     
    char运算
    char类型是可以运算的因为char在ASCII等字符编码表中有对应的数值。
    在JAVA中,对char类型字符运行时,直接当做ASCII表对应的整数来对待。
    由char赋值可知,开篇提到的char ch1=97,赋值为整数97时,对应字符编码ASCII表里的a,因此输出为a。同理验证,如果是98,对应的就是b,99对应c。
     
    Java面试常见试题:
    char类型变量中能不能存储一个中文汉字,为什么?
    答:char类型可以存储一个中文汉字,因为Java中使用的编码是Unicode(不选择任何特定的编码,直接使用字符在字符集中的编号,这是统一的唯一方法),一个char类型占2个字节(16比特),所以放一个中文是没问题的。
     
    示例:
    char m='a';                               ——a。
    char m='a'+'b';                          ——Ã。  //char类型相加,提升为int类型,输出对应的字符。
    int m='a'+'b';                             ——195。//195没有超出int范围,直接输出195。
    char m='a'+b;                           ——报错。//因为b是一个赋值的变量。
    char m=197;                            ——Ã。 //输出字符编码表中对应的字符。
    char m='197;                           ——报错。//因为有单引号,表示是字符,只允许放单个字符。
    char m='a'+1;                          ——b。//提升为int,计算结果98对应的字符是b。
    char m='中'+'国';                     ——42282。
    char m='中'+'国'+'国'+'国';       ——报错。int转char有损失。因为结果已经超出char类型的范围。
    int m='中'+'国'+'国'+'国';          ——86820
    char m='中'+1;                        ——丮。//1是int,结果提升为int,输出对应的字符。
    char m='中'+"国";                    ——报错。String无法转换为char。
    System.out.println('中'+"国");  ——中国。//没有变量附值的过程。String与任何字符用“+”相连,转换为String。
  • 相关阅读:
    在Ubuntu中通过update-alternatives切换软件版本
    SCons: 替代 make 和 makefile 及 javac 的极好用的c、c++、java 构建工具
    mongodb 的使用
    利用grub从ubuntu找回windows启动项
    How to Repair GRUB2 When Ubuntu Won’t Boot
    Redis vs Mongo vs mysql
    java script 的工具
    python 的弹框
    how to use greendao in android studio
    python yield的终极解释
  • 原文地址:https://www.cnblogs.com/luckyliulin/p/9080001.html
Copyright © 2011-2022 走看看