レポート#1






目次


a.出力するメッセージを変更せよ。
b.同じメッセージを三回、別々の行に出力せよ。
c.「Hello,」と「Java World!」を別々の行に出力せよ。
d.System.out.println(・・・)と System.out.print(・・・)の違いについて延べよ。
e.同じメッセージを三回、同一行に出力せよ。
f.次のような菱形模様(「*」を用いる)を出力せよ。
  *
 ***
*****
 ***
  *

g.「*」を用いて、自分の好きな形を出力せよ。

考察
感想・反省





a.出力するメッセージを変更せよ。

−−−プログラムーーーーーーーーーーーーーーーーーーーーーーーーー

public class a{

    public static void main(String[] args) {
        System.out.println("My name is Masaki Higa");
    }
  }

−−−実行結果ーーーーーーーーーーーーーーーーーーーーーーーーーー

My name is Masaki Higa

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

topへ


b.同じメッセージを三回、別々の行に出力せよ。


−−−プログラムーーーーーーーーーーーーーーーーーーーーーーーーー

public class b{

    public static void main(String[] args) {
        System.out.println("Hello");
        System.out.println("Hello");                                            
        System.out.println("Hello");
    }
}

ーーー実行結果ーーーーーーーーーーーーーーーーーーーーーーーーーー

Hello
Hello
Hello

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

topへ


c.「Hello,」と「Java World!」を別々の行に出力せよ。


−−−プログラムーーーーーーーーーーーーーーーーーーーーーーーーー

public class c{

    public static void main(String[] args) {
        System.out.println("Hello,\nJava World!");
    }
}

−−−実行結果ーーーーーーーーーーーーーーーーーーーーーーーーーー

Hello,
Java World!

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

topへ


d.System.out.println(・・・)と System.out.print(・・・)の違いについて延べよ。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

System.out.println() => ()内の文字列を表示した後改行する。

System.out.print()  => ()内の文字列を表示した後改行しない。

−−−ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

topへ


e.同じメッセージを三回、同一行に出力せよ。


−−−プログラムーーーーーーーーーーーーーーーーーーーーーーーーー

public class e{
    public static void main(String[] args) {
        System.out.print("Hello ");
        System.out.print("Hello ");
        System.out.println("Hello ");
    }
}

−−−実行結果ーーーーーーーーーーーーーーーーーーーーーーーーーー

Hello Hello Hello

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

topへ


f.菱形模様を出力せよ。


−−−プログラムーーーーーーーーーーーーーーーーーーーーーーーーー

public class f{

    public static void main(String[] args) {
        System.out.println("  *  ");
        System.out.println(" *** ");
        System.out.println("*****");
        System.out.println(" *** ");
        System.out.println("  *  ");
    }
}

−−−実行結果ーーーーーーーーーーーーーーーーーーーーーーーーーー

  *  
 *** 
*****
 *** 
  *

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

topへ


g.「*」を用いて、自分の好きな形を出力せよ。


−−−プログラムーーーーーーーーーーーーーーーーーーーーーーーーー

public class g{

    public static void main(String[] args) {
        int i=12, a, b, c, d;
        for(a=12; a>=0; a--) {
            for(b=0; b<=(i-a)*3; b++) {
              System.out.print("*");
            }

            for(c=0; c<=a; c++)  {
              System.out.print("      ");
            }      

            for(d=0; d<=(i-a)*3; d++) {
              System.out.print("*");
            }
            System.out.print("\n");
        }
    }
}

−−−実行結果ーーーーーーーーーーーーーーーーーーーーーーーーーー

*                                                                              *
****                                                                        ****
*******                                                                  *******
**********                                                            **********
*************                                                      *************
****************                                                ****************
*******************                                          *******************
**********************                                    **********************
*************************                              *************************
****************************                        ****************************
*******************************                  *******************************
**********************************            **********************************
*************************************      *************************************

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

topへ


考察

 Javaのプログラムでは、ソースコードのファイル名の拡張子は「.java」,コマンドで実行するファイルの拡張子は「.class」となる。
ここでC言語と違うのはソースコードのファイル名と実行するファイル名(class名)は同じになることです。
C言語ではコンパイルするときに違う名前にすることができましたが、Javaではできず、プログラム中でもclass名とファイル名がくい違うとコンパイルできません。
他にも大文字と小文字の区別もあって、これを間違えてもコンパイルできません。
Javaではコンパイルエラーが起きた時もどこが間違ってるかがC言語より親切に教えてくれます。

 System.out.println() と System.out.print() の違いを上の「課題d」で説明していますが、改行はC言語と同じように「\n」でもできます。

 上記のプログラムではfor文を使用していますが、使い方は似ています。違うと気付いたところはJavaではfor文の中でint型などを宣言して使えます。
C言語でもできるかと試したらできませんでした。



------参考プログラム--------
/*         
C言語の場合
*/

#include 
main()
  {  
 int i; 
   for(i=0; i<=3; i++){
    printf("i=%d\n",i);
  }
}

   実行結果
i=0
i=1
i=2
i=3
----------------------------

-------参考プログラム2-----
/*
Javaの場合
*/

public class sample{

    public static void main(String args[]) {
        for(int i=0; i<=3; i++){
            System.out.println("i="+i);
        }
    }
}

 実行結果2
i=0
i=1
i=2
i=3
------------------------------

結果が同じ上の二つのプログラムでわかるようにJavaではfor文の中でintを宣言しています。
他にもこのプログラムを作る過程でJavaでは%dなどは使えないことがわかりました、逆にC言語では
上のJavaのプログラムで使用している "i="+1 は使えなかったです。

 課題gのプログラムはC言語で作ったパスカルの三角形を参考にして作りました。

topへ


感想・反省


Javaのプログラムは基本的にはCと似ているような気がしたのですこしは楽でした。
でもこのプログラミング2のレポートはhtmlタグを使うのでめんどくさかったです、いつか時間がなかったら奥の手で
<pre>のみでやってしまうときが来るかもしれません。



参考文書
  はじめてのJavaプログラミング  佐藤滋 著