Javaの\tの説明

読む前にご覧ください:私は記録に熱心な人間で、ブログを書くたびに繰り返し勉強し、継続的にブログの品質を向上できるように努めます。ブログを書くのは本当に大変な作業だったので、この記事はファンのみに設定されています。お互いに向上していきたいと思いますのでよろしくお願いします!


提示:以下是本篇文章正文内容

1 はじめに

学生管理システムを開発中にこの問題に遭遇し、コンソールで出力形式\tを制御し。疑問が生じました:

1. \t は Tab キーを表します。元の値は何ですか? スペースとの違いは何ですか?

2. String 型の場合、数字、英語、中国語は何個のスペースを占めますか?


2. インターネットで検索した情報

Java でのエスケープ文字 '\t' の使用手順

要約:

\t はタブ文字を表し、タブ文字と同等です。

前の出力内容の桁数は 8 の倍数です。\t は 8 個のスペースを出力します。

前の出力内容の桁数は 8 の倍数ではありません。\t は 8 桁になります。

質問:

実際にはそうではない


3. 実際の操作

まず環境について話させてください。

Win11;JDk:11.0.17";アイデア:2020.1 。

私の実践例は次のとおりです:
1. \t は 4 つのスペースを表します
2. 漢字が占めるスペースの数がわかりません

コード:

/*
    关于\t的测试。
 */

public class test {
    
    
    public static void main(String[] args) {
    
    
        // 空格
        System.out.println("01234567012345670123456701234567");
        System.out.println(" " + "一个空格");
        System.out.println("\" \".length():"+" ".length());

        System.out.println("01234567012345670123456701234567");
        System.out.println("  " + "两个空格");
        System.out.println("\"  \".length():"+"  ".length());
        // \t
        System.out.println("01234567012345670123456701234567");
        System.out.println("\t" + "一个\\t");
        System.out.println("\"\\t\".length():"+"\t".length());
        // 仅数字
        System.out.println("01234567012345670123456701234567");
        System.out.println("20" + "\t" + "一个\\t");
        System.out.println("\"20\".length():"+"20".length());

        System.out.println("01234567012345670123456701234567");
        System.out.println("2022" + "\t" + "一个\\t");
        System.out.println("\"2022\".length():"+"2022".length());
        // 仅英文字符
        System.out.println("01234567012345670123456701234567");
        System.out.println("heima" + "\t" + "一个\\t");
        System.out.println("\"heima\".length():" + "heima".length());
        // 仅中文字符
        System.out.println("01234567012345670123456701234567");
        System.out.println("黑马" + "\t" + "一个\\t");
        System.out.println("\"黑马\".length():"+ "黑马".length());
        // 数字+英文
        System.out.println("01234567012345670123456701234567");
        System.out.println("heima001" + "\t" + "一个\\t");
        // 汉字+数字
        System.out.println("01234567012345670123456701234567");
        System.out.println("黑马001" + "\t" + "一个\\t");
        // 英文+汉字
        System.out.println("01234567012345670123456701234567");
        System.out.println("heima黑马" + "\t" + "一个\\t");
        // 英文+汉字+数字
        System.out.println("01234567012345670123456701234567");
        System.out.println("heima黑马001" + "\t" + "一个\\t");

        System.out.println("*****************分割线******************");

        // 仅数字
        System.out.println("01234567012345670123456701234567");
        System.out.println("2022" + "\t\t" + "两个\\t");
        // 仅英文字符
        System.out.println("01234567012345670123456701234567");
        System.out.println("heima" + "\t\t" + "两个\\t");
        // 仅中文字符
        System.out.println("01234567012345670123456701234567");
        System.out.println("黑马" + "\t\t" + "两个\\t");
        // 数字+英文
        System.out.println("01234567012345670123456701234567");
        System.out.println("heima001" + "\t\t" + "两个\\t");
        // 汉字+数字
        System.out.println("01234567012345670123456701234567");
        System.out.println("黑马001" + "\t\t" + "两个\\t");
        // 英文+汉字
        System.out.println("01234567012345670123456701234567");
        System.out.println("heima黑马" + "\t\t" + "两个\\t");
        // 英文+汉字+数字
        System.out.println("01234567012345670123456701234567");
        System.out.println("heima黑马001" + "\t\t" + "两个\\t");


    }
}

演算結果

ここに画像の説明を挿入


4. まとめ

異なる環境は異なります:
\t は異なります; 各漢字は異なる空間を表します


コードワードは簡単ではありません。お褒めいただきありがとうございます。
コードワードは簡単ではありません。お褒めいただきありがとうございます。
コードワードは簡単ではありません。お褒めいただきありがとうございます。

おすすめ

転載: blog.csdn.net/qq_40967086/article/details/130442994