レポート1
		Day :2003/10/6
  ID  :035740F
		Name:根保光秀
		
		!!!  This Page Is Made By Shift JIS  !!!
		
		
  例題Helloを以下のように書き換えて、出力せよ。
  
  
  
もくじ

例題Hello
a.出力するメッセージを変更せよ。
b.同じメッセージを3回、別々の行に出力せよ。
c.「Hello,」と「Java World!」を別々の行に出力せよ。
d.System.out.println(…)とSystem.out.print(…)の違いについて延べよ。
e.同じメッセージを3回、同一行に出力せよ。
f.次のような菱形模様(「*」を用いる)を出力せよ。
  *
 ***
*****
 ***
  *
  
g.「*」を用いて、自分の好きな形を出力せよ。
h.考察
i.感想・反省








  例題 Hello
-------------------------------------プログラム---------

public class hello{
   	public static void main(String[] argv){
   	System.out.println("Hello, Java World!");
    }
}


--------------------------------------実行結果-----------

Hello, Java World!

---------------------------------------------------------





もくじに戻る


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




  
----------------------------------------プログラム------
  
  public class rep1a{
    public static void main(String[] argv){
        System.out.println("No War!");
    }
}

----------------------------------------実行結果--------
  
  No War!

--------------------------------------------------------




もくじに戻る



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




---------------------------------------プログラム---------

public class rep1b{
    public static void main(String[] argv){
        int a;
        for(a=1;a<4;a++){
            System.out.println("Hello, Java World!");
        }
    }
}

---------------------------------------実行結果-----------

Hello, Java World!
Hello, Java World!
Hello, Java World!

---------------------------------------------------------




もくじに戻る



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




----------------------------------------プログラム----------

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

-----------------------------------------実行結果-----------

Hello,
Java World!

-----------------------------------------------------------




もくじに戻る



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



------------------------------------------------------------

System.out.println(....)は
文字列のあと自動で改行する。

System.out.print(....)は
文字列のあと自動で改行しない。

c.項 e.項参照

------------------------------------------------------------




もくじに戻る



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



--------------------------------------プログラム-------------

public class rep1e{
    public static void main(String[] argv){
        int a;
        for(a=0;a<2;a++){
            System.out.print("Hello, Java World! ");
        }
        System.out.println("hello,Java World!");
    }
}

--------------------------------------実行結果----------------

Hello, Java World! Hello, Java World! hello,Java World!

-------------------------------------------------------------




もくじに戻る



f.菱形模型(「*」を用いる)を出力せよ。




------------------------------------プログラム----------------

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

------------------------------------実行結果-------------------

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

----------------------------------------------------------------




もくじに戻る



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




------------------------------------------------プログラム-------

