• ベストアンサー

【java 初心者】きれいな書き方 空白の使い方

public static void main(1)(String(2)[] args)(3){... Sytem.out.println(4)(age +(5)"歳です"); for(6)(int i = 0(7);(7)i < 10(7);(7)i++)(3){... ソースコード書くとき、見やすくするために、空白を入れる時と入れない時がありますが、上記のような(数字)の空白はどうなりますか?また、きれいな書き方のルールが載っているサイトはありますか?教えていただけると幸いです。回答お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

C/C++ と Java(第3章) - 静岡理工科大学 https://www.sist.ac.jp/~suganuma/cpp/2-bu/3-sho/3-sho.htm > 特に,演算子の前後には必ずスペースを入れ これは C とかで「*hoge」とか"*"(アスタリスク)を使ってポインターを表わしたりするので、演算とポインターを明示的に区別するために、演算の場合(ポインターでない場合)は演算子の前後には必ずスペースを入れると言う お約束があるらしい。 java では そのような("*"(アスタリスク)を使ってポインターを表わしたりする)記述はないのだが、なぜか そのような C とかの お約束を踏襲しているらしい(なので これはプログラマーの美意識?のようなレベル話になって来る)。 たぶん「インクリメント演算子」:「hoge++」、「++hoge」、「デクリメント演算子」:「hoge--」、「--hoge」までスペースを入れる事はないように思う。 C/C++ と Java(第3章) - 静岡理工科大学 https://www.sist.ac.jp/~suganuma/cpp/2-bu/3-sho/3-sho.htm > int 型が 2 バイトで定義されており,かつ,値がその領域に入りきらないようなときは,例えば,123456789L のように,後ろに「l(エル)」または「L」(接尾子)を付加する必要があります( long int 型定数).int 型が 4 バイトで定義されているような場合は,long int 型と int 型は同じものになり,このようなことを考慮する必要はありません.ただし,8 バイトで定義される long long int 型の定数の場合は,123451234512345LL のように,「ll」または「LL」を付加する必要があります. ↑これは基本的に C とかの話、Java の場合は下記参照。 Java 入門 | 基本データ型 http://msugai.fc2web.com/java/primitive.html C/C++ と Java(第3章) - 静岡理工科大学 https://www.sist.ac.jp/~suganuma/cpp/2-bu/3-sho/3-sho.htm > 文字定数は 'a',また,文字列定数は "abc" のように記述します.ここで注意すべきことは,'a' と "a" が同じでは無いという点です.前者は文字 a が入る 1 バイトの領域が確保されますが,後者では,2 バイトの領域が確保され,文字 a と共に,文字列の終わりであることを示す '\0'(ヌル文字)が記憶されます.このように,文字列定数の場合,与えられた文字列の最後にヌル文字が付加され,実際の文字数より 1 文字文だけ多い領域が確保されます. ↑これも C とかの話。 その他「Javaでは?」と言うリンクがある所は基本的に C とかの話。

noname#240107
質問者

お礼

ご回答ありがとうございます。元々はC言語から来ているんですね。参考させていただきます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • JAVA初心者です。

    以下の文法でコンパイルエラーが出ます。 添削をお願いします。 import java.util.Random; public class Test{ public static void main(String[] args){ int n; for (n = 0; n < 200; n++){ int i; for (i = 0; i < 38; i++) { Random rnd = new Random(); int ran = rnd.nextInt(10); System.out.print(ran); System.out.print(" "); for (t = 0; t < 200; t++) } System.out.println(); } } }

    • ベストアンサー
    • Java
  • intではなくStringで・・・

    こんなソースがあります。。 public class Check { public static void main(String[] args) { int i = Integer.parseInt(args[0]); if (i == 123) { System.out.println("あたり!"); } else if (i < 123) { System.out.println("はずれ!"); } else { System.out.println("おおはずれ!"); } } } これを、int型の文字を入力して判定させるのではなく、String型の文字で判定させたいのですが、 int i = Integer.parseInt(args[0]);をどう変えればいけるでしょうか? よろしくお願いします!

    • ベストアンサー
    • Java
  • java ネストしたfor文について

    ***** **** *** ** * 上のように*が減るようにしたいのですが下のソースではどこが悪いか教えてください class TestGoo{ public static void main(String args[]){ for(int i = 5; i>=1; i--){ for(int j = 5;j>=1; j--){ System.out.print('*'); } System.out.println(); } } }

  • java 初心者ですが・・・・

    教えてください。 次のプログラムの出力は「2」になるんですがイマイチ解釈できません。 分かりやすい説明などあればご教授願います。 class NarrowingConversion{ public static void main (String[] args){ byte b; int i = 258; b = (byte)i; System.out.println(b); } } よろしくお願いいたします。

    • ベストアンサー
    • Java
  • Javaについて教えてください。

    Javaのソースコードで以下のコードを実行すると表示されないのですがなぜでしょうか? public class Sample{ public static void main(String[] args){ for (int i = 0 ; i >= 5; i++){ System.out.println(i); } } }

  • java 入力命令

    以下うまくどうさしません、教えてください。 public class Main { public static void main(String[] args){ System.out.println("名前"); String name = new java.util.Scanner(System.in) .nextLine(); System.out.println("年齢"); int age = new java.util.Scanner(System.in) .nextInt(); System.out.println (age + name); } }

  • 昇進者です。 戻り値の学習をしていますが。

    *を10個表示するプログラムですが。 public class Graph1 { public static void main(String[] args) { printGraph(10); } public static void PrintGraph(int x) for(int i = 0; i < x; i++){ System.out.println("*"); } System.out.println(""); } } のprintGraph(10);は何のためにあるのですか? 10がxに代入されていますよね。戻り値はxですか。

  • Java初心者です

    次のようなプログラムを作りました interface Vehicle{ void drive(); } abstract class Animal{ abstract void show(); } class Lion extends Animal{ public void show(){ System.out.println("ライオンです"); } } class Horse extends Animal implements Vehicle{ public void show(){ System.out.println("馬です"); } public void drive(){ System.out.println("乗り物として使えます"); } } class Elephant extends Animal implements Vehicle{ public void show(){ System.out.println("象です"); } public void drive(){ System.out.println("乗り物として使えます"); } } class Bear extends Animal{ public void show(){ System.out.println("熊です"); } } class twentyeight{ public static void main(String args[]){ Animal an[]; an = new Animal[4]; an[0] = new Lion(); an[1] = new Horse(); an[2] = new Elephant(); an[3] = new Bear(); for(int i = 0;i < an.length;i++){ if(an[i] instanceof Vehicle){ an[i].drive();//ここにエラーが出る } else{ an[i].show(); } } } } インターフェイスを実装しているオブジェクトを判別し、そのdriveメソッドの呼び出しをしたいのですができません、どなたか教えてください。

    • ベストアンサー
    • Java
  • switch で疑問。java超初心者です。

    まず、 public class P1{   public static void main(String[] args){     int n = 1;       switch(n){         case 0:           System.out.println("あ");           break;         case 1:           System.out.println("い");           break;         case 2:           System.out.println("う");           break;         default:           System.out.println("え");       }   } } は、当然「い」と表示されますよね。 default: をcase 3:にしても、問題なく「い」と表示されました。 そこで、こんな風にしてみました。 public class P3{   public static void main(String[] args){     int n = 1;     String s;       switch(n){         case 0:           s="あ";           break;         case 1:           s="い";           break;         case 2:           s="う";           break;         default:           s="え";       }       System.out.println(s);   } } これは「い」と表示されましたが、 default: をcase 3:にすると、エラーとなってしまいます。なぜでしょう。 ちなみに、エラーの内容は 変数 s は初期化されていない可能性があります。     System.out.print(s);                ^ というものでした。 そこで、 変数 s を初期化してみようと、次のように変数 s の宣言の後に null を代入しました。 String s=null; すると、「い」と表示され、エラーは出ません。 なぜ、このようになるのでしょうか。 String型の変数を使っていて、今まではこのようなエラーは出た事が無かったのですが、 どうやらswitch文の中では、初期化しろ、と出てくるようです。 わかり易い解説をいただければと思います。 これは仕様だということで、この通り受け入れるしかないのでしょうか。 勉強していて、少々腑に落ちないので、質問致しました。 よろしくお願いいたします。

    • ベストアンサー
    • Java
  • Java何故エラーになるのですか?

    public class Sample3_1 { public static void notMain(String[] args) { System.out.println("not main"); } public static void main (String[] args) { System.out.println("こんにちは、Java"); System.out.println("私の名前は、コウゾウです。"); } } Exception in thread "main" java.lang.Error: Unresolved compilation problems: トークン "Invalid Character" に構文エラーがあります。このトークンを削除してください 構文エラーがあります。"}" を挿入して ClassBody を完了してください at Sample3_1.main(Sample3_1.java:10) "}" を挿入して」と書かれてますが、 "}" には間違いなさそうです。 どなたか解説のほどを宜しくお願い致します。

    • ベストアンサー
    • Java