プログラム例
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;
}
}