public class rep1g{
    public static void main(String[] argv){
        int a,b;
        for(a=1;a<=5;a++){
            for(b=1;b<=a;b++){
                System.out.print("*");
            }
            System.out.print("\n");
        }
        for(a=4;a>=1;a--){
            for(b=1;b<=a;b++){
                System.out.print("*");
            }
            System.out.print("\n");
        }
    }

-----------------------------------------------実行結果----------

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

-----------------------------------------------------------------




もくじに戻る



考察



javaのデータタイプについて考えてみました


整数型
容量 範囲
byte 1 byte -127〜128
short 2 byte -32768〜32767
int 4 byte -2^31〜2^31-1
long 8 byte -2^63〜2^63-1
C言語の時とだいたい同じで整数を扱う時はこれらのデータタイプを使います。
Long型を表す時にはsuffixとして"L"がくっつきます

suffixとは?
直訳すると接尾字の事で
.cとか.javaのような拡張子と同じようなものです。
使い方は”long longtype=123456L”という感じです。

少数点型
容量 範囲
folat 4 byte -3.4E+38〜3.4E+38
double 8 byte -1.7+308〜1.7E+308
これもC言語の時とだいたい同じです。
Float型を表す時にはsuffixとして"f"か"F"がつきます。

この他文字型のChar、ブール型のboolがあります。

データを出力するプログラム
-------------------------------------------------------------
public class dat{
    public static void main(String [] argv){

        byte ByteType=123;
        short ShortType=12345;
        int IntType=56;
        long LongType=1234567891011121314L;

        float FloatType=123.45f;
        double DoubleType=12345.6789;

        char CharType='M';

        boolean BoolType=false;

        System.out.println("ByteType="+ByteType);
        System.out.println("ShortType="+ShortType);
        System.out.println("IntType="+IntType);
        System.out.println("LongType="+LongType);

        System.out.println("FloatType="+FloatType);
        System.out.println("DoubleType="+DoubleType);

        System.out.println("CharType="+CharType);

        System.out.println("BoolType="+BoolType);
    }
}
---------------------------------------実行結果---------------
ByteType=123
ShortType=12345
IntType=56
LongType=1234567891011121314
FloatType=123.45
DoubleType=12345.6789
CharType=M
BoolType=false
--------------------------------------------------------------

変数の使い方や代入の仕方がC言語と同じだと分かった
だけど表示させるところがちょっと違うことも分かった。
C言語ではデータを表示させる時は”printf("%d",intType)”
だった%dや%sなどをを変える事で一つの変数で数字や文字を表示させていたけど
Javaではそれはできないようだ。

表示可能なアスキーコードを表示するプログラムを
C言語からJavaにして見たプログラム

--------------------------------------------------------------
public class rep1z{
    public static void main(String[] argv){
        int i;
        char c;
        System.out.println("------------------------------------------Result");
        for(c=' ';c<=127;c++){
            System.out.print("|"+c+"|   ");
            if((c-'0'+1)%8==0){
                System.out.print("\n");
            }
        }
        System.out.println("------------------------------------------------");
    }
    
}
--------------------------------------------実行結果-----------

------------------------------------------Result
| |   |!|   |"|   |#|   |$|   |%|   |&|   |'|   
|(|   |)|   |*|   |+|   |,|   |-|   |.|   |/|   
|0|   |1|   |2|   |3|   |4|   |5|   |6|   |7|   
|8|   |9|   |:|   |;|   |<|   |=|   |>|   |?|   
|@|   |A|   |B|   |C|   |D|   |E|   |F|   |G|   
|H|   |I|   |J|   |K|   |L|   |M|   |N|   |O|   
|P|   |Q|   |R|   |S|   |T|   |U|   |V|   |W|   
|X|   |Y|   |Z|   |[|   |\|   |]|   |^|   |_|   
|`|   |a|   |b|   |c|   |d|   |e|   |f|   |g|   
|h|   |i|   |j|   |k|   |l|   |m|   |n|   |o|   
|p|   |q|   |r|   |s|   |t|   |u|   |v|   |w|   
|x|   |y|   |z|   |{|   |||   |}|   |~|   ||   
------------------------------------------------

%sや%dで表示するデータを変えられないけど
Char型の変数に数字を入れる事ができた。

以上の事から
データタイプの考え方はC言語とさほど変わりないことが分かった。
変数に値を代入する・値を表示する事はプログラムの基本なので
C言語と同じなのでとっつきやすい事が分かった。


コンパイルエラーについて。

Javaのプログラムをコンパイルしてエラーがある場合
Javaはどこが間違っているのかと詳しく教えてくれます。

わざとエラーがでるようなプログラムを作ってみました

-----------------------------------プログラム------

public class er{                                 //プログラム名はerr.java
    public static void main{       
        system.out.println("error")      //;がない
    }
                                                        //}がない

-----------------------------------コンパイル結果----
err.java:3: ';' がありません。
        System.out.println("error")
                                   ^
err.java:4: '}' がありません。
    }
     ^
err.java:1: クラス er は public であり、ファイル er.java で宣言しなければなりません。
public class er{
       ^
エラー 3 個
-----------------------------------------------------

とコンパイル結果のように間違っている所を
詳しく教えてくれている。




もくじにもどる


感想・反省


初めてJavaに触ったのですがC言語と似ているのであまり抵抗なく入っていく事ができました。
時々printfと書いてしまいますが、、、。

レポートの提出がハイパーテキストになったので
表を作るのが楽になりました。画像とかでも説明できるので
説明が難しいことでもなんとか説明できるようになると思います。

これからはJavaアプレットを載せろ!
とかHtmlの技術も必要になってくる雰囲気,,,,,,。