情報学部 | 菅沼ホーム | 全体目次 | 演習解答例 | 付録 | 索引 |
// から行末まで
/* ・・・・・・・・ */
x = 10.0; // 変数 x に 10.0 を代入
/* 変数 x に 10.0 を代入 */ x = 10.0;
x = 10.0; /* 変数 x に 10.0 を代入 */
01 /*********************************/ 02 /* 二次方程式を解く */ 03 /* a * x * x + b * x + c = 0 */ 04 /* coded by Y.Suganuma */ 05 /*********************************/ 06 import java.io.*; 07 08 public class Test { 09 public static void main(String args[]) throws IOException 10 { 11 /* 12 係数の読み込み 13 */ 14 BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); 15 System.out.print("係数 a は? "); 16 double a = Double.parseDouble(in.readLine()); 17 System.out.print("係数 b は? "); 18 double b = Double.parseDouble(in.readLine()); 19 System.out.print("係数 c は? "); 20 double c = Double.parseDouble(in.readLine()); 21 /* 22 一次方程式 23 */ 24 if (Math.abs(a) <= 1.0e-10) { 25 if (Math.abs(b) <= 1.0e-10) 26 System.out.println(" 解を求めることができません!"); 27 else { 28 double x = -c / b; 29 System.out.println(" x = " + x); 30 } 31 } 32 /* 33 二次方程式 34 */ 35 else { 36 double d = b * b - 4.0 * a * c; 37 // 2実根 38 if (d >= 0.0) { 39 d = Math.sqrt(d); 40 double x1 = 0.5 * (-b - d) / a; 41 double x2 = 0.5 * (-b + d) / a; 42 System.out.println(" x = " + x1 + ", " + x2); 43 } 44 // 虚数 45 else { 46 d = Math.sqrt(-d); 47 double x1 = -0.5 * b / a; 48 double x2 = 0.5 * d / a; 49 System.out.println(" x = " + x1 + " ± i" + x2); 50 } 51 } 52 } 53 }
"abcd" "efgh"
"abcd" + "efgh"
データ型 変数名1[= 初期値], 変数名2[= 初期値], ・・・;
型名 バイト数 値の範囲 byte 1 -128 ~ 127 char 2 1 つの Unicode 文字 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 1 true, false
double x = 10.5, y;
final int VAL = 10; // C/C++ の場合は,const int VAL = 10;
int abc, _bef; // 正.複数の変数をカンマで区切って並べることが可能 double abc, _bef = 3.5; // 正.変数 _bef に対しては初期設定を行っている int a, A; // 正.変数 a と A は異なる char a = 'A'; // 正.変数 a を A という文字(アスキーコードで 65 )で初期化 char a = 65; // 正.変数 a を 65 で初期化(上と同等) int a, abc, a; // 誤.同じ変数を 2 度定義してはいけない int if; // 誤.キーワードは変数名として使用できない int 10a; // 誤.変数名の最初は,英字または下線 int a+10; // 誤.変数名に使用できるのは,英数字と下線だけ int a = 3.5; // 誤.int 型の変数の初期値として不適当
01 int n, x = 0, y = 1; 02 n = 10; 03 for (int k = 1; k <= 10; k++) { // k の有効範囲は 07 行目まで 04 int n = 0; // 再定義のためエラー(外側のブロックで既に定義) // C/C++ の場合は OK,その有効範囲は 07 行目まで 05 x += k; 06 y *= k; 07 } 08 n = k; // k が未定義のためエラー 09 double n; // 再定義のためエラー
import java.io.*; public class Test { // enum 型の変数 coltype の定義 // ローカル変数としては定義不可(一種のクラス) enum coltype1 {red, blue, black, white} enum coltype2 {red(100), blue(200), black(300), white(400); private int num; private coltype2(int num) { this.num = num; } int getNum() { return num; } } enum coltype3 { red { void message () { System.out.println(" 赤"); } }, blue, black, white { void message () { System.out.println(" 白"); } }; void message () { System.out.println(" 赤,白以外"); } } public static void main(String args[]) throws IOException { // 基本 coltype1 col1 = coltype1.blue; // 変数 color に青を代入 if (col1 == coltype1.red) // もし,色が赤ならば System.out.println("色の判別結果: red"); else if (col1 == coltype1.blue) // もし,色が青ならば System.out.println("色の判別結果: blue"); System.out.println("name(): " + coltype1.black.name()); System.out.println("black の順番: " + coltype1.black.ordinal()); // 順番を表す番号を変更 System.out.println("black の順番(変更後): " + coltype2.black.getNum()); // 特別の処理を行う System.out.println("処理結果:"); coltype3.red.message(); coltype3.blue.message(); coltype3.black.message(); coltype3.white.message(); } }
色の判別結果: blue name(): black black の順番: 2 black の順番(変更後): 300 処理結果: 赤 赤,白以外 赤,白以外 白
+ : 加算 // 文字列の結合にも使用可能 - : 減算 * : 乗算 / : 除算(整数どうしの演算の場合,結果の小数点以下は切り捨て) % : 余り(実数演算に対しても使用可能.例えば,7.3 / 2.3 の演算結果は,3 余り 0.4 となるので,7.3 % 2.3 は 0.4 )
演算 | 説明 |
---|---|
7 / 3 * 3 | 7 / 3 * 3 = 2 * 2 = 6 |
7 / (3 * 3) | 7 / (3 * 3) = 7 / 9 = 0 |
7 / 3 / 3 | 7 / 3 / 3 = 2 / 3 = 0 |
data = 10.0 / 4.0 * 2.0; i_data = 10 / 4 * 2;
double y = 10 / 4; // y = (double)(10 / 4);
int x = 10.0 / 4.0; // x = (int)(10.0 / 4.0);
k = 2; k = k + 3;
k += 3;
x = y = z = 20.4;
int x = 5, y; x = 3; x *= 5; y = x + 2;
x = y + 5;
k++; n = 3 + m++;
k = k + 1;
n = 3 + m; m = m + 1;
n = 3 + ++m;
m = m + 1; n = 3 + m;
int x = 5, y = 7; x--; x--; y++;
10.0 / 4;
char < int < long < float < double < ・・・
double db = 10 / 3; int k = 10.0 / 4.0;
double db1 = 10.4; double db2 = (double)((int)db1 / 4)
演算 | 説明 |
---|---|
(double)(7 / 2) | (double)(7 / 2) = (double)3 = 3.0 |
7 / (double)2 | 7 / (double)2 = 7 / 2.0 = 7.0 / 2.0 = 3.5 |
7 / 2.0 | 7 / 2.0 = 7.0 / 2.0 = 3.5 |
7 / 2 | 3 |
javac -encoding utf-8 Test.java // 文字コードが utf-8 の場合 javac Test.java // 文字コードが Shift_JIS の場合
java Test
01 /****************************/ 02 /* 2つのデータの和と差 */ 03 /* coded by Y.Suganuma */ 04 /****************************/ 05 import java.io.*; 06 07 public class Test { 08 public static void main(String args[]) 09 { 10 double sa, wa, x, y; 11 12 try { 13 /* 14 データの入力 15 */ 16 BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); 17 System.out.print("1つ目のデータを入力してください "); 18 x = Double.parseDouble(in.readLine()); 19 System.out.print("2つ目のデータを入力してください "); 20 y = Double.parseDouble(in.readLine()); 21 /* 22 和と差の計算 23 */ 24 wa = x + y; 25 sa = x - y; 26 /* 27 結果の出力 28 */ 29 System.out.println("和は=" + wa + " 差は=" + sa); 30 } 31 catch (IOException ignored) {} 32 } 33 }
double x = Double.parseDouble(in.readLine());
InputStreamReader isr = new InputStreamReader(System.in); BufferedReader in = new BufferedReader(isr);
和は=8.000000 差は=2.000000
01 /****************************/ 02 /* 2つのデータの和と差 */ 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 データの入力 12 */ 13 BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); 14 System.out.print("1つ目のデータを入力してください "); 15 double x = Double.parseDouble(in.readLine()); 16 System.out.print("2つ目のデータを入力してください "); 17 double y = Double.parseDouble(in.readLine()); 18 /* 19 和と差の計算 20 */ 21 double wa = x + y; 22 double sa = x - y; 23 /* 24 結果の出力 25 */ 26 System.out.println("和は=" + wa + " 差は=" + sa); 27 } 28 }
01 /****************************/ 02 /* 2つのデータの和と差 */ 03 /* coded by Y.Suganuma */ 04 /****************************/ 05 import java.io.*; 06 07 public class Test { 08 public static void main(String args[]) 09 { 10 // データの入力 11 Console con = System.console(); 12 double x = Double.parseDouble(con.readLine("1つ目のデータを入力してください ")); 13 double y = Double.parseDouble(con.readLine("2つ目のデータを入力してください ")); 14 // 和と差の計算 15 double wa = x + y; 16 double sa = x - y; 17 // 結果の出力 18 con.printf("和は=%f 差は=%f\n", wa, sa); 19 // System.out.printf("和は=%f 差は=%f\n", wa, sa); でも可 20 } 21 }
double d_data; int i_data; String c_data; ・・・・・ Consoleオブジェクト名.printf("結果は %f %10.3f %d %5d %s\n", d_data, d_data, i_data, i_data, c_data);
01 /****************************/ 02 /* 2つのデータの和と差 */ 03 /* coded by Y.Suganuma */ 04 /****************************/ 05 import java.io.*; 06 import java.util.*; 07 08 public class Test { 09 public static void main(String args[]) 10 { 11 // データの入力 12 Console con = System.console(); 13 String line = con.readLine("2つのデータをスペースで区切って入力してください "); 14 StringTokenizer str = new StringTokenizer(line, " "); 15 double x = Double.parseDouble(str.nextToken()); 16 double y = Double.parseDouble(str.nextToken()); 17 // 和と差の計算 18 double wa = x + y; 19 double sa = x - y; 20 // 結果の出力 21 con.printf("和は=%f 差は=%f\n", wa, sa); 22 } 23 }
01 /****************************/ 02 /* 2つのデータの和と差 */ 03 /* coded by Y.Suganuma */ 04 /****************************/ 05 import java.io.*; 06 07 public class Test { 08 public static void main(String args[]) 09 { 10 // データの入力 11 Console con = System.console(); 12 String str[] = con.readLine("2つのデータをスペースで区切って入力してください ").split(" "); 13 double x = Double.parseDouble(str[0]); 14 double y = Double.parseDouble(str[1]); 15 // 和と差の計算 16 double wa = x + y; 17 double sa = x - y; 18 // 結果の出力 19 con.printf("和は=%f 差は=%f\n", wa, sa); 20 } 21 }
01 /****************************/ 02 /* 2つのデータの和と差 */ 03 /* coded by Y.Suganuma */ 04 /****************************/ 05 import java.io.*; 06 import java.util.*; 07 08 public class Test { 09 public static void main(String args[]) 10 { 11 // データの入力 12 Scanner sc = new Scanner(System.in); 13 System.out.printf("2つのデータを入力してください "); 14 double x = sc.nextDouble(); 15 double y = sc.nextDouble(); 16 // 和と差の計算 17 double wa = x + y; 18 double sa = x - y; 19 // 結果の出力 20 System.out.printf("和は=%f 差は=%f\n", wa, sa); 21 } 22 }
実行順序 | プログラム | x の値 | y の値 |
---|---|---|---|
1 | int x, y = 10; | - | 10 |
2 | BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); | - | 10 |
3 | System.out.print("y は? "); | - | 10 |
4 | y = Integer.parseInt(in.readLine()); | - | 5 |
5 | x = y + 3; | 8 | 5 |
6 | x *= 5; | 40 | 5 |
7 | System.out.println(x); | 40 | 5 |
abstract | boolean | break | byte | byvalue | case |
cast | catch | char | class | const | continue |
default | do | double | else | extends | false |
final | finally | float | for | future | generic |
goto | if | inner | implements | import | instanceof |
int | interface | long | native | new | null |
operator | outer | package | private | protected | public |
rest | return | short | static | super | switch |
synchronized | this | throw | throws | transient | true |
try | var | void | volatile | while |
000 | ^@ (nul) | 016 | ^P (dle) | 032 | (sp) | 048 | 0 | 064 | @ | 080 | P | 096 | ` | 112 | p |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
001 | ^A (soh) | 017 | ^Q (dc1) | 033 | ! | 049 | 1 | 065 | A | 081 | Q | 097 | a | 113 | q |
002 | ^B (stx) | 018 | ^R (dc2) | 034 | " | 050 | 2 | 066 | B | 082 | R | 098 | b | 114 | r |
003 | ^C (etx) | 019 | ^S (dc3) | 035 | # | 051 | 3 | 067 | C | 083 | S | 099 | c | 115 | s |
004 | ^D (eot) | 020 | ^T (dc4) | 036 | $ | 052 | 4 | 068 | D | 084 | T | 100 | d | 116 | t |
005 | ^E (enq) | 021 | ^U (nak) | 037 | % | 053 | 5 | 069 | E | 085 | U | 101 | e | 117 | u |
006 | ^F (ack) | 022 | ^V (syn) | 038 | & | 054 | 6 | 070 | F | 086 | V | 102 | f | 118 | v |
007 | ^G (bel) | 023 | ^W (etb) | 039 | ' | 055 | 7 | 071 | G | 087 | W | 103 | g | 119 | w |
008 | ^H (bs) | 024 | ^X (can) | 040 | ( | 056 | 8 | 072 | H | 088 | X | 104 | h | 120 | x |
009 | ^I (tab) | 025 | ^Y (em) | 041 | ) | 057 | 9 | 073 | I | 089 | Y | 105 | i | 121 | y |
010 | ^J (lf) | 026 | ^Z (eof) | 042 | * | 058 | : | 074 | J | 090 | Z | 106 | j | 122 | z |
011 | ^K (vt) | 027 | ^[ (esc) | 043 | + | 059 | ; | 075 | K | 091 | [ | 107 | k | 123 | { |
012 | ^L (np) | 028 | ^\ (fs) | 044 | , | 060 | < | 076 | L | 092 | \ | 108 | l | 124 | | |
013 | ^M (cr) | 029 | ^] (gs) | 045 | - | 061 | = | 077 | M | 093 | ] | 109 | m | 125 | } |
014 | ^N (so) | 030 | ^^ (rs) | 046 | . | 062 | > | 078 | N | 094 | ^ | 110 | n | 126 | ~ |
015 | ^O (si) | 031 | ^_ (us) | 047 | / | 063 | ? | 079 | O | 095 | _ | 111 | o | 127 | |
Seq. | 説明 | Seq. | 説明 |
---|---|---|---|
\udddd | Unicode文字 | \? | リテラル クオーテーション |
\b | バック スペース | \' | シングル クォーテーション |
\f | 改ページ | \" | ダブル クォーテーション |
\n | 復改 | \\ | 円記号 |
\r | 改行 | \ddd | 8進表記による ASCII 文字 |
\t | 水平タブ | \xdd | 16進表記による ASCII 文字 |
情報学部 | 菅沼ホーム | 全体目次 | 演習解答例 | 付録 | 索引 |