●;(セミコロン) ●コメント ●画面に文字を表示する(標準出力へ書き出す) ●ウインドウに文字を表示する ●フォントの種類やサイズを変える
●数値をウインドウに表示する ●代入 ●繰り返し1(For文) ●繰り返し2(While文) ●条件判断(If文) ●配列(1次元) ●配列(2次元) ●キーボードからの入力
●変数名 ●変数の型 ●数値の添え字 ●算術演算 ●関係演算 ●論理演算 ●インクリメント,デクリメント ●算術関数 ●配列 ●2次元配列
文の終わりには ; を入れる.
●コメント プログラム上は意味を持たないが,人が理解しやすいように入れる. //以降 /* と */ で囲まれた部分. 【例】 //この部分がコメントになる /* この 部分が コメントになる */
●画面に文字を表示する(標準出力へ書き出す) System.out.println("こんにちは"); //画面に こんにちは と表示する(改行あり) System.out.print("こんにちは"); //画面に こんにちは と表示する(改行なし) System.out.println("c="+c); //画面に c= と表示し,その後ろに変数cの内容を表示する
【例】コマンドウインドウにこんにちはと表示する
import java.applet.*; import java.awt.Graphics; public class moji extends Applet { public void paint(Graphics g) { System.out.print("こんにちは"); } }
オプション
・表示した後に改行する
System.out.println("こんにちは(改行あり)");
・c= と表示した後に変数 c の値を表示する
System.out.println("c=" + c);
●ウインドウに文字を表示する .
drawString( "文字列" , x座標 , y座標 );
【 例】座標(100,200)に「こんにちは」と表示する
import java.applet.*; import java.awt.Graphics; public class moji1 extends Applet { public void paint(Graphics g) { g.drawString("こんにちは", 100, 200); } }
Font f = new Font("フォントの種類", スタイル, サイズ);
g.setFont(f);
g.drawString( "文字列" , x座標 , y座標 );
<注意> import java.awt.Font; 文が必要
・フォントの種類
|
|
|
|
|
|
・スタイル
|
|
|
|
|
|
|
|
【例】イタリックの明朝体、72ポイントで、座標(50,100)に「こんにちは」という文字を表示する。
import java.applet.*; import java.awt.Graphics; import java.awt.Font; public class moji1_2 extends Applet { public void paint(Graphics g) { Font f = new Font("Serif", Font.ITALIC, 72); g.setFont(f); g.drawString("こんにちは", 50, 200); } }
●数値をウインドウに表示する
ウインドウに表示できるのは 文字 のみなので、数値を文字に変換する必要がある。
変換には Integer.toString( 数値 ); を用いる
【例】計算結果(2×5の計算結果)をウインドウに表示する。
import java.applet.*; import java.awt.Graphics; public class moji1_3 extends Applet { public void paint(Graphics g) { String s1; int i1; i1 = 2 * 5; s1 = Integer.toString( i1 ); g.drawString(s1, 50, 110); } }
●代入 int a,b,c; //変数a,b,cをint型(整数型)として宣言する a=1 //変数aに1を代入する b=2; //変数bに2を代入する c=a+b; //変数cにa+bの計算結果を代入する System.out.println("c="+c); //画面に c= と表示し,その後ろに変数cの内容を表示する
●繰り返し1(For文) int i; //変数 i をint型(整数型)として宣言する for( i = 1 ; i <= 10 ; i=i+1) { // i の値を1から10まで1ずつ増やしながら実行する System.out.println("Hello"); //画面に Hello と表示する }
●繰り返し2(While文) int i=1; //変数 i をint型(整数型)として宣言する whille(i <= 10) { // i の値が10以下なら繰り返す i = i + 1; // i の値を1増やす System.out.println("Hello"); //画面に Hello と表示する }
●条件判断(If文) int i; //変数 i をint型(整数型)として宣言する i=3*2; // 3×2をiに代入する if ( i >= 5 ){ //もし i が5よりも大きければ System.out.println("iは5以上"); //この部分を実行する } //end of if else { //そうでなければ, System.out.println("iは5未満"); //この部分を実行する } //end of else 【注意】else 以降は付けなくても良い。不要なら省略可。
【条件は以下のものが使える】 | |
> | より大きい |
>= | より大きいか等しい |
< | より小さい |
<= | より小さいか等しい |
== | 等しい |
!= | 等しくない |
2つ以上の条件を指定したいときは、
&& :かつ
|| :または
を使う
【例】 i が 5 以上 かつ 8 以下
if ( ( i >= 5 ) && ( i <= 8 ) ) {
・
・
・
}
【例】 i が 5 以下かまたは 8 以上
if ( ( i <= 5 ) || ( i >= 8 ) ) {
・
・
・
}
●条件判断(例2) int i; //変数 i をint型(整数型)として宣言する for( i = 1 ; i <= 10 ; i++) { // i の値を1から10まで1ずつ増やしながら実行する if ( i == 5 ){ //もし i が5ならば System.out.println("Hello"); //この部分を実行する } //end of if else { //そうでなければ, System.out.println("Java"); //この部分を実行する } //end else }
●配列(1次元) int[] a; //配列の宣言 double b; a=new int[2]; //配列を確保 a[0]とa[1]の2つを確保する a[0]=10; //配列a[0]に10を代入 a[1]=5; //配列a[1]に5を代入 b=(a[0]+a[1])/2.0; System.out.println("b="+b);
●配列(2次元) int[][] a; //2次元配列の宣言([]が2重になっていることに注意!) double b; a=new int[2][3]; //2行3列の配列を確保(a[0][0]からa[1][2]の6つを確保) a[0][0]=10; //配列a[0][0]に10を代入 a[0][1]=5; //配列a[0][1]に5を代入 a[0][2]=6; //配列a[0][2]に6を代入 a[1][0]=3; //配列a[1][0]に3を代入 a[1][1]=8; //配列a[1][1]に8を代入 a[1][2]=4; //配列a[1][2]に9を代入 b=(a[0][0]+a[0][1]+a[0][2]+a[0][0]+a[1][1]+a[1][2])/6.0; System.out.println("b="+b);
●キーボードからの入力 import java.io.*; public class Variable { public static void main(String[] args) throws IOException { int a,b,c; String s; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)) System.out.println("a="); s = br.readLine(); // sに値(文字列)を読み込む a = Integer.parseInt(s); // 文字列を整数に変換する System.out.println("b="); s = br.readLine(); b = Integer.parseInt(s); c=a+b; System.out.println(s); System.out.println("c="+c); } }
【例題】画面に Hello1 から Hello10 まで表示する public class test { public static void main(String[] args) { int i; //変数 i をint型(整数型)として宣言する for( i = 1 ; i <= 10 ; i=i+1) { // i の値を1から10まで1ずつ増やしながら実行する System.out.println("Hello"+i); //画面に Hello と表示する } } }
●プログラムの中断と再開 プログラムの中断は thre.suspend() を用いる 再開は thre.resume() を用いる また、コンパイルの際に、-Xlint を追加します。【例】javac animation1.java -Xlint
・英字,数字,アンダースコア( _ ),$などを用いる.
・数字で始めることはできない.
・Javaの予約語は使えない.
・大文字と小文字は区別する.
・文字数の制限はない.
boolean |
true または false |
char |
2バイト文字 |
byte |
1バイト整数(−128〜127) |
short |
2バイト整数(−32768〜32768) |
int |
4バイト整数(−2147483648〜2147483647) |
long |
8バイト整数(-9223372036854775808〜9223372036854775807) |
float |
4バイト浮動小数点実数 指数部8bit,仮数部24bit , 有効桁数 約7桁 |
double |
8バイト浮動小数点実数 指数部12bit,仮数部52bit , 有効桁数 約16桁 |
次の型の数値を用いる場合には,数値の後ろに添え字が必要(大文字でも小文字でもどちらでも可)
long型 |
l , L (例)5Lまたは5l |
float型 |
f , F (例)3.5Fまたは3.5f |
double型 |
d , D (例)3.5Dまたは3.5d |
次の型の数値を用いる場合には,数値の前に添え字が必要
(0はゼロです)
8進数 |
0 (例)012 |
16進数 |
0x , 0X (例)0x12 |
+ 加算
- 減算
* 乗算
/ 除算
% 剰余演算(割り算の余り)
> より大きい
>= より大きいか等しい
< より小さい
<= より小さいか等しい
== 等しい
!= 等しくない
&& AND
|| OR
! NOT
? : IF (例) a ? x :
y aがtrueならx,falseならyを実行
++ インクリメント (例) ++a
-- デクリメント (例) --a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
引数がfloatならint |
|
|
|
|
|
|
|
|
|
|
|
|
度からラジアンへの変換
ラジアン = 度 × π / 180
a[5]と書いた場合,aが配列名,[ ]内の値を添字と呼ぶ.
添字は0から始まる.
【宣言方法】
型名[ ] 配列名 = new 型名[サイズ];
(例)int[ ] a = new int[10];
「サイズ」は使用する配列の個数です.
したがって,使用できる最大の数 = サイズ−1 となるので注意が必要.
・配列の宣言と同時に初期値を代入する場合
型名[ ] 配列名 = {初期値をコンマで区切って並べる};
(例)int[ ] a = {10, 20, 30, 40, 50};
型名[ ][ ] 配列名 = new 型名[サイズ][サイズ];
(例)int[ ][ ] a = new int[10][20];
・配列の宣言と同時に初期値を代入する場合
型名[ ] 配列名 = {{コンマで区切った初期値},{コンマで区切った初期値},{コンマで区切った初期値}};
(例) int[ ][ ] a = { { 1 , 2 , 3 } , { 4 , 5 , 6 } , { 7 , 8 , 9 } } ; で定義されているとき,要素は次のようになる.
a[0] [0]= 1 a[0] [1]=
2 a[0] [2]= 3
a[1] [0]= 4 a[1] [1]=
5 a[1] [2]= 6
a[2] [0]= 7 a[2] [1]=
8 a[2] [2]= 9