プログラム例
C:\Java\jdk>cd classex C:\Java\jdk\classex>dir ドライブ C のボリューム ラベルは COFEEC です C:\Java\jdk\classex のディレクトリ 2009/04/23 10:21 <DIR> . 2009/04/23 10:21 <DIR> .. 2009/04/22 17:51 485 MeiboArray.java 2009/04/23 10:21 555 Name.java
C:\Java\jdk\classex>javac MeiboArray.java C:\Java\jdk\classex>java MeiboArray Kano:Mayumi(22) 女 Kato:Kohe(32) 男プログラムにエラーがあると、メッセージが表示されます。MeiboArray.java:6: は6行目にエラーがあり、^ はエラーを見つけた場所を示します。
C:\Java\jdk\classex>javac MeiboArray.java MeiboArray.java:6: ';' がありません。 Name name[] = new Name[3]//3人 ^
public class Sum { //0から9までの和を求める public static void main(String[] args) { int sum = 0; for (int i = 0; i <10; i++) { sum = sum + i;//SUMに i を加える } System.out.println("sum=" + sum);//結果の表示 } }結果
C:\Java\jdk\sample>java Sum sum=45
public class Fact { //2のべき乗を求める public static void main(String[] args) { int fact = 1; for (int i = 0; i <16; i++) { System.out.println(i +":"+ fact); fact = fact * 2; } } }実行結果
0:1 1:2 2:4 3:8 11:2048 12:4096 13:8192 14:16384 15:32768
public class ArraySum { //配列の和を求める public static void main(String[] args) { double[] data = { 2.3, 4.5, 6.7, 3.2 };//配列と値を定める double sum = 0.0; for (int i = 0; i < data.length; i++) { sum = sum + data[i];//sum に i 番目の値を加える } System.out.println("sum=" + sum); } }
sum=16.7
public class ArrayMax { public static void main(String[] args) { double[] data = { 2.3, 4.5, 6.7, 3.2 }; double max = data[0];//初期値 for (int i = 0; i < data.length; i++) { if(max < data[i]) max=data[i];//最大値を更新 } System.out.println("max=" + max); } }結果
C:\Java\jdk\arrayMax>java ArrayMax max=6.7
public class Cond { public static void main(String[] args) { double[] data = { 2.3, 4.5, 1.7, 3.2 ,10.5}; double max = data[0]; //条件の組み合わせ for (int i = 0; i < data.length; i++) { //条件の AND if(2.0 < data[i] & 8.0 >data[i]) System.out.println("cond A: " + data[i]); //条件のOR if(2.0 >= data[i] | 8.0 <=data[i]) System.out.println("cond B: " + data[i]); } } }実行結果
cond A: 2.3 cond A: 4.5 cond B: 1.7 cond A: 3.2 cond B: 10.5
public class ArrayRange { public static void main(String[] args) { double[] data = { 2.3, 4.5, 6.7, 3.2 }; int i=0; double sum = 0.0; try { for (i = 0; i < 10; i++) { sum = sum + data[i]; } } catch (ArrayIndexOutOfBoundsException e) { //配列の範囲を超えた System.out.println("outofBound:" + i); e.printStackTrace(); } System.out.println("sum=" + sum); } }
outofBound:4 java.lang.ArrayIndexOutOfBoundsException: 4 at ArrayRange.main(ArrayRange.java:22) sum=16.7
//MeiboArray.java public class MeiboArray { public static void main(String[] args) { Name name[] = new Name[3]//3人 name[0] = new Name("Kono","Miyuki",18,1); name[1] = new Name("Kano","Mayumi",22,1); name[2]=new Name(); name[2].sei="Kato"; name[2].mei="Kohe"; name[2].age=32; name[2].sex=0; for(int i=0;i < name.length;i++) if(! name[i].young()) System.out.println(name[i]); } }Nameクラスを定義します。このクラスは、名前、年齢、性別、を保持します。Name()はコンストラクタ、young()は、young の判断、toString() はクラスを表示するときの文字列を定義します。
//Name.java class Name{ String sei; String mei; int age; int sex;//0:男性 1:女性 //コンストラクタ1 Name(){ } //コンストラクタ2 Name(String s,String m,int age,int sex){ sei=s; mei=m; this.age=age; this.sex=sex; } public boolean young(){ if(sex==0 & age <=20) return true; if(sex==1 & age <=18) return true; return false; } public String toString(){ String msg=sei + ":" + mei + "("+age +")"; if(sex == 0) msg += " 男"; else msg += " 女"; return msg; } }