| 情報学部 | 菅沼ホーム | 全体目次 |
型名 バイト数 値の範囲 byte 1 -128 ~ 127 char 2 2バイトの文字 short 2 -32,768 ~ 32,767 int 4 -2,147,483,648 ~ 2,147,483,647 long 8 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 float 4 3.4E±38(有効桁:約 7 桁) double 8 1.7E±308(有効桁:約 15 桁) boolean true, false
+ : 加算(文字列の結合にも使用される) - : 減算 * : 乗算 / : 除算(整数どうしの演算の場合,結果の小数点以下は切り捨て) % : 余り(実数演算に対しても使用可能) = : 代入 ++ : インクリメント演算子( 1 だけ増加) -- : デクリメント演算子( 1 だけ減少)
> より大きい a > b 式 a の値が式 b の値より大きいとき真 < より小さい a < b 式 a の値が式 b の値より小さいとき真 >= 以上 a >= b 式 a の値が式 b の値以上のとき真 <= 以下 a <= b 式 a の値が式 b の値以下のとき真 == 等しい a == b 式 a の値と式 b の値が等しいとき真 != 等しくない a != b 式 a の値と式 b の値が等しくないとき真 || 論理和 x || y 式 x が真か,または,式 y が真のとき真 && 論理積 x && y 式 x が真で,かつ,式 y が真のとき真 ! 否定 ! x 式 x が偽のとき真
| 論理和 x | y 対応するビットのいずれかが 1 のとき真. & 論理積 x & y 対応するビットの双方が 1 のとき真 ^ 排他的論理和 x ^ y 対応するビットが異なるのとき真 ~ 1の補数 ~ x ビット毎に 1 と 0 を反転する << 左にシフト x << 3 3 ビット左にシフト.x を 23 倍することに相当. >> 右にシフト x >> 3 3 ビット右にシフト.x を 23 で割ることに相当. >>> 右にシフト x >>> 3 3 ビット右にシフト( C++ における符号無しの整数を右シフトする場合に相当).
if (論理式) {
文1(複数の文も可)
(論理式が真の場合に実行)
}
else {
文2(複数の文も可)
(論理式が偽の場合に実行)
}
if (論理式1) {
文1(複数の文も可)
(論理式1が真の場合に実行)
}
else if (論理式2) {
文2(複数の文も可)
(論理式2が真の場合に実行)
}
・・・
else {
文n(複数の文も可)
(いずれの論理式も偽である場合に実行)
}
switch (式) {
[case 定数式1 :]
[文1]
[case 定数式2 :]
[文2]
・・・・・
[default :]
[文n]
}
for (初期設定; 論理式; 後処理) {
文(複数の文も可)
(論理式が真である限り繰り返し実行)
}
while (論理式) {
文(複数の文も可)
(論理式が真である限り繰り返し実行)
}
do {
文(複数の文も可)
(論理式が真である限り繰り返し実行,
ただし,最初は必ず実行)
} while (論理式) ;
int u1[] = {1, 2, 3}, u2[] = {1, 2, 3}, u3[];
int u4[] = new int[3]; // 初期設定しない場合
u3 = u1;

