| 情報学部 | 菅沼ホーム | 全体目次 | 演習解答例 | 付録 | 索引 | 

// から行末まで
/* ・・・・・・・・ */
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 文字 | 
| 情報学部 | 菅沼ホーム | 全体目次 | 演習解答例 | 付録 | 索引 |