1. 程式人生 > 程式設計 >Java中輸出字元的ASCII值例項

Java中輸出字元的ASCII值例項

1. 我們可以通過將字元強轉為int型進行輸出那麼在控制檯中我們將會得到字元的ascii值,這裡我們使用nextLine()方法來接收字串,可以接收空格/Tab鍵,使用next()方法則不會接收空格/Tab鍵,但是這裡使用nextLine方法不能列印回車鍵的ascii值因為它遇到回車鍵就截止接收字元了

2. 具體的測試程式碼如下:

import java.util.Scanner;
public class Main {
 public static void main(String[] args) {
 Scanner sc = new Scanner(System.in);
 String s = sc.nextLine();
 for(int i = 0; i < s.length(); i++){
  System.out.println((int)s.charAt(i));
 }
 sc.close();
 }
}

輸入:

0123456789

輸出:

Java中輸出字元的ASCII值例項

補充知識:Java Integer -128~127

今天刷到了一道題,為什麼第一個為true,第二個為false。  

System.out.println(Integer.valueOf("100")==Integer.valueOf("100"));  //true

System.out.println(Integer.valueOf("200")==Integer.valueOf("200"));  //false

研究原始碼發現

/**
   * Returns a <tt>Integer</tt> instance representing the specified
   * <tt>int</tt> value.
   * If a new <tt>Integer</tt> instance is not required,this method
   * should generally be used in preference to the constructor
   * {@link #Integer(int)},as this method is likely to yield
   * significantly better space and time performance by caching
   * frequently requested values.
   *
   * @param i an <code>int</code> value.
   * @return a <tt>Integer</tt> instance representing <tt>i</tt>.
   * @since 1.5
   */
  public static Integer valueOf(int i) {
    if(i >= -128 && i <= IntegerCache.high)
      return IntegerCache.cache[i + 128];
    else
      return new Integer(i);
  }
 
 private static class IntegerCache {
    static final int high;
    static final Integer cache[];
 
    static {
      final int low = -128;
 
      // high value may be configured by property
      int h = 127;
      if (integerCacheHighPropValue != null) {
        // Use Long.decode here to avoid invoking methods that
        // require Integer's autoboxing cache to be initialized
        int i = Long.decode(integerCacheHighPropValue).intValue();
        i = Math.max(i,127);
        // Maximum array size is Integer.MAX_VALUE
        h = Math.min(i,Integer.MAX_VALUE - -low);
      }
      high = h;
 
      cache = new Integer[(high - low) + 1];
      int j = low;
      for(int k = 0; k < cache.length; k++)
        cache[k] = new Integer(j++);
    }
 
    private IntegerCache() {}
  }

valueOf會將常用的值(-128 to 127)cache起來。當i值在這個範圍時,會比用構造方法Integer(int)效率和空間上更好。

以上這篇Java中輸出字元的ASCII值例項就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。