软件编程
位置:首页>> 软件编程>> java编程>> Java中输出字符的ASCII值实例

Java中输出字符的ASCII值实例

作者:smalllxp  发布时间:2023-02-27 08:59:11 

标签: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)效率和空间上更好。

来源:https://blog.csdn.net/qq_39445165/article/details/84882569

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com