
No.1ベストアンサー
- 回答日時:
> これをコンパイルを実行すると、xxyxがでてくるんですけど、3つめのyが4つめのxより先にでてくる理由は問題文の{ }のなかで1番内側にきてるからですか?
何言ってんだかサッパリ分かりませんが、aの初期値は0ですが、whileに入った途端にa++されて1になります。
a = 1の時、System.out.print("x "); が実行される
a = 2の時、System.out.print("x "); が実行された上、if文に引っかかり、System.out.print("y ")も実行される。
a = 3の時、System.out.print("x ");が実行される。
なお、while(単行演算子)と言う書き方はトリビアルだけど意味が不明瞭になりやすいのでやらない方が良い。
while(a++ < 3) は「aが増える前のaの値を評価して、それが3以下の場合」なので、a自体が3になってても「それ以前の状態」であるaが2としてループが継続される。
前置、後置に関わらず、この形式で条件式の中にインクリメント/デクリメントを突っ込まない方が良いだろう。
しかもJavaみたいに「公式仕様が無い言語」だといつ動作が変更されるか分かったモノではない。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Javascriptの値をJava(JSP)へ渡...
-
コミット前の更新データをチェ...
-
Eclipse(JAVA)のデバッグで他...
-
「ワークスペースをビルド中」...
-
split関数で区切り文字がない場合
-
eclipseでスタックサイズを変更...
-
jasper.exceptionとは?
-
Eclipseでプログラム実行時に引...
-
JAVAにのeclipseに関する質問で...
-
エクリプスで実行時、最新クラ...
-
eclipseで「サーバーで実行」表...
-
Javascriptのパーミッション
-
Tomcatが実行中にならない
-
例外の文法について
-
Google Colabでimport soxが出...
-
Eclipseで、プロジェクト名のと...
-
Eclipse・プロジェクトで、フォ...
-
JSPのクラスをコンパイルできな...
-
正しいURL指定しているにもかか...
-
この <windows.h> はどこに在る...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipse(JAVA)のデバッグで他...
-
「ワークスペースをビルド中」...
-
Javascriptの値をJava(JSP)へ渡...
-
JAVAにのeclipseに関する質問で...
-
split関数で区切り文字がない場合
-
eclipseでスタックサイズを変更...
-
コミット前の更新データをチェ...
-
エクリプスで実行時、最新クラ...
-
eclipseで「サーバーで実行」表...
-
Eclipse 実行→Javaアプリケー...
-
jdbcでinsert,delete,createをe...
-
Javascriptのパーミッション
-
jasper.exceptionとは?
-
Eclipseで実行>Javaアプリケー...
-
CreateProcessのコマンド・ライ...
-
NoClassDefFoundError: javax/m...
-
javascriptで、style undefined...
-
WebSphere/DB2/ResultSet close...
-
バイナリーコードと、ソースコ...
-
Foderaでプログラムを実行する方法
おすすめ情報
実行結果がxxxyでないのはなぜだろう