ログイン

Java入門

Java入門

最終更新時間:2012年05月18日 08時51分39秒

内容

環境

環境はmacosxもしくはlinux, cygwinを想定している.
windowsでcygwinを導入していない場合はJDK等を導入する必要がある。
http://java.sun.com/javase/ja/6/download.html

Step 1 コンパイル

次の一行

class test { void main() {}}

をtest.javaというファイル名に保存し,

javac test.java

として, 文句をいわれなければ、コンパイル成功である.
fortranやC言語との最も大きな違いは, ファイル名を".java"という拡張子の前は,
class名と同じにしないといけないことである.
実行するには,

java test

とする. この場合は,

Exception in thread "main" java.lang.NoSuchMethodError: main

のようなエラーメッセージが出力されるが..

次のようにするとエラーは出ない。

class test{public static void  main(String[] args){}}

Step 2 繰返し文と標準出力

画面に1から10まで数字を出力してみよう.

class test{ 
public static void  main(String[] args)
{
for ( int i=1; i<11; i++)
 System.out.printf("i="+i+"\n");
} }

Step3 ファイルへの出力

次にファイルへ出力してみよう. javaのC言語と大きく異なるところは, 例外処理が必ず必要なところで、
try{}catch{}という部分が必要です. またjava.io.*をimportする必要があります。

1から10まで

import java.io.*;
class testio{ 
public static void  main(String[] args)
{
try{
        FileWriter fw = new FileWriter("testio.dat");
for ( int i=1; i<11; i++)
{
fw.write("i="+i+"\n");
}
fw.close();
}
catch (Exception e) {
        System.out.println("Exception: " +e);
}
}
}

Step 4 条件分岐

if() {} else {}はC言語と同じ。

Step 5 配列

配列を用いて画面に九九を順番に表示しよう。

class test99{ 
       public static void  main(String[] args)
       {   
               int N=10;
               int a[][]=new int[N][N];
               for ( int i=1; i<N; i++){
               for ( int j=1; j<N; j++){
                   a[i][j]=i*j;
               }   
               }   
               for ( int ii=1; ii<N; ii++){
               for ( int jj=1; jj<N; jj++){
                       System.out.printf(+ii+"x"+jj+"="+a[ii][jj]+"\n");
               }   
               }   
       } } 

Step 6 ウィンドウを表示 (Frame)と絵を書く

フレーム中に緑色に四角を塗りつぶしたもの。

import java.awt.*;
public class frame1{
 static Color col1 = new Color(00,160,60);
 static Graphics g;
 public static void main(String[] args){
 Frame fr = new Frame();  
 fr.setTitle("This is test.");  
 fr.setSize(500, 500); 
 fr.setVisible(true);  
 g =fr.getGraphics();
 g.setColor(col1);
 g.fillRect(200,200,100,100);
 }
}

矢印を描く

Step 7 アプレットとGUI

Step 8 スレッド並列