<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. java語言

    經典Java面試題之Java中Char類型的運算

    時間:2025-03-21 14:47:04 java語言 我要投稿
    • 相關推薦

    經典Java面試題之Java中Char類型的運算

      char在java中稱為“字符型”,占2個字節。本文是百分網小編搜索整理的關于經典Java面試題之Java中Char類型的運算,有需要的小伙伴可以參考一下,希望對大家有所幫助!想了解更多相關信息請持續關注我們應屆畢業生考試網!

    經典Java面試題之Java中Char類型的運算

      [面試原題]

      假設y是字符類型,初始化值為‘b’,那么以下語句輸出的結果是什么?

      A.  System.out.println(++y);

      B.   System.out.println(y+1);

      [正確答案]

      A.‘c’

      B. 99

      [面試技術點]

      字符在java中的運算。

      [解讀A]

      char在java中稱為“字符型”,占2個字節。字符常量是用單引號括起的一個字符,且字符常量在內存中存儲的是該字符在Unicode字符集中的排序位置,即整數。

      比如:

      char y='b';

      內存y中存儲的是字符’b’在Unicode字符集中的排序位置98。【可以通過語句System.out.println((int)y);來獲取Unicode的排序位置。】因此上面的語句也可以寫成:

      char y=98;

      System.out.println(++y);語句,先執行++y,結果為99,然后輸出對應位置的字符’c’。

      [解讀B]

      博為峰小博老師在這里要給大家說一個概念,java中的“向上兼容”,即:不同數據類型的數據參與運算,數據類型要強制轉換,轉換的方向是:char->short->int->long->float->double。

      在System.out.println(y+1);這個語句中,y是char類型,1是int類型,所以把y強轉成int,然后運算結果是99,輸出也是int類型99。

      [擴展]

      char是Java中的字符類型,與別的語言不同的是,char在Java中是16位的,因為Java用的是Unicode。不過8位的ASCII碼包含在Unicode中,是從0~127的。

      Java中使用Unicode的原因是,Java的Applet允許全世界范圍內運行,那它就需要一種可以表述人類所有語言的字符編碼Unicode。但是English,Spanish,German, French根本不需要這么表示,所以它們其實采用ASCII碼會更高效。這中間就存在一個權衡問題。

      因為char是16位的,采取的Unicode的編碼方式,所以char就有以下的初始化方式:

      char c='a'; //字符,可以是漢字,因為是Unicode編碼,如char c=’我’,內存對應的unicode值為:25105。

      char c=十進制數,八進制數,十六進制數等等; //可以用整數賦值

      char c='\u數字'; //用字符的編碼值來初始化,如:char='\0',表示結束符,它的ascll碼是0,這句話的意思和 char c=0 是一個意思。

      Unicode編碼表:

    【經典Java面試題之Java中Char類型的運算】相關文章:

    java中的char占幾個字節03-29

    Java 2.1 java基本類型的轉換和運算符05-29

    Java中運算符的使用05-30

    Java 變量類型02-28

    java面試題05-20

    Java面試題(精選)06-30

    Java運算符02-03

    java的數據類型03-31

    Java 變量類型介紹03-18

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人