int v1[][] = {{10, 20, 30}, {40, 50, 60}}, v2[][] = {{10, 20, 30}, {40, 50, 60}}, v3[][];
v3 = v1; 
int vp1[] = v1[0]; // v1,v3 の 1 行目 int vp2[] = v1[1]; // v1,v3 の 2 行目
int v1[][] = new int [2][];
for (int i1 = 0; i1 < 2; i1++) {
v1[i1] = new int [3];
for (int i2 = 0; i2 < 3; i2++)
v1[i1][i2] = 10 * (3 * i1 + i2 + 1);
}
int x1[] = {10, 20, 30};
int x2[] = {40, 50, 60};
int v1[][] = {x1, x2};
import java.io.*;
class Test {
// メソッド main
public static void main (String[] args)
{
int x = 10, y = 20;
System.out.println("和 = " + add(x, y));
}
// メソッド add
static int add(int a, int b)
{
return a + b;
}
}
import java.io.*;
class Test {
// メソッド main
public static void main (String[] args)
{
Example ex = new Example();
}
}
class Example {
// コンストラクタ
Example()
{
int x = 10, y = 20;
System.out.println("和 = " + add(x, y));
}
// メソッド add
int add(int a, int b)
{
return a + b;
}
}
import java.io.*;
class Test {
// メソッド main
public static void main (String[] args)
{
Example ex = new Example();
}
}
class Example {
// コンストラクタ
Example()
{
int x = 10, y = 20;
int z[] = new int [2];
add(x, y, z);
System.out.println("和 = " + z[0] + " 差 = " + z[1]);
}
// メソッド add
void add(int a, int b, int c[])
{
c[0] = a + b;
c[1] = a - b;
}
}
import java.io.*;
class Test {
// メソッド main
public static void main (String[] args)
{
Example ex = new Example();
}
}
class Example {
// コンストラクタ
Example()
{
int x = 10, y = 20;
int z[];
z = add(x, y);
System.out.println("和 = " + z[0] + " 差 = " + z[1]);
}
// メソッド add
int [] add(int a, int b)
{
int c[] = new int [2];
c[0] = a + b;
c[1] = a - b;
return c;
}
}
java add 2 3
public static void main ( String args[] )
import java.io.*;
public class Test {
public static void main(String args[]) throws IOException
{
int i1, k, sum = 0;
/*
引数の内容の出力
*/
System.out.println(" 引数の数 " + args.length);
for (i1 = 0; i1 < args.length; i1++) {
k = Integer.parseInt(args[i1]); // 文字を整数に変換
System.out.println(" " + (i1+1) + " 番目の引数 " + k);
sum += k;
}
/*
結果の表示
*/
System.out.println("結果=" + sum);
}
}
[クラス修飾子] クラス識別子 {
クラス本体(変数やメソッドの定義)
}
01 import java.io.*;
02
03 class Test {
04 public static void main (String[] args)
05 {
06 Complex x = new Complex (1.0, 0.0); // 初期設定を行う場合
07 Complex y = new Complex (); // 初期設定を行わない場合
08
09 x.print();
10 y.set(5.1, 1.5);
11 // x,y が private であるため,以下の処理は不可能
12 // y.real = 5.1;
13 // y.imaginary = 1.5;
14 y.print();
15 }
16 }
17 // クラス Complex
18 class Complex {
19 private double real;
20 private double imaginary;
21 // 引数のないコンストラクタ
22 Complex() {};
23 // 引数のあるコンストラクタ
24 Complex(double a, double b)
25 {
26 real = a;
27 imaginary = b;
28 }
29 // 値の設定するためのメソッド
30 void set(double a, double b)
31 {
32 real = a;
33 imaginary = b;
34 }
35 // 出力するためのメソッド
36 void print()
37 {
38 System.out.println("実数部 = " + real + ", 虚数部 = " + imaginary);
39 }
40 }
Complex *x = new Complex (1.0, 0.0); // 初期設定を行う場合 Complex *y = new Complex (); // 初期設定を行わない場合
import java.io.*;
class Test {
public static void main (String[] args)
{
Complex y1 = new Complex (5.0, 0.0);
Complex y2;
System.out.println("y1 : 実数部 = " + y1.real + ", 虚数部 = " + y1.imaginary);
y2 = y1;
System.out.println("y2 : 実数部 = " + y2.real + ", 虚数部 = " + y2.imaginary);
y2.imaginary = 4.0;
System.out.println("y1 : 実数部 = " + y1.real + ", 虚数部 = " + y1.imaginary);
System.out.println("y2 : 実数部 = " + y2.real + ", 虚数部 = " + y2.imaginary);
}
}
// クラス Complex
class Complex {
double real;
double imaginary;
// 引数のないコンストラクタ
Complex() {};
// 引数のあるコンストラクタ
Complex(double a, double b)
{
real = a;
imaginary = b;
}
}
y1 : 実数部 = 5.0, 虚数部 = 0.0 y2 : 実数部 = 5.0, 虚数部 = 0.0 y1 : 実数部 = 5.0, 虚数部 = 4.0 y2 : 実数部 = 5.0, 虚数部 = 4.0
import java.io.*;
class Test {
public static void main (String[] args)
{
Number x = new Number (10, 2);
Number y = new Number (5, 4);
x.add();
x.print();
y.sub();
y.print();
}
}
// クラス Base
class Base {
protected int n;
protected int step;
// コンストラクタ
Base (int sp)
{
step = sp;
}
// 出力
void print() { System.out.println("value = " + n); }
// 加算
void add() { n += step; }
// 減算
void sub() { n -= step; }
}
// クラス Number
class Number extends Base // Base の継承
{
// コンストラクタ
Number (int n1, int sp)
{
super(sp); // スーパークラスのコンストラクタの呼び出し
n = n1;
}
}
public interface インタフェース名 extends 親インタフェース名 [ , ・・・ ] {
// 変数:static final とみなされる
// メソッド宣言:abstract とみなされる
}
01 /****************************/
02 /* 変数の有効範囲(スコープ) */
03 /* coded by Y.Suganuma */
04 /****************************/
05 import java.io.*;
06
07 public class Test {
08 public static void main(String args[]) throws IOException
09 {
10 // ブロック
11 int x = 10;
12 if (x > 5) {
13 System.out.printf("block x %d\n", x);
14 // int x = 15; // 許されない
15 int y = 20;
16 System.out.printf("block y %d\n", y);
17 }
18 sub();
19 System.out.printf("x %d\n", x);
20 // System.out.printf("y %d\n", y); // y が未定義
21 // クラス
22 // クラス
23 Example2 ex = new Example2();
24 ex.sub1();
25 ex.sub2();
26 System.out.printf("public member( pub ) %d\n", ex.pub);
27 }
28
29 /************/
30 /* 関数 sub */
31 /************/
32 static void sub()
33 {
34 int x = 40;
35 System.out.printf(" sub x %d\n", x);
36 }
37 }
38
39 /*******************/
40 /* クラス Example1 */
41 /*******************/
42 class Example1 {
43
44 private int pri;
45 protected int pro;
46 public int pub;
47
48 Example1() {
49 pub = 1000;
50 pri = 2000;
51 pro = 3000;
52 }
53
54 void sub1() {
55 System.out.printf("sub1 pub %d pri %d pro %d\n", pub, pri, pro);
56 }
57 }
58
59 /*******************/
60 /* クラス Example2 */
61 /*******************/
62 class Example2 extends Example1 {
63 void sub2() {
64 System.out.printf("sub2 pub %d pro %d\n", pub, pro);
65 // System.out.printf("sub2 pri %d\n", pri); // 許されない
66 }
67 }
block x 10 block y 20 sub x 40 x 10
sub1 pub 1000 pri 2000 pro 3000 sub2 pub 1000 pro 3000 public member( pub ) 1000
| 情報学部 | 菅沼ホーム | 全体目次 |