Java はバックスペース端末制御文字をどのように処理しますか?

PHPz
リリース: 2023-08-30 10:53:07
転載
1346 人が閲覧しました

Java はバックスペース端末制御文字をどのように処理しますか?

バックスペース端末制御文字は、「\b」表記で表される特殊文字です。カーソルを 1 文字後方に移動するために使用します。これは Java エスケープ文字に属します。これは、コンパイラにとって特別な意味を持つバックスラッシュ (\) とともに使用される文字です。この記事では、Java サンプル プログラムを通じて「\b」表記の実際の実装を理解して確認します。

バックスペース端末制御文字が動作する

このエスケープ文字を使用すると、2 つの状況が発生する可能性があります。 1 つ目はバックスペース文字を文字列にハードコードする場合、2 つ目はキーボードを入力に使用する場合です。

最初のケースについて言えば、Java 自体はバックスペース端末制御文字を処理しません。文字のバイト値を出力ストリームに書き込むだけで、それを解釈するのは端末またはコンソールの責任になります。一部の端末では前の文字が削除されたり、他の端末では奇妙な記号が表示されたり、少数の端末ではそれが無視されたりすることがあります。

例を通して前述の点を理解しましょう

###例### リーリー

出力1

リーリー

ただし、上記のコードを VS Code でコンパイルして実行すると、次の結果が生成されます。

出力2

リーリー

2 つのコンパイラが異なる結果を生成することがわかります。したがって、バックスペース端末制御文字は、コンパイルされた端末に従って解釈されることが証明されています。

"Scanner" クラスまたはその他の入力メソッドを使用してユーザー入力を読み取る場合、Java はバックスペース文字を通常の文字として扱います。自動的に特別な操作として解釈されることはありません。つまり、バックスペース記号を使用すると、コンソールにはバックスペース文字がそのまま表示され、前の文字は入力から削除されません。

ユーザー入力を収集して改善する例を見てみましょう 理解する###### ###例### リーリー ###出力### リーリー

前述したように、ユーザー入力値にバックスペース文字を配置することは特別な操作とは見なされません。出力では、「\b」文字がそのまま出力されていることがわかります。上記のコードでは、「Scanner」クラスのインスタンスを作成し、while ループを使用してユーザー指定の入力を読み書きします。 ###結論は### この記事の結論は、バックスペース端末制御文字に依存して Java の文字列から文字を削除することはできないということです。バックスペースの動作方法は端末やコンパイラによって異なるためです。さらに、Java はユーザー入力時にバックスペース文字を通常の文字として扱います。 Java で文字列から文字を削除したい場合は、「substring」、「replace」、「StringBuilder」、「StringBuffer」などの他のメソッドを使用する必要があります。

以上がJava はバックスペース端末制御文字をどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート