1.プログラミング 周 辺 の 話 題 ハードウェアとソフトウェア プログラミングとそのための 言 語 プログラミング 言 語 と 皆 さんが 通 常 考 えている 算 数 との 違 い 例 1: 以 下 の 手 順 で aの 値 は 最 終 的 に 幾 つになる? a=5* 2 7 b b= a=

Size: px
Start display at page:

Download "1.プログラミング 周 辺 の 話 題 ハードウェアとソフトウェア プログラミングとそのための 言 語 プログラミング 言 語 と 皆 さんが 通 常 考 えている 算 数 との 違 い 例 1: 以 下 の 手 順 で aの 値 は 最 終 的 に 幾 つになる? a=5* 2 7 b b= a="

Transcription

1 ( 木 ) 改 定 6.1 版 Java 入 門 目 次 基 本 編 1.プログラミング 周 辺 の 話 題 2 2.Javaによる 初 めてのプログラミング 3 3.Javaアプリケーションの 構 造 4 4. Hello d アプレット Worl 8 5.Javaアプレットの 構 造 10 資 料 1 ASCI Iコード 一 覧 表 11 資 料 2 Javaのインストール 12 基 礎 編 1:データの 型 と 代 入 13 2.クラス&メソッド 制 御 文 & 加 減 算 関 係 論 理 演 算 子 制 御 文 2&ビット 演 算 46 5.クラスの 作 成 56 参 考 外 部 入 力 部 品 の 例 継 承 70 7.インターフェースとパッケージ 例 外 93 9.マルチスレッドプログラミング 105 トピック 編 補 足 1:GUIプログラミング 114 補 足 2:ネットワーク プログラミング( 原 始 的 なチャット) 116 補 足 3:Javaのアサーション 機 能 12 生 産 情 報 システム 技 術 科 福 良 博 史 1

2 1.プログラミング 周 辺 の 話 題 ハードウェアとソフトウェア プログラミングとそのための 言 語 プログラミング 言 語 と 皆 さんが 通 常 考 えている 算 数 との 違 い 例 1: 以 下 の 手 順 で aの 値 は 最 終 的 に 幾 つになる? a=5* 2 7 b b= a=a+ ソフトウェアの 設 計 / 構 造 化 プログラミング(Dijkstr a)/オブジェクト 指 向 (UML) 課 題 :1から10までの 和 を 求 めなさい 注 ) 10まで の 条 件 を nまで としたらどうする 用 語 集 Progra m Interprete r Compile r Assemble r Machine e Languag Machin e Jav 関 連 の 用 語 Java Virtual e Machin Java Java Compile r Interprete r Javaの 言 語 仕 様 を 読 むために 形 式 言 語 BNF 記 法 とその 拡 張 終 端 記 号 (termina l)と 非 終 端 記 号 (non termina l) 例 :if intなど 例 : 文 フィールド など 2

3 2.Jav aによる 初 めてのプログラミング Hello d アプリケーション Worl 以 下 の 手 順 に 従 うと スタンドアロンの ことができる Java アプリケーションを 作 成 して 使 用 する 手 順 1:Javaソースファイルの 作 成 ここで 示 す Java コードで HelloWorldApp.java と 指 定 されたファイルを 作 成 する 注 :Javaは 大 文 字 と 小 文 字 を 区 別 するので 注 意 してコードを 書 くこと /** HelloWorldApp クラスは 標 準 出 力 に Hello */ * するアプリケーションを 実 装 する class HelloWorldApp {! を World 表 示 public static void { main(string[] args) System.out.println("Hello / 文 字 列 を 表 示 する World!"); / 手 順 2:ソースファイルのコンパイル Javaコンパイラを 使 用 してソースファイルをコンパイルする DOSプロンプト( Windows XX ): javac HelloWorldApp.java コンパイルが 成 功 した 場 合 コンパイラは HelloWorldApp.class と 指 定 されたファイルを 作 成 する コンパイルが 失 敗 した 場 合 は 上 記 で 示 したように 正 確 にプログラムを 入 力 し て 指 定 しているかどうか 確 認 する 手 順 3:アプリケーションの 実 行 Javaインタプリタを 使 用 してプログラムを 実 行 する DOSプロンプト( Windows XX ): java HelloWorldApp 注 :Java インタープリタへの 引 数 は ファイル 名 ではなく 実 行 するクラス 名 になる Hello Worl d! が 標 準 出 力 で 表 示 されるの が 見 られる 3

4 3.Javaアプリケーションの 構 造 1)Javaコードのコメント Java 言 語 は3つの 種 類 のコメントをサポートする /*テキスト */ コンパイラは /*から */までのすべてを 無 視 する /** 文 書 */ これはドキュメント 生 成 のためのコメントを 示 す コンパイラは /*と */を 使 用 する コメントを 無 視 するのと 同 じように この 種 類 のコメントを 無 視 する JDK javadoc ツー ルは 自 動 的 に 作 成 される 文 書 を 準 備 する 時 に 文 書 コメントを 使 用 する javadoc の 詳 細 については Javaツールマニュアルを 参 照 すること //テキスト コンパイラは //から 行 の 最 後 までを 無 視 する /* */ * HelloWorldApp クラスは 標 準 出 力 に Hello d! を Worl * 表 示 するアプリケーションを 実 装 する // 文 字 列 を 表 示 する 2)クラスを 定 義 する Java 言 語 では すべてのメソッド( 関 数 )と 変 数 がクラスあるいはオブジェクト(クラ スのインスタンス) 内 に 存 在 する /** HelloWorldApp クラスは 標 準 出 力 に Hello */ * するアプリケーションを 実 装 する class elloworldapp H {! を World 表 示 public static void { main(string[] args) System.out.println("Hello / 文 字 列 を 表 示 する World!"); / 現 実 の 世 界 でのクラスの 例 としては 料 理 法 が 考 えられる たとえば 雑 煮 の 料 理 法 があるとする あなたが 料 理 した 雑 煮 は 雑 煮 の 料 理 法 における1つのインスタンスで あり 私 が 料 理 したものは 全 く 別 のインスタンスである ( 両 方 の 雑 煮 は 同 じ ルックアン ドフィール かもしれない 匂 いと 味 も 似 ているかもしれない しかし 別 の 物 である ) 4

5 3)main() メソッド すべての Java アプリケーションの 中 枢 部 は その main( )メソッドである Java イン タプリタでアプリケーションを 実 行 する 時 は 実 行 したいクラス 名 を 指 定 する インタプ リタは そのクラス 内 で 定 義 した main( )メソッドを 起 動 する main( )メソッドは プログ ラムの 流 れを 制 御 し 必 要 とされる 資 源 を 割 り 当 て アプリケーションのために 機 能 性 を 提 供 する 他 のメソッドを 実 行 する /**HelloWorldApp クラスは 標 準 出 力 に Hello */ * するアプリケーションを 実 装 する class HelloWorldApp {! を World 表 示 public static void String[] main( { args) System.out.println("Hello / 文 字 列 を 表 示 する World!"); / すべての なくてはならない Java アプリケーションは シグニチャが 次 のようになる main( )メソッドを 含 ま public static void ) main(string[] args main( )メソッドのメソッドシグニチャには 3つの 修 飾 子 が 含 まれる public は main( )メソッドがどんなオブジェクトによってでも 呼 び 出 されることを 表 す static は main( )メソッドがクラスメソッドであることを 表 す voidは main( )メソッドが 値 を 返 さないことを 表 す main() メソッドの 呼 び 出 し Java 言 語 での main( )メソッドは C 言 語 と C++の main( ) 関 数 に 類 似 している Javaイ ンタプリタが(アプリケーションの 制 御 するクラスを 起 動 することによって)アプリケー ションを 実 行 すると クラスの main( )メソッドを 呼 び 出 して 開 始 する main( )メソッドは アプリケーションを 実 行 するように 要 求 された 他 のすべてのメソッドを 呼 び 出 す もし main( )メソッドを 持 っていないクラスで Java インタプリタを 起 動 しようとすると インタプリタはプログラムの 実 行 を 拒 否 して 以 下 にのようなエラーメッセージを 表 示 す る Exception in thread "main" java.lang.noclassdeffo p 5

6 main() メソッドの 引 数 次 のコードの 太 字 下 線 部 のように つの 引 数 を 受 け 取 る この main( )メソッドは public static (String void [] args) main Strings の 配 列 というひと String の 配 列 は 実 行 時 システムがアプリケーションに 情 報 を 渡 すメカニズムであ る 配 列 でのそれぞれの String は コマンド 行 引 数 と 呼 ばれる コマンド 行 引 数 によ ってユーザは 再 コンパイルせずに アプリケーションの 操 作 に 影 響 を 与 えることができる 注 ) Java 実 行 環 境 で 関 数 に 渡 す 引 数 の 数 と 型 とは 異 なる main() メソッドに 渡 す 引 数 の 数 と 型 は C 言 語 や C++の main() 4)クラスとオブジェクトの 使 用 Javaアプリケーションの 他 のコンポーネントは アプリケーションを 実 装 するために 作 成 した 支 援 のオブジェクト クラス メソッド および Java 言 語 文 である Hello Worl d アプリケーションは 何 かを 行 うために 作 成 する Javaプログラムとして は ほぼ 最 も 単 純 なものである 大 変 単 純 なプログラムなので HelloWorldApp 以 外 のク ラスは 定 義 する 必 要 がない しかし 作 成 されるたいていのプログラムはもっと 複 雑 であ り 他 のクラスや 補 助 の Java コードを 作 成 する 必 要 がある Hello Worl d アプリケーションは Java 環 境 で 提 供 される 別 のクラス-System -を 使 用 する System クラスは システムに 依 存 する 機 能 性 に 対 し システムに 依 存 しな いアクセスを 提 供 する System クラスの 情 報 については システム 資 源 の 使 用 を 参 照 する こと 次 のリストの 太 字 下 線 部 のコードは System クラスのクラス 変 数 の 使 用 方 法 とインスタ ンスメソッドの 使 用 方 法 を 示 す /** HelloWorldApp クラスは 標 準 出 力 に Hello */ * するアプリケーションを 実 装 する class HelloWorldApp {! を World 表 示 public static void main(string[] { args) System. out.println("hell o World!") ; / 文 字 列 を 表 示 する 6

7 5)クラスメソッドまたは 変 数 の 使 用 System. out.println("hello ; World!") 構 成 要 素 ションは 決 して System.out は System クラス 内 の out 変 数 のフルネームになる アプリケー System クラスをインスタンス 化 せず outはクラス 名 から 直 接 参 照 され ることに 注 意 する これは outがクラス 変 数 であり クラスのインスタンスよりも む しろクラスと 関 連 づけられた 変 数 であるためである 同 様 にメソッドをクラスと 関 連 づけ ることができる これはクラスメソッドである クラス 変 数 とメソッドを 参 照 するためには ピリオド( ド 名 あるいはクラス 変 数 名 を 結 合 する ".")でクラス 名 とクラスメソッ 6)インスタンスメソッドまたは 変 数 の 使 用 クラスメソッドあるいはクラス 変 数 でないメソッドと 変 数 は インスタンスメソッドとイ ンスタンス 変 数 として 知 られている インスタンスメソッドと 変 数 を 参 照 するためには オブジェクトからメソッドと 変 数 を 参 照 しなくてはならない System の out 変 数 は クラス 変 数 である 一 方 標 準 出 力 を 実 装 する PrintStream クラス (Java 開 発 環 境 で 提 供 されたクラス)のインスタンスを 参 照 する System クラスがアプリケーションにロードされると PrintStream をインスタンス 化 して 新 規 の PrintStream オブジェクトを outクラス 変 数 に 割 り 当 てる これでクラスのイン スタンスを 持 つことになるので そのインスタンスメソッドを 呼 び 出 すことができる System.out.pri ntln("hello World!") ; 見 てわかるように クラスメソッドや 変 数 を 参 照 する 方 法 と 同 様 にして インスタンスメ ソッドや 変 数 を 参 照 する ピリオド( スメソッド 名 あるいは 変 数 (printl n)を 結 合 する ".")でオブジェクト 参 照 (out)と インスタン Javaコンパイラにより クラス インスタンスメソッド 変 数 への 参 照 を 一 緒 に 階 層 化 す ることができるので 結 果 としてプログラム 例 に 現 れるような 構 成 要 素 になる System. out.printl n("hello World!") ; 7

8 4. Hell o World アプレット 以 下 の 手 順 にしたがうと アプレットを 作 成 して 使 用 することができる 手 順 1:Javaソースファイルの 作 成 次 に 示 す Java コードを 使 用 して HelloWorld.java と 指 定 したファイルを 作 成 する import import java.applet.applet ; java.awt.graphics ; public class HelloWorld { extends Applet public int(graphics void pa{ g) g.drawstring("hello /メッセージ world!", 50, 25); g.drawline(0, 100); 0, 50, // 直 線 g.drawrect(70, 70, 30, // 四 角 形 10); g.drawoval(100, 100, // 楕 60, 円 10); 手 順 2:ソースファイルのコンパイル Javaコンパイラを 使 用 してソースファイルをコンパイルする コンパイルが 成 功 する 場 合 コンパイラは HelloWorld.class と 指 定 されたファイルを 作 成 する コンパイルが 失 敗 した 場 合 は 上 記 で 示 したように 正 確 にプログラムを 入 力 して 名 前 を 指 定 したかを 確 認 する 手 順 3:アプレットを 含 む HTML ファイルの 作 成 HelloWorld.class. を 含 む 同 じディレクトリで 作 成 する この HTML ファイルは 次 のテキストを 含 む Hello.htm lと 指 定 されたファイルを <HTML > <HEAD><TITLE> A Simple LE></HEAD > Program </TIT <BODY > これは 私 が 造 った 初 めての Javaのアプレットです <APPLET CODE="HelloWorld.class" > WIDTH=400 HEIG </BODY > </HTML > 8

9 手 順 4:HTMLファイルのロード Javaアプレットを 実 行 することができるアプリケーションに する このアプリケーションには Java 互 換 のブラウザ あるいは Applet ビューワーのような HTM Lファイルをロード JDKで 提 供 した Java アプレット 参 照 プログラムがある HTML ファイルをロ ードするためには 一 般 的 にアプリケーションとして 作 成 した える 必 要 がある 例 えば ブラウザの なことを 入 力 する file:c:/user/j/hello.html HTML ファイルの URLを 伝 URLあるいはロケーションフィールドに 次 のよう うまくこれらの 手 順 を 完 了 すると ブラウザウィンドウで 見 ることができる ブラウザの 替 わりに Apple tビューワーを 用 いる 場 合 は コマンドラインから 以 下 のよう なことをする DOSコマンドプロンプト( appletviewer Hello.html Window s 等 ): 実 行 結 果 の 例 9

10 5.Javaアプレットの 構 造 クラスとパッケージのインポート 最 初 の2つの 行 を 無 効 にした 場 合 は 次 のようにコードの 残 りの 部 分 を 変 更 ( 太 字 下 線 部 )した 場 合 に 限 り アプレッ トをコンパイルして 実 行 することができる import import Applet サブクラスの 定 義 多 くの 機 能 を 継 承 する java.applet.applet ; java.awt.graphics ; publicclasshelloworld extendsjava.applet.aplet{ public voidpaint(java.awt.grap hics g){ g.drawstring("helloworld!",50, 25); public class ld HelloWor extends { Applet public void paint(graphics { g) アプレットメソッドの 実 装 HelloWorld アプレットは paint()メソッドを 実 装 する すべてのアプレットが 少 なくと も init() start() paint()メソッ ドのうちの 一 つを 実 装 しなくては g.drawstring("hello ; world!", 50, 25) ならない Java アプリケーション と 異 なり アプレットは main()メ ソッドを 実 装 する 必 要 がない paint()メソッドに 渡 す Graphics オブジェクトは アプレットのスクリー ン 上 の 描 画 コンテキストを 表 す Graphics drawstring() メソッドの 最 初 の 引 数 は スクリーン 上 に 描 かれる 文 字 列 である 2 番 目 と3 番 目 の 引 数 は スクリーンの 左 下 隅 を 表 す( x,y) 座 標 である このアプレットは(50,25) の 位 置 において 文 字 列 Hello world! を 描 く アプレットの 座 標 系 は(0,0) で 始 まり これはアプレットの 表 示 領 域 の 左 上 隅 である アプレットの 実 行 アプレットは HTMLページに 組 み 込 まれなければならない <APPLET >タグを 使 用 して ( 少 なくとも)Appletサブクラスの 位 置 とアプレットスクリーン 上 に 表 示 するエリアの 大 きさを 指 定 する Java ブラウザが <APPLET >タグと 出 くわすと アプレットのためにスク リーン 上 のスペースを 予 約 し ブラウザが 実 行 しているコンピュータ 上 に ラスをロードし レットの Applet サブク Applet サブクラスのインスタンスを 作 成 する 次 に ブラウザはアプ init( )と start( )メソッド を 呼 び 出 し アプレットが 実 行 する <APPLET CODE="HelloWorld.class" > WIDTH=150 H </APPLET > 10

11 資 料 1 ASCIコード 一 覧 表 上 位 3 ビット 下 位 4 ビット NUL DLE SP P ` p 1 SOH DC1! 1 A Q a q 2 STX DC2 " 2 B R b r 3 ETX DC3 # 3 C S c s 4 EOT DC4 $ 4 D T d t 5 ENQ NAC % 5 E U e u 6 ACK SYN & 6 F V f v 7 BEL ETB ' 7 G W g w 8 BS CAN ( 8 H X h x 9 HT EM ) 9 I Y i y A LF/NL SUB * : J Z j z B VT ESC + ; K [ k { C FF FS, < L l D CR GS - = M ] m E SO RS. > N ^ n ~ F SI US /? O _ o DEL 制 御 符 号 NUL ヌル( 空 文 字 ) SOH ヘディング 開 始 STX テキスト 開 始 ETX テキスト 終 了 EOT 伝 送 終 了 ENQ 問 い 合 わせ ACK 肯 定 応 答 BEL ベル BS バックスペース HT 水 平 タブ LF/NL 復 帰 / 改 行 VT 垂 直 タブ FF 改 ページ CR 復 帰 SO シフトアウト SI シフトイン DLE データリンクでの 拡 張 DC1 制 御 装 置 1 DC2 制 御 装 置 2 DC3 制 御 装 置 3 DC4 制 御 装 置 4 NAC 否 定 応 答 SYN 同 期 文 字 ETB 伝 送 ブロック 終 了 CAN 取 消 EM 媒 体 終 端 SUB 置 換 キャラクタ ESC ( 制 御 コード) 拡 張 FS ファイルセパレータ GS グループセパレータ RS レコードセパレータ US ユニットセパレータ SP ( 半 角 )スペース DEL 削 除 注 : OS 毎 の 改 行 コードの 違 い (1)Windows は CR+LF (2)UNIX は LF (3)Mac は CR 11

12 資 料 2 Javaのインストール j2sdk-1_4_2_04-windows-i586-p.exe または jdk-1_5_0_06-windows-i586-p.exe をダブルクリックし あとは NEXT Yes などと 答 えていく すべて 選 択 する 確 認 1C ドライブに j2sdk1.4.2_04 というフォルダができている 2Dos のコマンドプロンプトから 以 下 のコマンドを 入 力 し 結 果 を 確 認 C: >c: j2sdk1.4.2_04 bin java.exe -version java version "1.4.2_04" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05) Java HotSpot(TM) Client VM (build 1.4.2_04-b05, mixed mode) C: > 環 境 変 数 の 設 定 スタート 設 定 コントロール パネル システム 詳 細 タグ 環 境 変 数 ボタン システム 環 境 変 数 の PATH の 追 加 編 集,JAVA-MOME の 追 加 環 境 変 数 値 PATH.;c: j2sdk1.4.2_04 bin; 既 存 の PATHの 先 頭 に 追 加 JAVA_HOME c: j2sdk1.4.2_04 注 意! 1.5のバージョンからは C: Program Files java となるので path 設 定 に 気 をつけて! コマンドプロンプトを 立 ち 上 げなおし 以 下 のsetコマンドで 環 境 変 数 の 設 定 内 容 を 確 認 C: >set 注 意! 既 存 の 定 義 をツブサナイで! ; 既 存 の 定 義 というように 最 初 に 既 存 の 定 義 の 前 に ; (セミコロン)を 追 加 してから この Java 用 の PATH を 記 述 するほうが 安 全 です ( 今 度 は java version として 上 記 の 確 認 が 可 能 です) JAVA_HOME=c: j2sdk1.4.2_04 Path=.;c: j2sdk1.4.2_04 bin;c: WINNT system32;c: WINNT;C: WINNT System32 W bem; 12

13 1:データの 型 と 代 入 プリミティブ 型 及 び 値 プリミティブ 型 (primitive )は,Java type 言 語 によってあらかじめ 決 められており,そ れに 対 して 予 約 されたキーワードで 名 前 付 けする PrimitiveType : NumericTyp e boolea n NumericType : IntegralTyp e FloatingPointTyp e 5.フィールドとローカル 変 数 の 初 期 化 IntegralType :oneof byte short int r long 7.コンパイル エラーに cha 表 示 される 行 と FloatingPointType :oneof float doubl e プリミティブ 値 は, 他 のプリミティブ 値 と 状 態 を 共 有 しない 型 をプリミティブ 型 とする 変 数 は, 常 にそれと 同 じ 型 のプリミティブ 値 を 保 持 する プリミティブ 型 の 変 数 の 値 は, その 変 数 に 対 する 代 入 演 算 によってだけ 変 更 できる 数 値 型 (numeric)は, types 整 数 的 な 型 及 び 浮 動 小 数 点 型 とする 整 数 的 な 型 (integral types )は,byte,shor t,int 及 び long(それぞれ,8ビット,16 ビット,32ビット 及 び 64ビットの 2の 補 数 符 号 付 き 整 数 ), 並 びに char(unicode 文 字 を 表 す 16ビット 符 号 無 し 整 数 )に 分 ける 浮 動 小 数 点 型 (floatin g-point )は,floa typest(32ビット IEEE 4 浮 75 動 小 数 点 数 ) 及 び doubl e(64ビット IEEE 4 浮 75 動 小 数 点 数 )とする 1.ブロック 構 造 2. 文 と 行 の 違 い 3. 文 の 改 行 位 置 の 自 由 度 4.クラスに 所 属 する 変 数 とメソッド 6. 変 数 のスコープ 実 行 時 の 例 外 処 理 で 表 示 される 行 の 違 い 型 boolea nは 二 つの 値,true( 真 ) 及 び fals e( 偽 ),だけをとる 整 数 的 な 型 及 び 値 整 数 的 な 型 の 値 は, 次 の 範 囲 の 整 数 とする byte-128 以 上,127 以 下 shor t 以 上,3276 以 下 int 以 上, 以 下 long 以 上, 以 下 char' u0000 ' 以 上,' uffff ' 以 下,すなわち,0 以 上,65535 以 下 13

14 整 数 演 算 Javaは, 整 数 的 な 値 に 作 用 する 多 くの 演 算 子 を 提 供 する 比 較 演 算 子 結 果 は, 型 boolea nの 値 になる o 数 値 比 較 演 算 子 <,<=,> 及 び >= o 数 値 等 価 演 算 子 == 及 び!= 数 値 演 算 子 結 果 は, 型 int 又 は 型 longになる o 単 項 符 号 演 算 子 + 及 び - o 乗 除 演 算 子 *,/ 及 び % o 加 法 演 算 子 + 及 び - o 増 分 演 算 子 ++, 接 頭 語 及 び 接 尾 語 の 両 方 o 減 分 演 算 子 --, 接 頭 語 及 び 接 尾 語 の 両 方 o 符 号 付 き 及 び 符 号 無 しシフト 演 算 子 <<,>> 及 び >> o ビット 単 位 補 数 演 算 子 ~ o 条 件 演 算 子? : 整 数 ビット 単 位 演 算 子 &, 及 び ^ キャスト 演 算 子 ある 整 数 値 を, 任 意 の 指 定 した 数 値 型 の 値 へ 変 換 することができ る 文 字 列 連 結 演 算 子 + Strin gオペランド 及 び 整 数 的 オペランドを 与 えたとき, 整 数 的 オペランドをその 値 を 表 す 10 進 数 表 記 の Strin gに 変 換 し, 次 にその 二 つの Strin gを 連 結 した 新 しい 文 字 列 を 生 成 する 浮 動 小 数 点 型 及 び 値 浮 動 小 数 点 型 は,floa t 及 び doubl eとし,2 進 数 浮 動 小 数 点 計 算 のための IEE 規 格 (IEE Standard for Binary g-point Floatin Arithmetic ),ANSI/IEE E 規 格 (IEEE, w York )で 規 定 する, 単 精 度 32ビット 及 び 倍 精 度 64ビット 形 式 の IEEE 54の 7値 及 び 演 算 を 表 現 する IEEE 754 規 格 は, 正 負 の 符 号 及 び 大 きさからなる 数 だけではなく, 正 及 び 負 のゼロ, 正 及 び 負 の 無 限 大 (infinities ), 並 びに 特 別 な Not-a-Number ( 以 降 NaNと 略 す)を 含 む NaN 値 は,ゼロをゼロで 割 るなどの 特 別 な 演 算 の 結 果 を 表 すために 使 用 する floa t 及 び doubl e 型 の NaN 定 数 は,Float.N an 及 び Double.Na Nとして, 定 義 する 型 floa tの 有 限 非 ゼロ 値 の 形 式 は, とする ここで sは, +1 又 は -1,mは, 未 満 の 正 整 数 とし,eは, -149 以 上 104 以 下 の 整 数 とする mが 正 であるが 未 満 で あって,eが -149に 等 しい 形 式 の 値 を, 非 正 規 化 (denormalized )されているという Ne 14

15 型 doubl eの 有 限 非 ゼロ 値 の 形 式 は, とする,ここで sは, +1 又 は -1,mは, 未 満 の 正 整 数 であり,eは, 以 上 970 以 下 の 整 数 とする mが 正 であって 未 満 及 び eが -1075に 等 しい 形 式 の 値 を, 非 正 規 化 (denormalized )されているという NaNを 除 いて, 浮 動 小 数 点 値 は 最 小 値 から 最 大 値 に 向 かって, 負 の 無 限 大, 負 の 有 限 非 ゼ ロ 値, 負 のゼロ, 正 のゼロ, 正 の 有 限 非 ゼロ 値, 及 び 正 の 無 限 大 の 順 に 順 序 付 ける(ordered ) 正 のゼロと 負 のゼロの 比 較 結 果 は, 等 しいとする したがって, 式 0.0= =-0.0の 結 果 は trueに,0.0>-0.0の 結 果 は fals eになる しかし,その 他 の 演 算 は, 正 及 び 負 のゼロを 区 別 する 例 えば,1.0/0. 0は 正 の 無 限 大 の 値 をもつ 一 方,1.0/-0.0の 値 は 負 の 無 限 大 とする Math.mi n 及 び Math.ma x 演 算 も, 正 のゼロ 及 び 負 のゼロを 区 別 する NaNは, 順 序 付 けしない(unordered ) したがって, 数 値 比 較 演 算 子 <,<=,> 及 び >=は, オペランドのいずれか 又 は 両 方 が NaNのとき fals eを 返 す どちらかのオペランドが NaN ならば, 等 価 演 算 子 ==は fals eを 返 し,どちらかのオペランドが NaNならば, 非 等 価 演 算 子!=は trueを 返 す 特 に, xが NaNのときに 限 って,x!=xは trueを, x 又 は y が NaNならば,(x<y) ==!(x>=y )は fals eを 返 す 浮 動 小 数 点 型 の 任 意 の 値 は, 任 意 の 数 値 型 へキャストしてよい 又 は 任 意 の 数 値 型 からキ ャストされてもよい 浮 動 小 数 点 型 と 型 boolea nとの 間 では,キャストできない 浮 動 小 数 点 演 算 Javaは, 浮 動 小 数 点 値 に 作 用 する 演 算 子 を 多 数 提 供 する 比 較 演 算 子 結 果 は, 型 boolea nの 値 になる o 数 値 比 較 演 算 子 <,<=,> 及 び >= o 数 値 等 価 演 算 子 == 及 び!= 数 値 演 算 子 結 果 は, 型 floa t 又 は 型 doubl eになる o 単 項 符 号 演 算 子 + 及 び - o 乗 除 演 算 子 *,/ 及 び % o 加 法 演 算 子 + 及 び - o 増 分 演 算 子 ++, 接 頭 語 及 び 接 尾 語 の 両 方 o 減 分 演 算 子 --, 接 頭 語 及 び 接 尾 語 の 両 方 条 件 演 算 子? : キャスト 演 算 子 ある 浮 動 小 数 点 値 を, 任 意 の 指 定 した 数 値 型 の 値 へ 変 換 する 文 字 列 連 結 演 算 子 + Strin gオペランド 及 び 浮 動 小 数 点 オペランドを 与 えたとき, 浮 動 小 数 点 オペランドを,その 値 を 表 す 10 進 表 現 の 文 字 列 に 情 報 の 損 失 無 しに 変 換 し, 次 にそれら 二 つの 文 字 列 を 連 結 した 新 しい Strin gを 生 成 する 15

16 boolea n 型 及 び bool ean 値 型 boolea nは,リテラル true 及 び fals eで 示 す 二 つの 可 能 な 値 をもつ 論 理 的 な 量 を 表 す 論 理 演 算 子 には, 次 の 種 類 がある 関 係 演 算 子 == 及 び!= 論 理 補 数 演 算 子! 論 理 演 算 子 &,^ 及 び 条 件 付 き AND 及 び 条 件 付 き OR 演 算 子 && 及 び 条 件 演 算 子? : 文 字 列 連 結 演 算 子 + Strin gオペランド 及 び 論 理 オペランドを 与 えたとき, 論 理 オペランドを Strin g("true " 又 は "false ")に 変 換 し,それから, 二 つの 文 字 列 を 連 結 した 新 しい Strin gを 生 成 する 論 理 式 は,いくつかの 種 類 の 文 において 制 御 フローを 決 定 する if 文 whil e 文 do 文 for 文 boolea n 式 はまた, 条 件 演 算 子?:において,どの 副 文 を 評 価 するかを 決 定 する boolea n 式 だけが, 条 件 演 算 子?:の 最 初 のオペランド, 及 び 制 御 フロー 文 内 で 使 用 でき る 任 意 の 非 ゼロ 値 が trueとなる C 言 語 の 慣 習 に 従 い, 整 数 xは, 式 x!=0によって boolea nに 変 換 できる nullでない 任 意 の 参 照 が trueとなる C 言 語 の 慣 習 に 従 い,オブ ジェクト 参 照 objは, 式 obj!=nul lによって boolea nに 変 換 できる boolea n 値 の 型 boolea nへのキャストは 許 される 型 boolea nに 関 する 他 のキャストは 許 されない boolea n 値 は, 文 字 列 変 換 によって 文 字 列 に 変 換 できる 16

17 変 数 の 初 期 の 値 Javaプログラムのすべての 変 数 は,その 値 が 使 用 される 前 に, 値 をもっていなければなら ない 個 々のクラス 変 数,インスタンス 変 数 又 は 配 列 構 成 要 素 は,それを 生 成 するときに デフォルト 値 (default)に 初 value 期 化 する o o o o o o o o o 型 byteについては,デフォルト 値 はゼロ,すなわち (byte) 0とする 型 shor tについては,デフォルト 値 はゼロ,すなわち (short) 0とする 型 intについては,デフォルト 値 はゼロ,すなわち 0とする 型 longについては,デフォルト 値 はゼロ,すなわち 0Lとする 型 floa tについては,デフォルト 値 は 正 のゼロ,すなわち 0.0fとする 型 doubl eについては,デフォルト 値 は 正 のゼロ,すなわち 0.0dとする 型 charについては,デフォルト 値 は 空 文 字,すなわち ' u0000 'とする 型 boolea nについては,デフォルト 値 は fals eとする すべての 参 照 型 については,デフォルト 値 は nullとする 個 々のメソッド 仮 引 数 は,そのメソッドの 呼 出 し 元 が 提 供 する 対 応 する 実 引 数 値 に 初 期 化 される 個 々のコンストラクタ 仮 引 数 は,クラスインスタンス 生 成 式 又 は 明 示 的 なコンスト ラクタ 呼 出 しが 提 供 する, 対 応 する 実 引 数 値 に 初 期 化 される 例 外 ハンドラ 仮 引 数 は,その 例 外 を 表 している 投 げられたオブジェクトを 初 期 値 と してもつ 局 所 変 数 には, 使 用 前 に, 初 期 化 又 は 代 入 によって, 明 確 な 代 入 の 規 則 を 使 ってコ ンパイラが 検 証 できる 方 法 で, 値 を 明 示 的 に 与 えなければならない プリミティブ 型 の 拡 大 変 換 プリミティブ 型 における 次 の 19 個 の 変 換 をプリミティブ 型 の 拡 大 変 換 (widenin g primitive n) conversio と 呼 ぶ byteから shor t,int,long,floa 又 は doubl eへの 変 換 shor tから int,long,floa 又 は doubl eへの 変 換 charから int,long,floa 又 は doubl eへの 変 換 intから long,floa t, 又 は doubl eへの 変 換 longから floa t 又 は doubl eへの 変 換 floa tから doubl eへの 変 換 17

18 プリミティブ 型 の 拡 大 変 換 は, 数 値 の 全 体 としての 大 きさについての 情 報 を 失 わない 実 際, 整 数 の 型 から 他 の 整 数 の 型 への 拡 大 変 換 及 び 型 floa tから 型 doubl eへの 拡 大 変 換 は, いかなる 情 報 も 失 うことはない つまり, 数 値 を 正 確 に 保 存 する int 若 しくは longの 値 から floa tへの 変 換, 又 は longの 値 から doubl eへの 変 換 は, 精 度 の 損 失 (loss precisio n),すなわち 値 の 最 小 位 の 数 ビットを 失 なうことがある この 場 合, 浮 動 小 数 点 の 結 果 値 は,IEEE 直 754 近 へのまるめモードを 利 用 して, 正 しく 丸 めた 整 数 値 とする of プリミティブ 型 の 縮 小 変 換 プリミティブに 関 する 次 の 23 個 の 変 換 をプリミティブ 型 の 縮 小 変 換 (narrowing primitive conversio n) と 呼 ぶ byteから charへの 変 換 shor tから byte 又 は charへの 変 換 charから byte 又 は shor tへの 変 換 intから byte,shor t 又 は charへの 変 換 longから byte,shor t,char 又 は intへの 変 換 floa tから byte,shor t,char,int 又 は longへの 変 換 doubl eから byte,shor t,char,int,long 又 は floa tへの 変 換 縮 小 変 換 は, 数 値 全 体 の 大 きさの 情 報 を 失 うことがあり,さらに 精 度 を 失 うこともある 符 号 付 き 整 数 の 整 数 型 Tへの 縮 小 変 換 は, 単 に n 個, 最 小 位 ビット 以 外 のすべての 情 報 を 捨 てる ここで,nは, 型 Tを 表 現 するのに 使 用 するビット 数 とする 数 値 の 大 きさに 関 する 情 報 の 損 失 の 可 能 性 に 加 えて, 結 果 値 の 符 号 が, 入 力 値 の 符 号 と 異 なってしまうこ とがある 同 様 にして, 文 字 型 から 整 数 型 Tへの 縮 小 変 換 は, 単 に n 個, 最 小 位 ビット 以 外 のすべ ての 情 報 を 捨 てる ここで nは, 型 Tを 表 現 するのに 使 用 するビット 数 とする 数 値 の 大 きさに 関 する 情 報 の 損 失 の 可 能 性 に 加 えて, 文 字 が 16ビットの 符 号 なし 整 数 値 を 表 わす にもかかわらず, 結 果 値 が, 負 の 数 になることがある 浮 動 小 数 点 数 から 整 数 型 Tへの 縮 小 変 換 は, 二 つの 段 階 を 踏 む 1. 第 一 段 階 では, 浮 動 小 数 点 数 を,Tが longならば longに 変 換 し,Tが byte, shor t,char 又 は intならば intに 変 換 する o 浮 動 小 数 点 数 が NaNならば, 変 換 の 第 一 段 階 の 結 果 は,int 又 は longの 0 とする o そうでないときには, 浮 動 小 数 点 数 が 無 限 大 でなければ, 浮 動 小 数 点 数 は, IEEE 4のゼロへ 75 向 かう 丸 めモードを 使 ってゼロの 方 向 の 整 数 値 Vに 丸 める このとき 次 の 二 つの 場 合 が 存 在 する 18

19 o Tが longであって,この 整 数 値 が longで 表 現 できれば, 第 一 段 階 の 結 果 は, longの 値 Vとする そうでないときには,この 整 数 値 が intとして 表 現 できれば, 第 一 段 階 の 結 果 は,intの 値 Vとする そうでないときには, 次 の 二 つのいずれかが 真 でなければならない 値 が 小 さすぎる( 膨 大 な 負 の 値 又 は 負 の 無 限 大 ) 第 一 段 階 の 結 果 は, 型 int 又 は 型 longの 最 小 表 現 可 能 値 とする 値 が 大 きすぎる( 膨 大 な 正 の 値 又 は 正 の 無 限 大 ) 第 一 段 階 の 結 果 は, 2. 第 二 段 階 は, 次 のとおりとする o o 型 int 又 は 型 longの 最 大 表 現 可 能 値 とする Tが int 又 は longならば, 変 換 の 結 果 は, 第 一 段 階 の 結 果 とする Tが byte,char 又 は shor tならば, 変 換 の 結 果 は, 第 一 段 階 の 結 果 の 型 Tへの 縮 小 変 換 の 結 果 とする 剰 余 演 算 子 % 2 項 % 演 算 子 は 暗 黙 の 除 算 によってオぺランドの 剰 余 を 生 成 する 左 辺 オぺランドは 被 除 数 とし, 右 辺 オぺランドは 除 数 とする C 及 び C++ では, 剰 余 演 算 子 は 整 数 オぺランドだけを 受 け 入 れるが,Java で は 浮 動 小 数 点 のオペランドも 受 け 入 れる 剰 余 演 算 は,(a/b)*b+(a%b) が a に 等 しいとする 結 果 を 生 成 する この 恒 等 式 は, 被 除 数 をその 型 に 対 する 可 能 な 最 大 の 大 きさの 負 数 とするとき, 及 び 除 数 が -1 ( 剰 余 は 0)のときの 特 別 な 場 合 においても 成 立 する この 規 則 から 次 のこと がいえる 剰 余 演 算 の 結 果 は, 被 除 数 が 負 のときにだけ 負 とでき, 被 除 数 が 正 のときにだけ 正 とできる さらに, 結 果 の 大 きさは 常 に 除 数 の 大 きさより 小 さ い 整 数 の 剰 余 演 算 子 に 対 する 除 数 の 値 が 0 ならば,ArithmeticException が 投 げら れる 参 考 Excelの 場 合 の MOD 関 数 は 以 下 の 通 り MOD(n,d)= n-d*int(n/d ) を 満 足 するようになっている 例 : MOD(10,-4)=-2 10-(-4)*INT(10 /-4)=1 0-(-4)*(-3)=

20 練 習 1 class L0101 { // 出 力 時 の 改 行 はどこで 行 われるか? System.out.print("こんにちは!"); System.out.println(" 皆 さん"); System.out.println("お 茶 を 飲 みましょう"); C: user java>javac L0101.java C: user java>java L0101 こんにちは! 皆 さん お 茶 を 飲 みましょう C: user java> 練 習 2 class L0102 { //このプログラムを 正 しく 動 かすには? String s1; String s2=" 私 は 誰?"; System.out.println(s1); C: user java>javac L0102.java L0102.java:5: 変 数 s1 は 初 期 化 されていない 可 能 性 があります System.out.println(s1); ^ エラー 1 個 C: user java> class L0102 { String s1; String s2=" 私 は 誰?"; System.out.println(s2); 修 正 結 果 の 出 力 C: user java>java L0102 私 は 誰? 練 習 3 class L0103 { float weight; weight = 89.5f; System.out.print(" 体 重 は "); System.out.print(weight); System.out.println("Kgです"); C: user java>java L0103 体 重 は 89.5Kg です C: user java> 20

21 練 習 4 public class L0104 { // 何 処 かでエラーが 出 る どうしましょう? char ch = 'AB'; System.out.println("char -> " + ch); ヒント: 文 字 と 文 字 列 の 違 いは 何 ですか? C: user java>javac L0104.java L0104.java:4: 文 字 リテラルが 閉 じられていません char ch = 'AB'; ^ L0104.java:4: 文 字 リテラルが 閉 じられていません char ch = 'AB'; ^ エラー 2 個 練 習 5 public class L0105 { // 何 処 かでエラーが 出 る どうしましょう? short s = ; System.out.println("short -> " + s); ヒント:short は 精 度 何 バイト? 表 現 できる 値 は? 練 習 6 public class L0106 { // double d1,d2の 値 を 見 比 べてみましょう double d1 = ; double d2 = ; System.out.println("double d1 -> " + d1); System.out.println("double d2 -> " + d2); C: user java>javac L0105.java L0105.java:4: 精 度 が 落 ちている 可 能 性 検 出 値 : int 期 待 値 : short short s = ; ^ エラー 1 個 C: user java>java L0106 double d1 -> E8 double d2 -> E17 練 習 7 class L0107 { String s = " 猫 が 言 った" + " " 我 輩 は 猫 である ""; // の 意 味? System.out.println(s); C: user java>java L0107 猫 が 言 った" 我 輩 は 猫 である" 練 習 8 class L0108 { // 文 字 列 のコンカチネイト( 連 結 ) System.out.println(" 私 は " + " 松 本 清 張 の" + " 砂 の 器 " + "を 読 みました "); C: user java>java L0108 私 は 松 本 清 張 の 砂 の 器 を 読 みました 21

22 練 習 9 public class L0109 { System.out.println("9/5=>" + 9/5); System.out.println("9%5=>" + 9%5); System.out.println("9/3=>" + 9/3); System.out.println("9%3=>" + 9%3); C: user java>java L0109 9/5=>1 9%5=>4 9/3=>3 9%3=>0 練 習 10 public class L0110 { System.out.println("9%5=>" + 9%5); System.out.println("9%(-5)=>" + 9%(-5)); System.out.println("(-9)%5=>" + (-9)%5); System.out.println("(-9)%(-5)=>" + (-9)%(-5)); System.out.println("1.21/1.1, 1.21%1.1=>" /1.1 + "," %1.1); C: user java>java L0110 9%5=>4 9%(-5)=>4 (-9)%5=>-4 (-9)%(-5)=> /1.1, 1.21%1.1=> , 練 習 11 class L0111 { // 単 項 演 算 子 int i = 10; i = -i; System.out.println("i= " + i); C: user java>java L0111 i= -10 練 習 12 class L0112 { // 型 の 違 う 精 度 が 異 なるもの 同 士 の 演 算 int i; float f; i = 10; f = 23.25f; System.out.println(i * f); C: user java>java L 課 題 :System.out.println(2+3+ ABC +4+5); ビックリするはず として 結 果 を 見 てみよう! 22

23 練 習 13 class L0113 { // 型 精 度 の 大 きい 方 への 変 換 byte b = 127; int i; i = b; System.out.println(i); 練 習 14 class L0114 { //この 間 違 いは 難 しいでしょう byte b; int i = 127; b = i; System.out.println(b); C: user java>java L C: user java>javac L0114.java L0114.java:5: 精 度 が 落 ちている 可 能 性 検 出 値 : int 期 待 値 : byte b = i; ^ エラー 1 個 ヒント: 型 相 違 の 対 応 キャストとは 何 か? 練 習 15 class L0115 { // 練 習 14の 回 答 です byte b; int i = 127; b = (byte)i; System.out.println(b); C: user java>java L 練 習 16 class L0116 { // 型 精 度 の 小 さいほうへの 変 換 byte b; C: user java>java L0116 int i = 259; 3 b = (byte)i; System.out.println(b); // いくつの 値 が 表 示 されるか?なぜこの 値 が 表 示 されるか? 練 習 17 class L0117 { // 切 り 捨 て float f = f; int i = (int)f; System.out.println(i); C: user java>java L

24 練 習 18 class L0118 { // 文 字 の 割 り 当 て char ch = 'A'; int i = ch; System.out.println(i); C: user java>java L 課 題 :'A'を'a'や'1'にすると どんな 値 が 返 ってくるか 確 かめましょう 練 習 19 class L0119 { byte b1 = 3; //おかしい エラーが 出 てしまった!どうしよう? byte b2 = 2; byte b3 = b1 * b2; System.out.println(b3); ヒント:キャスト 演 算 子 の 優 先 順 位 練 習 20 class L0120 { C: user java>javac L0119.java L0119.java:5: 精 度 が 落 ちている 可 能 性 検 出 値 : int 期 待 値 : byte byte b3 = b1 * b2; ^ エラー 1 個 // 配 列 を 宣 言 して 領 域 を 割 り 当 てる int myarray[] = new int[5]; // 要 素 を 初 期 化 する myarray[0] = 10; myarray[1] = 20; myarray[2] = -30; myarray[3] = -40; myarray[4] = 50; // 要 素 数 を 表 示 する System.out.println("myarray.length = " + myarray.length); // 要 素 を 表 示 する System.out.println(myarray[0]); System.out.println(myarray[1]); System.out.println(myarray[2]); System.out.println(myarray[3]); System.out.println(myarray[4]); C: user java>java L0120 myarray.length =

25 練 習 21 class L0121 { // 配 列 の 初 期 化 // 配 列 を 宣 言 し, 領 域 を 割 り 当 て, 初 期 化 する int myarray[] = { 11, 22, -33, -44, 50 ; // 要 素 数 を 表 示 する System.out.println("myarray.length = " + myarray.length); // 要 素 を 表 示 する C: user java>java L0121 System.out.println(myarray[0]); myarray.length = 5 System.out.println(myarray[1]); 11 System.out.println(myarray[2]); 22 System.out.println(myarray[3]); -33 System.out.println(myarray[4]); 練 習 22 class L0122 { // 配 列 の 参 照 // 配 列 array1 を 宣 言 し, 領 域 を 割 り 当 てる float array1[] = new float[3]; // 配 列 array1 を 初 期 化 する array1[0] = -1.23f; array1[1] = 4.5f; array1[2] = 67.89f; // 配 列 array2 を 宣 言 し, 領 域 を 割 り 当 てる float array2[] = new float[3]; // 配 列 array2 に 配 列 array1 と 同 じ 配 列 を 参 照 させる array2 = array1; // 配 列 array2 の 要 素 を 表 示 する System.out.println("array2:"); System.out.println(array2[0]); System.out.println(array2[1]); System.out.println(array2[2]); // 要 素 を 変 更 する array2[1] = 100; // 配 列 array1 の 要 素 を 表 示 する System.out.println("array1:"); System.out.println(array1[0]); System.out.println(array1[1]); System.out.println(array1[2]); // 配 列 array2 の 要 素 を 表 示 する System.out.println("array2:"); System.out.println(array2[0]); System.out.println(array2[1]); System.out.println(array2[2]); C: user java>java L0122 array2: array1: array2:

26 練 習 23 class L0123 { // 二 次 元 配 列 // 配 列 myarray を 宣 言 して 領 域 を 割 り 当 てる int myarray[][] = new int[3][2]; // 要 素 を 初 期 化 する myarray[0][0] = 11; myarray[0][1] = 22; myarray[1][0] = -33; myarray[1][1] = 44; myarray[2][0] = 55; myarray[2][1] = 66; // 配 列 myarray の 要 素 数 を 表 示 する System.out.println("myarray.length = " + myarray.length); System.out.println("myarray[0].length = " + myarray[0].length); // 配 列 myarray の 要 素 を 表 示 する System.out.println(myarray[0][0]); System.out.println(myarray[0][1]); System.out.println(myarray[1][0]); System.out.println(myarray[1][1]); System.out.println(myarray[2][0]); System.out.println(myarray[2][1]); 練 習 24 class L0124 { // 二 次 元 配 列 の 初 期 化 // 配 列 を 宣 言 し, 領 域 を 割 り 当 て, 初 期 化 する int myarray[][] = { {99, 88, {-77, 66, {55, 44 ; // 要 素 数 を 表 示 する System.out.println("myarray.length = " + myarray.length); System.out.println("myarray[0].length = " + myarray[0].length); // 要 素 を 表 示 する System.out.println(myarray[0][0]); System.out.println(myarray[0][1]); System.out.println(myarray[1][0]); System.out.println(myarray[1][1]); System.out.println(myarray[2][0]); System.out.println(myarray[2][1]); C: user java>java L0123 myarray.length = 3 myarray[0].length = C: user java>java L0124 myarray.length = 3 myarray[0].length =

27 練 習 25 class L0125 { // 可 変 の 二 次 元 配 列 // 可 変 の 配 列 を 宣 言 し, 領 域 を 割 り 当 て, 初 期 化 する int myarray[][] = { { 1, 2, { -3, 4, 5, -6, { 7 ; // 配 列 とその 要 素 の 要 素 数 を 表 示 する System.out.println("myarray.length = " + myarray.length); System.out.println("myarray[0].length = " + myarray[0].length); System.out.println("myarray[1].length = " + myarray[1].length); System.out.println("myarray[2].length = " + myarray[2].length); // 要 素 を 表 示 する System.out.println(myarray[0][0]); System.out.println(myarray[0][1]); System.out.println(myarray[1][0]); System.out.println(myarray[1][1]); System.out.println(myarray[1][2]); System.out.println(myarray[1][3]); System.out.println(myarray[2][0]); C: user java>java L0125 myarray.length = 3 myarray[0].length = 2 myarray[1].length = 4 myarray[2].length =

28 2.クラス&メソッド SUNが 提 供 している Javaの 部 品 群 (API)の 使 い 方 を 知 る 注 : static は クラスに 所 属 していて インスタンスには 所 属 していない! この 意 味 はすぐには 判 らないかも 知 れませんが 徐 々に 慣 れてくるでしょう 日 本 語 訳 が 以 下 にある /java.sun.com/j2se /1.4/ja/docs/ja/ap i/index.htm l Java TM 2 Platform, Standard Edition, API 仕 様 クラス:Mathの 例 28

29 クラス:Stringの 例 1.API の 見 方 2.コンストラクタ デストラクタ ファイナライザ 3.ガーベジコレクション main()メソッド 内 での メモリー リークの 防 止 策 4.NaN などの 特 殊 な 値 コンストラクタ メソッド 一 覧 ( 部 分 ) 1メソッドの 詳 細 29

30 練 習 1 class L0201 { //Math クラスの 静 的 メソッド 例 System.out.println("Max of -10 and -5 is " + Math.max(-10, -5)); System.out.println("Min of -11 and -6 is " + Math.min(-11, -6)); System.out.println("Absolute value of 20 is " + Math.abs(-20)); System.out.println("Absolute value of -25 is " + Math.abs(-25)); System.out.println("The ceiling of is " + Math.ceil(26.01)); System.out.println("The ceiling of 37.0 is " + Math.ceil(37.0)); System.out.println("The floor of is " + Math.floor(45.01)); System.out.println("The floor of 47.0 is " + Math.floor(47.0)); 練 習 2 class L0201 { //Math クラスの 静 的 変 数 System.out.println("Exp = " + Math.E); System.out.println("PI(π) = " + Math.PI); 練 習 3 class L0203 { // 円 の 公 式 を 使 った 計 算 例 double radius = 10; double area = Math.PI * radius * radius; double circumference = 2 * Math.PI * radius; System.out.println(" 半 径 = " + radius); System.out.println(" 面 積 =" + area); System.out.println(" 円 周 =" + circumference); C: user java>java L0201 Max of -10 and -5 is -5 Min of -11 and -6 is -11 Absolute value of 20 is 20 Absolute value of -25 is 25 The ceiling of is 27.0 The ceiling of 37.0 is 37.0 The floor of is 45.0 The floor of 47.0 is 47.0 C: user java>java L0202 Exp = PI(π) = C: user java>java L0203 半 径 = 10.0 面 積 = 円 周 = 課 題 : 縦 10m 横 20mの 長 方 形 の 面 積 と 周 囲 の 長 さを 計 算 するプログラム を 作 成 しなさい 30

31 練 習 4 class L0204 { //String クラスのインスタンス メソッド(substring) String s = "One Two Three Four Five Six Seven"; String substring = s.substring(4, 10); System.out.println(substring); 課 題 :このプログラムの s の 値 をそのまま 用 いて Ten と 表 示 するプログラムを つくりなさい 練 習 5 class L0205 { //String クラスのインスタンス メソッド(indexOf) String s1 = "The total cost is $45.67"; int i1 = s1.indexof('$'); String s2 = s1.substring(i1); System.out.println(s2); 課 題 :s1の 値 はそのままとし このプログラムを 改 造 して $ を 表 示 せず 値 の 後 ろに ドル と 表 示 するようにしてみましょう 練 習 6 class L0206 { //Integer クラスの 静 的 メソッド&インスタンス メソッド(valueOf) String s = "128"; Integer obj = Integer.valueOf(s); int i = obj.intvalue(); i += 11; System.out.println(i); 練 習 7 class L0207 { //Integer クラスの 静 的 メソッド&インスタンス メソッド(valueOf) //( 書 き 方 のバリエーション) String s = "12"; int i = Integer.valueOf(s).intValue(); i += 87; System.out.println(i); C: user java>java L0204 Two Th C: user java>java L0205 $45.67 C: user java>java L C: user java>java L

32 練 習 8 class L0208 { // Binary(2 進 ) Hex(16 進 ) Octal(8 進 ) int i = 11; System.out.println("Binary => " + Integer.toBinaryString(i)); System.out.println("Hex => " + Integer.toHexString(i)); System.out.println("Octal => " + Integer.toOctalString(i)); 課 題 : 値 255の2 進 数 8 進 数 16 進 数 を 求 めてみましょう 練 習 9 class L0209 { //Integer オブジェクトの 生 成 と2つのコンストラクタ Integer iobj1 = new Integer(5); Integer iobj2 = new Integer("6"); int i1 = iobj1.intvalue(); int i2 = iobj2.intvalue(); int sum = i1 + i2; System.out.println("i1 = " + i1); System.out.println("i2 = " + i2); System.out.println("sum = i1 + i2 = " + sum); 課 題 :iobj1の 値 を 5 ではなく a とするとどうなるか? iobj2 の 値 を "6" ではなく "a" とするとどうなるか? 0xa ではどうか? C: user java>java L0208 Binary => 1011 Hex => b Octal => 13 C: user java>java L0209 i1 = 5 i2 = 6 sum = i1 + i2 = 11 練 習 10 class L0210 { // 複 数 の 変 数 から 同 じオブジェクトを 参 照 Integer obj1 = new Integer(5); Integer obj2 = obj1; Integer obj3 = obj1; System.out.println(obj1); System.out.println(obj2); System.out.println(obj3); System.out.println("obj3.intValue * 3 = " + obj3.intvalue()*3); C: user java>java L obj3.intvalue * 3 = 15 32

33 練 習 11 class L0211 { // 同 じ 変 数 が 別 のオブジェクトの 参 照 に 乗 り 換 える Integer obj = new Integer(5); System.out.println(obj); obj = new Integer(6); System.out.println(obj); obj = new Integer(7); System.out.println(obj); C: user java>java L 練 習 12 class L0212 { // 資 源 (メモリ)のゴミ 集 め:Garbage Collection Integer i = new Integer(5); System.out.println(i); i = new Integer(6); System.out.println ("この 時 点 で Integer(5)として 生 成 したオブジェクトは 再 利 用 可 能 となる"); System.out.println(i); C: user java>java L この 時 点 で Integer(5)として 生 成 したオブジェクトは 再 利 用 可 能 となる 6 練 習 13 class L0213 { //Double // 変 数 を 宣 言 して 初 期 化 する double d1 = 0; double d2 = 0; double d11 = 11; // 除 算 double d3 = d1/d2; System.out.println("0/0=>"+d3); // 0 0 // 無 限 と NaN のテスト System.out.println(Double.isInfinite(d3)); System.out.println(Double.isNaN(d3)); // 最 大, 最 小, 無 限 の 各 値 を 表 示 する System.out.println(Double.MAX_VALUE); System.out.println(Double.MIN_VALUE); System.out.println(Double.POSITIVE_INFINITY); System.out.println(Double.NEGATIVE_INFINITY); double d4 = d11/d2; System.out.println("11/0=>"+d4); // 数 値 0 C: user java>java L0213 0/0=>NaN false true E E-324 Infinity -Infinity 11/0=>Infinity 33

34 練 習 14 class L0214 { //StringBuffer クラスのコンストラクタ //StringBuffer クラスのインスタンス メソッド(capacity, length) StringBuffer sb1 = new StringBuffer(); StringBuffer sb2 = new StringBuffer(30); StringBuffer sb3 = new StringBuffer("abcde"); System.out.println("sb1.capacity = " + sb1.capacity()); System.out.println("sb1.length = " + sb1.length()); System.out.println("sb2.capacity = " + sb2.capacity()); System.out.println("sb2.length = " + sb2.length()); System.out.println("sb3.capacity = " + sb3.capacity()); System.out.println("sb3.length = " + sb3.length()); 練 習 15 class L0215 { //StringBuffer クラスのコンストラクタ //StringBuffer クラスのインスタンス メソッド(toString, append,insert,reverse) StringBuffer sb = new StringBuffer("abcde"); System.out.println("sb.capacity = " + sb.capacity()); System.out.println("sb.length = " + sb.length()); System.out.println("sb.toString = " + sb.tostring()); sb.append("xyz"); System.out.println("sb.capacity = " + sb.capacity()); System.out.println("sb.length = " + sb.length()); System.out.println("sb.toString = " + sb.tostring()); sb.append(3); System.out.println("sb.capacity = " + sb.capacity()); System.out.println("sb.length = " + sb.length()); System.out.println("sb.toString = " + sb.tostring()); sb.insert(2,"123"); System.out.println("sb.capacity = " + sb.capacity()); System.out.println("sb.length = " + sb.length()); System.out.println("sb.toString = " + sb.tostring()); sb.reverse(); System.out.println("sb.capacity = " + sb.capacity()); System.out.println("sb.length = " + sb.length()); System.out.println("sb.toString = " + sb.tostring()); C: user java>java L0214 sb1.capacity = 16 sb1.length = 0 sb2.capacity = 30 sb2.length = 0 sb3.capacity = 21 sb3.length = 5 C: user java>java L0215 sb.capacity = 21 sb.length = 5 sb.tostring = abcde sb.capacity = 21 sb.length = 8 sb.tostring = abcdexyz sb.capacity = 21 sb.length = 9 sb.tostring = abcdexyz3 sb.capacity = 21 sb.length = 12 sb.tostring = ab123cdexyz3 sb.capacity = 21 sb.length = 12 sb.tostring = 3zyxedc321ba 34

35 練 習 16 class L0216 { //String オブジェクトの 配 列 String array[] = new String[5]; array[0] = "String 0"; array[1] = "String 1"; array[2] = "String 2"; array[4] = "String 4"; System.out.println(array.length); System.out.println(array[0]); System.out.println(array[1]); System.out.println(array[2]); System.out.println(array[3]); System.out.println(array[4]); C: user java>java L String 0 String 1 String 2 null String 4 練 習 17 class L0217 { //String オブジェクトの 配 列 String array[] = new String[5]; array[0] = "Short string"; array[1] = "A much longer string"; array[2] = "This is a complete sentence!"; array[3] = "Token"; array[4] = "This is the longest element in the " + "array"; int total = array[0].length(); total += array[1].length(); total += array[2].length(); total += array[3].length(); total += array[4].length(); System.out.println(" 文 字 列 の 長 さの 平 均 = " + total/5); C: user java>java L0217 文 字 列 の 長 さの 平 均 = 21 練 習 18 class L0218 { // 混 合 オブジェクトの 配 列 Object array[] = new Object[5]; array[0] = new Integer(4); array[1] = new String("Hello"); array[2] = new Boolean("true"); array[3] = new Character('a'); array[4] = new Double(45.67); System.out.println(array[0]); System.out.println(array[1]); System.out.println(array[2]); System.out.println(array[3]); System.out.println(array[4]); C: user java>java L Hello true a

36 練 習 19 class L0219 { //コマンドラインの 引 数 System.out.println("args.length = " + args.length); System.out.println("args[0] = " + args[0]); System.out.println("args[1] = " + args[1]); System.out.println("args[2] = " + args[2]); C: user java>java L0219 abc 納 豆 豆 腐 args.length = 3 args[0] = abc args[1] = 納 豆 args[2] = 豆 腐 練 習 20 class L0220 { //コマンドラインの 引 数 : 整 数 を 入 力 // 最 初 の 整 数 を 取 得 する int i = Integer.parseInt(args[0]); // 次 の 整 数 を 取 得 する int j = Integer.parseInt(args[1]); // 合 計 を 表 示 する int sum = i + j; System.out.println(" 合 計 :" + sum); C: user java>java L 合 計 :579 練 習 21 class L0221 { //コマンドラインの 引 数 :double // 1 番 目 の double 型 引 数 を 取 得 double d1 = Double.valueOf(args[0]).doubleValue(); // 2 番 目 の double 型 引 数 を 取 得 double d2 = Double.valueOf(args[1]).doubleValue(); // 積 を 表 示 する double product = d1 * d2; System.out.println("Product is " + product); C: user java>java L Product is 1.32 課 題 :コマンドラインから 半 径 を double 型 で 受 け 取 り 円 の 面 積 を 求 める プログラムを 作 成 しなさい 36

37 練 習 22 class L0222 { //System クラス: 配 列 一 部 分 コピー(arraycopy) int array1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ; int array2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; System.arraycopy(array1, 2, array2, 3, 5); System.out.print("array2: "); System.out.print(array2[0] + ""); System.out.print(array2[1] + " "); System.out.print(array2[2] + " "); System.out.print(array2[3] + " "); System.out.print(array2[4] + " "); System.out.print(array2[5] + " "); System.out.print(array2[6] + " "); System.out.print(array2[7] + " "); System.out.print(array2[8] + " "); System.out.println(array2[9]); C: user java>java L0222 array2: 練 習 23 class L0223 { // 時 (グリニッジ 標 準 時 )からの // 経 過 ミリ 秒 (currenttimemillis) int i=1; System.out.println("("+(i++)+")"+System.currentTimeMillis()); System.out.println("("+(i++)+")"+System.currentTimeMillis()); System.out.println("("+(i++)+")"+System.currentTimeMillis()); System.out.println("("+(i++)+")"+System.currentTimeMillis()); System.out.println("("+(i++)+")"+System.currentTimeMillis()); System.out.println("("+(i++)+")"+System.currentTimeMillis()); System.out.println("("+(i++)+")"+System.currentTimeMillis()); System.out.println("("+(i++)+")"+System.currentTimeMillis()); System.out.println("("+(i++)+")"+System.currentTimeMillis()); System.out.println("("+(i++)+")"+System.currentTimeMillis()); C: user java>java L0223 (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)

38 3. 制 御 文 & 加 減 算 関 係 論 理 演 算 子 if 文 for 文 加 算 :+ += 減 算 :- -= インクリメント:++ デクリメント:-- 大 小 比 較 :< > <= >= 等 しい:== 等 しくない:!= 論 理 積 :& && 論 理 和 : 排 他 論 理 和 :^ 否 定 :! 真 :true 偽 :fals e 38

39 練 習 1 class L0301 { // 平 方 根 を 求 める(sqrt) // 値 が 負 の 場 合 は 虚 数 :ifのみ double d = Double.valueOf(args[0]).doubleValue(); if(d < 0) System.out.println(Math.sqrt(-d) + "i"); if(d >= 0) System.out.println(Math.sqrt(d)); 練 習 2 class L0302 { // 平 方 根 を 求 める(sqrt) // 値 が 負 の 場 合 は 虚 数 :if+else double d = Double.valueOf(args[0]).doubleValue(); if(d < 0) System.out.println(Math.sqrt(-d) + "i"); else System.out.println(Math.sqrt(d)); 練 習 3 class L303 { // 分 母 が0で 割 り 算 をしない double d1 = Double.valueOf(args[0]).doubleValue(); double d2 = Double.valueOf(args[1]).doubleValue(); if(d2 == 0) System.out.println("ゼロでは 割 れません!"); else System.out.println("Answer is: " + d1/d2); 練 習 4 class L0304 { //if-else のコード ブロック if(args.length > 0) { double angle = Double.valueOf(args[0]).doubleValue(); double radians = angle * Math.PI/180; System.out.println("cosine: " + Math.cos(radians)); System.out.println("sine: " + Math.sin(radians)); System.out.println("tangent: " + Math.tan(radians)); else { System.out.println("コマンド ラインの 引 数 に" + " 角 度 を1 個 入 れてください"); 39 C: user java>java L C: user java>java L C: user java>java L C: user java>java L i C: user java>java L Answer is: 0.75 C: user java>java L ゼロでは 割 れません! C: user java>java L Answer is: 0.0 C: user java>java L0304 コマンド ラインの 引 数 に 角 度 を 1 個 入 れてください C: user java>java L cosine: E-17 sine: 1.0 tangent: E16 C: user java>java L cosine: sine: tangent:

40 練 習 5 public class L0305 { //for( 初 期 値, ループ 継 続 判 定, 増 分 演 算 ) for(int num = 1; num < 11; num = num + 1) System.out.print(num + " "); System.out.println("terminating"); C: user java>java L terminating 練 習 6 public class L0306 { // 先 程 のプログラムと 実 行 結 果 が 違 う! for(int num = 11; num < 11; num = num + 1) System.out.print(num + " "); System.out.println("terminating"); C: user java>java L0306 terminating 練 習 7 public class L0307 { //for のコード ブロック int sum = 0; int prod = 1; for(int num = 1; num < 6; num = num + 1) { sum = sum + num; prod = prod * num; System.out.println(" 積 =" + prod + ", 和 =" + sum); C: user java>java L0307 積 =120, 和 =15 練 習 8 public class L0308 { // 増 分 が1とは 限 らない for(int i = 0; i < 101; i = i + 5) System.out.print(i + " "); System.out.println(""); C: user java>java L

41 練 習 9 class L0309 { // 文 字 と 数 字 の 件 数 カウント int digits = 0; int letters = 0; int elsechars = 0; for(int i = 0; i < args[0].length(); i = i + 1) { char ch = args[0].charat(i); if(character.isdigit(ch)) digits += 1; else if(character.isletter(ch)) letters += 1; else elsechars+=1; & < > に 注 意 System.out.println(" 数 字 は " + digits + " 個 "); System.out.println( 文 字 は " + letters + " 個 "); System.out.println(" 他 の 文 字 は " + elsechars + " 個 "); 練 習 10 class L0310 { // 素 数 の 判 定 // コマンドライン 引 数 を 変 換 する int num = Integer.parseInt(args[0]); // 要 素 を 判 定 する boolean prime = true; for(int i = 2; i <= num/2; i = i + 1) if((num % i) == 0) prime = false; C: user java>java L0309 abc 今 日 は 123!#$%'()=+-/ 数 字 は 3 個 文 字 は 6 個 他 の 文 字 は 12 個 // 結 果 を 表 示 する if(prime == true) System.out.println("The number is prime."); else System.out.println("The number is not prime."); C: user java>java L The number is prime. C: user java>java L The number is not prime. 課 題 : 与 えられた 正 の 整 数 の 因 数 ( 整 数 を 割 り 切 ることが 出 来 る 値 )を 全 て 表 示 するプロ グラムを 作 成 しなさい たとえば12の 場 合 2,3,4,6を 表 示 する 課 題 : 与 えられた 整 数 が 奇 数 か 偶 数 か 判 定 するプログラムを 作 成 しなさい 41

42 練 習 11 class L0311 { //インクリメント 演 算 子 : 演 算 子 が 後 int i, j; i = 10; j = i++; /* iとjとの 値 はどうなる? */ System.out.println("i= " + i + ", j= " + j); C: user java>java L0311 i= 11, j= 10 練 習 12 class L0312 { //インクリメント 演 算 子 : 演 算 子 が 前 int i, j; i = 10; j = ++i; /* iとjとの 値 はどうなる? */ System.out.println("i= " + i + ", j= " + j); C: user java>java L0312 i= 11, j= 11 練 習 13 class L0313 { // 文 字 数 カウント プログラムの 改 訂 版 int digits = 0; int letters = 0; int elsechars = 0; for(int i = 0; i < args[0].length(); i++) { char ch = args[0].charat(i); if(character.isdigit(ch)) ++digits; else if(character.isletter(ch)) ++letters; else ++elsechars; System.out.println(" 数 字 は " + digits + " 個 です"); System.out.println(" 文 字 は " + letters + " 個 です"); System.out.println("その 他 の 文 字 は " + elsechars + " 個 です"); C: user java>java L0313 deジャヴァ 456/ 数 字 は 3 個 です 文 字 は 6 個 です その 他 の 文 字 は 1 個 です 42

43 練 習 14 class L0314 { //インクリメント&デクリメントの 実 験 int i; i = 0; System.out.println(" i=>"+i); // 0 を 表 示 System.out.println("++i=>"+(++i)); // 1 を 表 示 System.out.println("i++=>"+(i++)); // 1 を 表 示 System.out.println(" i=>"+i); // 2 を 表 示 System.out.println("--i=>"+(--i)); // 1 を 表 示 System.out.println("i--=>"+(i--)); // 1 を 表 示 System.out.println(" i=>"+i); // 0 を 表 示 C: user java>java L0314 i=>0 ++i=>1 i++=>1 i=>2 --i=>1 i--=>1 i=>0 練 習 15 class L0315 { //バックスラッシュ:エスケープシーケンス System.out.print("This is line one n"); System.out.print("This is line two n"); System.out.print("This is line three"); if (args[0].equals("back") && args[1].equals("back")) // && の 動 きの 確 認 System.out.print(" nabcde b b "); else if (args[0].equals("back") && args[1].equals("go")) System.out.print(" nabcde bx"); C: user java>java L0315 back back This is line one This is line two This is line three abc e C: user java>java L0315 back go This is line one This is line two This is line three abcdx C: user java>java L0315 go This is line one This is line two This is line three C: user java>java L0315 back This is line one This is line two n( 改 行 )と b(バックスペース) の 働 きを 確 認 && 論 理 演 算 子 の 優 先 順 位 による 判 定 順 序 の 動 作 確 認 This is line threeexception in thread "main" java.lang.arrayindexoutofboundsexce ption: 1 at L0315.main(L0315.java:6) 43

44 課 題 練 習 15 に 文 字 列 の 比 較 に equals() というメソッドを 利 用 している なぜ == を 使 わないのか? 2.String s1= abc ; String s2== a + bc ;として s1==s2 を 調 べると true となるはず この 理 由 は 何 か? 上 記 1.の 理 由 が 正 しく 答 えられると この 現 象 はオカシイ? 課 題 論 理 演 算 子 && と の 安 全 性 を 考 えなさい 練 習 16 class L0316 { // 関 係 演 算 子 の 実 験 int i = Integer.parseInt(args[0]); int j = Integer.parseInt(args[1]); System.out.println("i = " + i); System.out.println("j = " + j); System.out.println("Relational operators:"); System.out.println("i < j " + (i < j)); System.out.println("i <= j " + (i <= j)); System.out.println("i == j " + (i == j)); System.out.println("i > j " + (i > j)); System.out.println("i >= j " + (i >= j)); System.out.println("i!= j " + (i!= j)); 練 習 17 class L0317 { // 三 項 演 算 子 ( 条 件 )? 真 : 偽 int i = Integer.parseInt(args[0]); int j = Integer.parseInt(args[1]); System.out.println((i > j)? i : j); C: user java>java L C: user java>java L C: user java>java L C: user java>java L i = 11 j = 123 Relational operators: i < j true i <= j true i == j false i > j false i >= j false i!= j true C: user java>java L i = 11 j = 5 Relational operators: i < j false i <= j false i == j false i > j true i >= j true i!= j true C: user java>java L i = 11 j = 11 Relational operators: i < j false i <= j true i == j true i > j false i >= j true i!= j false 課 題 : 三 項 演 算 子 を 用 いて 与 えられた 整 数 が 奇 数 か 偶 数 かを 判 定 するプログラムを 作 成 しなさい 44

45 練 習 18 class L0318 { // 論 理 演 算 子 の 実 験 boolean i = Boolean.valueOf(args[0]).booleanValue(); boolean j = Boolean.valueOf(args[1]).booleanValue(); System.out.println("i = " + i); System.out.println("j = " + j); System.out.println("Logical operators:"); System.out.println("i & j " + (i & j)); System.out.println("i j " + (i j)); System.out.println("i ^ j " + (i ^ j)); System.out.println("!i " +!i); System.out.println("i && j " + (i && j)); System.out.println("i j " + (i j)); System.out.println("i == j " + (i == j)); System.out.println("i!= j " + (i!= j)); C: user java>java L0318 true true i = true j = true Logical operators: i & j true i j true i ^ j false!i false i && j true i j true i == j true i!= j false C: user java>java L0318 true false i = true j = false Logical operators: i & j false i j true i ^ j true!i false i && j false i j true i == j false i!= j true C: user java>java L0318 false false i = false j = false Logical operators: i & j false i j false i ^ j false!i true i && j false i j false i == j true i!= j false C: user java>java L0318 false true i = false j = true Logical operators: i & j false i j true i ^ j true!i true i && j false i j true i == j false i!= j true 45

46 4. 制 御 文 2&ビット 演 算 if 文 for 文 while 文 switc h 文 brea k 文 continu e 文 ビットの 論 理 積 :& ビットの 論 理 和 : ビットの 排 他 論 理 和 :^ ビットの 補 数 :~ n<<sの 値 は nのビット 位 置 を sビット 左 にシフトしたものとする n>>sの 値 は, nのビット 位 置 を 符 号 拡 張 を 伴 って sビット 右 にシフトしたものとする n>>> sの 値 は nのビット 位 置 をゼロ 拡 張 を 伴 って sビット 右 にシフトしたものとする 1. 手 続 き 型 言 語 の3 要 素 : 順 次 分 岐 繰 返 し 参 考 :HTML SQL LISP ML PROLOG など 2.ラベル 付 ブロックとケース 3.フローチャートと NS チャート 4.UML 46

47 練 習 1 class L0401 { //if-else による 場 合 分 け(case 文 的 利 用 ) int i = Integer.valueOf(args[0]).intValue(); if (i < 0) System.out.println(" 負 の 値 "); else if (i == 0) System.out.println("ゼロ"); else if (i == 1) System.out.println(" 1 "); else if (i == 2) System.out.println(" 2 "); else if (i == 3) System.out.println(" 3 "); else System.out.println("3より 大 きい 値 =>"+ i); C: user java>java L 負 の 値 C: user java>java L ゼロ C: user java>java L C: user java>java L C: user java>java L C: user java>java L より 大 きい 値 =>4 練 習 2 class L0402 { //ifのネスト( 入 れ 子 ) int i = Integer.parseInt(args[0]); if (i > 0) if (i > 3) System.out.println("i > 3"); else System.out.println("i > 0 and i <= 3"); else System.out.println("i <= 0"); C: user java>java L i <= 0 C: user java>java L i <= 0 C: user java>java L i > 0 and i <= 3 C: user java>java L i > 3 練 習 3 class L0403 { //for 初 期 値 を 別 から 与 える&decrement int i = Integer.parseInt(args[0]); for( ; i > 0; i--) System.out.print(i + " "); C: user java>java L System.out.println(""); 課 題 :argsが 無 い 場 合 に 例 外 処 理 が 発 生 する これを 回 避 するように 改 造 しなさい 47

48 練 習 4 class L0404 { //for 増 分 をブロック 内 部 で 処 理 int i; for(i = 0; i < 10; ) { System.out.print(i+" "); i++; System.out.print(" n"); C: user java>java L 練 習 5 class L0405 { //while int i = Integer.parseInt(args[0]); while (i > 0) { System.out.print(i + " "); i--; System.out.println(""); C: user java>java L C: user java>java L C: user java>java L C: user java> 練 習 6 class L0406 { // 母 音 (AEIOU)の 勘 定 int vowels = 0; int i = args[0].length() - 1; while (i >= 0) { char c = args[0].charat(i); if(c == 'A' c == 'a') ++vowels; else if(c == 'e' c == 'E') ++vowels; else if(c == 'i' c == 'I') ++vowels; else if(c == 'o' c == 'O') ++vowels; else if(c == 'u' c == 'U') ++vowels; --i; System.out.println(" 母 音 の 数 = " + vowels); C: user java>java L0406 Hello,ladies,and,gentlemen! 母 音 の 数 = 9 48

49 練 習 7 class L0407 { // 素 数 の 洗 い 出 し //(Lesson3 練 習 10 参 照 ) int count = 0; int number = 2; do { // 要 素 があるかどうかテストする boolean prime = true; for(int i = 2; i < number/2 + 1; i++) { if((number % i) == 0) prime = false; // 素 数 がある 場 合 は, 表 示 する if(prime == true) { System.out.print(number + " "); ++count; // 数 値 を 増 分 する ++number; while(count < 14); System.out.println(""); C: user java>java L 課 題 :count の 上 限 を 14 ではなく args から 入 力 させるように 改 造 しなさい args から 入 力 する 値 を 変 えて 実 行 し その 時 間 を 計 測 してみなさい 練 習 8 class L0408 { //for のネスト( 入 れ 子 ) int i, j, k; for (i = 0; i < 3; i++) for (j = 0; j < 26; j++) for (k = 0; k < 2; k++) System.out.print((char)('A' + j)); C: user java>java L0408 AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZAABBCCDDEEFFGGHHIIJJKKLLM MNNOOPPQQRRSSTTUUVVWWXXYYZZAABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXX YYZZ 課 題 : 出 力 を 以 下 のように A~Z 毎 に 改 行 するように このプログラムを 改 造 しなさい C: user java>java L0408 AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ 49

50 練 習 9 class L0409 { //break によるループ 脱 出 1 int i; for (i = 1; i < 50; i++) { System.out.println(i); if (i == 5) break; C: user java>java L 練 習 10 class L0410 { //break によるループ 脱 出 2 for (int i = 0; i < args.length; i++) { if (args[i].startswith("$")) { System.out.println(args[i]); break; C: user java>java L0410 a$ 1$ $3 $4 b$ $3 練 習 11 class L0411 { //break で 抜 けるブロックはどこ? int i,j=0; Break1: for (i = 0; i < 5; i++) { for (j = 0; j < 7; j++) { System.out.print(j+" "); if (i<2 & j == 2) break; if (i>=3 & j == 4) break Break1; System.out.println("i="+i+",j="+j); C: user java>java L i=3,j=4 練 習 12 class L0412 { //continue によるブロック 先 頭 への 戻 り for (int x = 0; x < 7; x++) { if (x < 3) continue; System.out.println(x); C: user java>java L

51 練 習 13 class L0413 { // 乱 数 利 用 による break&continue の 実 験 int i = 0; while (true) { C: user java>java L0413 double d = Math.random(); d= ,i=0 if (d <.2 d >.8) d= ,i=1 continue; d= ,i=2 System.out.println("d=" + d + ",i=" + i); d= ,i=3 if (++i == 10) d= ,i=4 break; d= ,i=5 d= ,i=6 d= ,i=7 d= ,i=8 d= ,i=9 課 題 : if (d <.2 d >.8) continue; の 二 行 をコメントにして 実 行 して 結 果 を 比 べなさい 練 習 14 class SwitchDemo { //case による 場 合 分 け int i = Integer.parseInt(args[0]); switch (i) { case 1: System.out.println(" 一 "); break; case 2: System.out.println(" 二 "); break; case 3: System.out.println(" 三 "); break; case 4: System.out.println(" 四 "); break; default: System.out.println(" 一 から 四 以 外 の 数 字 "); C: user java>java L 一 C: user java>java L 二 C: user java>java L 三 C: user java>java L 四 C: user java>java L 一 から 四 以 外 の 数 字 51

52 練 習 15 class L0415 { //break が 無 いと 動 作 はどうなるか? int i = Integer.parseInt(args[0]); switch (i) { case 4: System.out.println("3より 大 きい"); case 3: System.out.println("2より 大 きい"); case 2: System.out.println("1より 大 きい"); break; case 1: System.out.println("0より 大 きい"); break; default: System.out.println("その 他 "); 練 習 16 class L0416 { //case のOR 条 件 の 書 き 方 // 引 数 の 先 頭 の 文 字 を 取 得 する char ch = args[0].charat(0); // 先 頭 の 文 字 が 母 音 か 子 音 かを 判 断 する switch (ch) { case 'a': case 'e': case 'i': case 'o': case 'u': case 'y': System.out.println(" 小 文 字 の 母 音 用 文 字 です"); break; default: System.out.println("aeiou 以 外 の 文 字 です"); 練 習 17 class L0417 { //コンパイル エラーの 文 言 を 確 認 しなさい int i = 1; switch (i) { case i: System.out.println("1"); C: user java>java L より 大 きい C: user java>java L より 大 きい C: user java>java L より 大 きい 1より 大 きい C: user java>java L より 大 きい 2より 大 きい 1より 大 きい C: user java>java L その 他 C: user java>java L0416 a 小 文 字 の 母 音 用 文 字 です C: user java>java L0416 u 小 文 字 の 母 音 用 文 字 です C: user java>java L0416 E aeiou 以 外 の 文 字 です C: user java>java L0416 y 小 文 字 の 母 音 用 文 字 です C: user java>javac L0417.java L0417.java:5: 定 数 式 が 必 要 です case i: ^ エラー 1 個 52

53 練 習 18 class L0418 { //ビット 演 算 1 char c = 'A'; byte b = 100; short s = 101; int i = -100; long lo = 100; System.out.println("c & 0xf=>" + (c & 0xf)); //0xf<=>0x0f System.out.println("b 1=>" + (b 1)); System.out.println("s ^ 1=>" + (s ^ 1)); System.out.println("~i=>" + (~i)); System.out.println("lo 1=>" + (lo 1)); System.out.println("i >> 2=>" + (i >> 2)); System.out.println("i >>> 2=>" + (i >>> 2)); System.out.println("i << 2=>" + (i << 2)); System.out.println("s >> 2=>" + (s >> 2)); System.out.println("s >>> 2=>" + (s >>> 2)); System.out.println("s << 2=>" + (s << 2)); C: user java>java L0418 c & 0xf=>1 b 1=>101 s ^ 1=>100 ~i=>99 lo 1=>101 i >> 2=>-25 i >>> 2=> i << 2=>-400 s >> 2=>25 s >>> 2=>25 s << 2=>404 練 習 19 class L0419 { //ビット 演 算 2 byte b = -5; for (int i = 7; i >= 0; i--) { if ((b & 0x80) == 0) System.out.println("Bit " + i + " is 0"); else System.out.println("Bit " + i + " is 1"); b <<= 1; C: user java>java Bit 7 is 1 Bit 6 is 1 Bit 5 is 1 Bit 4 is 1 Bit 3 is 1 Bit 2 is 0 Bit 1 is 1 Bit 0 is 1 L

54 練 習 20 class L0420 { // 整 数 の16 進 表 示 System.out.println("s -->"+Int2Hex(0)); System.out.println("s -->"+Int2Hex(-1)); System.out.println("s -->"+Int2Hex(256+15)); System.out.println("s -->"+(256+15)); static String Int2Hex(int { i) StringBuffer sb= ; new StringBuffer() (i==0) if sb.append(" "); //ゼロの 場 合 16 進 全 桁 ゼロ 表 示 の 文 字 列 を 返 す else / 頭 ゼロを { / 空 白 にしない すべて 同 じ 桁 にあわせる if (i == 0xffffff ) sb.append( Integer.toHexString(i)) ; if((i else&0xf )!=0)sb.append( Integer.to ; if((i else 0xff000000) &!=0)sb.append("0" Integer.toHexString(i + ; if((i else 0xfff00000) &!=0)sb.append("00" Integer.toHexString(i + ; if((i else 0xffff0000) &!=0)sb.append("000" Integer.toHexString(i + ; if((i else 0xfffff000) &!=0)sb.append("0000" Integer.toHexString(i + ; if((i else 0xffffff00) &!=0)sb.ap pend("00000" Integer.toHexString(i + ; if((i else 0xfffffff0) &!=0)sb.append("000000" Integer.toHexString(i + ; else +Integer.toHexString(i sb.append("000 ; return sb.tostring() ; C: user java>java L0420 s s --> >ffffffff s s --> f -->271 練 習 21 class L0421 { //アルゴリズムの 工 夫 練 習 20 と 同 一 機 能 // 整 数 の16 進 表 示 System.out.println("s -->"+Int2Hex(0)); System.out.println("s -->"+Int2Hex(-1)); System.out.println("s -->"+Int2Hex(256+15)); System.out.println("s -->"+(256+15)); public static String Int2Hex(int i) { StringBuffer sb= new StringBuffer(); // 頭 ゼロを 空 白 にしない すべて 同 じ 桁 にあわせる sb.append(" ".substring(0,8-integer.tohexstring(i).length()) +Integer.toHexString(i)); return sb.tostring(); C: user java>java L0421 s --> s -->ffffffff s --> f s -->271 54

55 練 習 22 class L0422 { //ビット 演 算 3 int s = Integer.parseInt(args[0]); System.out.println("s -->"+L0421.Int2Hex(s)); // 注 意 : 練 習 L0421 を 利 用! System.out.println("s -->"+s); System.out.println("s & 0xf->"+(s & 0xf)); C: user java>java L System.out.println("s 1 ->"+(s 1)); s -->000000ff System.out.println("s ^ 1 ->"+(s ^ 1)); System.out.println("~s ->"+(~s)); System.out.println("s >> 2 ->"+(s >> 2)); System.out.println("s >>> 2->"+(s >>> 2)); System.out.println("s << 2 ->"+(s << 2)); s -->255 s & 0xf->15 s 1 ->255 s ^ 1 ->254 ~s ->-256 s >> 2 ->63 s >>> 2->63 s << 2 ->1020 C: user java>java L s --> s -->16 s & 0xf->0 s 1 ->17 s ^ 1 ->17 ~s ->-17 s >> 2 ->4 s >>> 2->4 s << 2 ->64 C: user java>java L s --> s -->1 s & 0xf->1 s 1 ->1 s ^ 1 ->0 ~s ->-2 s >> 2 ->0 s >>> 2->0 s << 2 ->4 C: user java>java L s -->075bcd15 s --> s & 0xf->5 s 1 -> s ^ 1 -> ~s -> s >> 2 -> s >>> 2-> s << 2 ->

56 5.クラスの 作 成 クラス 宣 言 クラス 宣 言 (class declaratio n) ClassDeclaration : ClassModifier class Identifie rsupe r opt Interface s opt ClassBod y s opt クラス 修 飾 子 クラス 宣 言 は,クラス 修 飾 子 (class ClassModifiers : ClassModifie r modifiers )を 含 んでよい ClassModifier sclassmodifi ClassModifier: f one o publi cabstract l fina メソッドのシグネチャ メソッドの シグネチャ(signature )は,メソッドの 名 前 並 びにメソッドに 対 する 形 式 仮 引 数 の 個 数 及 び 型 で 構 成 する クラスは, 同 じシグネチャをもつ 二 つのメソッドを 宣 言 して はならない そうでなければ,コンパイル 時 エラーが 発 生 する メソッド 修 飾 子 MethodModifiers : r MethodModifie MethodModifier smethodmodifie r MethodModifier: f one o public protected e privat abstract static final e synchronized nativ 56

57 練 習 1 class Point3D { //このクラスは 独 立 したクラスでしょうか? double x; double y; double z; Object の 子 供 です class L0501 { Point3D p = new Point3D(); //インスタンスを 生 成 p.x = 1.1; //クラスの 中 の 変 数 を 直 接 使 っている p.y = 3.4; p.z = -2.8; System.out.println("p.x = " + p.x); System.out.println("p.y = " + p.y); System.out.println("p.z = " + p.z); C: user java>java L0501 p.x = 1.1 p.y = 3.4 p.z = -2.8 練 習 2 class Point3D { double x; double y; double z; class L0502 { //1 個 のクラスから 複 数 の 異 なるインスタンスを 生 成 Point3D p1 = new Point3D(); Point3D p2 = new Point3D(); // p1 の 座 標 p1.x = 1.1; p1.y = 3.4; p1.z = -2.8; // p2 の 座 標 p2.x = 100.1; p2.y = 103.4; p2.z = ; System.out.println("p1.x = " + p1.x); System.out.println("p1.y = " + p1.y); System.out.println("p1.z = " + p1.z); System.out.println("p2.x = " + p2.x); System.out.println("p2.y = " + p2.y); System.out.println("p2.z = " + p2.z); C: user java>java L0502 p1.x = 1.1 p1.y = 3.4 p1.z = -2.8 p2.x = p2.y = p2.z =

58 練 習 3 class Point3D { double x; double y; double z; Point3D(double ax, double ay, double az) { // 戻 り 値 の 定 義 が 無 いことに 注 意! //コンストラクタ Constructor x = ax; y = ay; z = az; class L0503 { //コンストラクタの 働 きを 確 認 Point3D p = new Point3D(1.1, 2.2, -3.3); System.out.println("p.x = " + p.x); System.out.println("p.y = " + p.y); System.out.println("p.z = " + p.z); C: user java>java L0503 p.x = 1.1 p.y = 2.2 p.z =

59 練 習 4 class Point3D { double x; double y; double z; Point3D(double ax) { //コンストラクタのシグニチャの 理 解 x = ax; y = 10; z = 20; Point3D(double ax, double ay) { x = ax; y = ay; z = 30; Point3D(double ax, double ay, double az) { x = ax; y = ay; z = az; class L0504 { //コンストラクタのオーバーロード //シグニチャの 概 念 を 確 認 Point3D p1 = new Point3D(1.1); System.out.println("p1.x = " + p1.x); System.out.println("p1.y = " + p1.y); System.out.println("p1.z = " + p1.z); Point3D p2 = new Point3D(1.1, 2.2); System.out.println("p2.x = " + p2.x); System.out.println("p2.y = " + p2.y); System.out.println("p2.z = " + p2.z); Point3D p3 = new Point3D(1.1, 2.2, -3.3); System.out.println("p3.x = " + p3.x); System.out.println("p3.y = " + p3.y); System.out.println("p3.z = " + p3.z); C: user java>java L0504 p1.x = 1.1 p1.y = 10.0 p1.z = 20.0 p2.x = 1.1 p2.y = 2.2 p2.z = 30.0 p3.x = 1.1 p3.y = 2.2 p3.z =

60 練 習 5 class Hoge { double w; Hoge(String s) { //コンストラクタのシグニチャの 利 用 例 w = Double.valueOf(s).doubleValue(); Hoge(StringBuffer sb) { String s = sb.tostring(); w = Double.valueOf(s).doubleValue(); Hoge(double d) { w = d; class L0505 { Hoge w1 = new Hoge("5.5"); System.out.println(w1.w); StringBuffer sb = new StringBuffer("-17.8"); Hoge w2 = new Hoge(sb); System.out.println(w2.w); Hoge w3 = new Hoge(2.5e-17); System.out.println(w3.w); 課 題 : Hoge w1 = new Hoge("5.5"); この 行 を Hoge w1 = new Hoge("zz5.5aa"); と 変 更 すると どのようなことが 発 生 するか 確 かめてみましょう 練 習 6 class Point3D { // thisの 働 きの 確 認 double x; double y; double z; Point3D(double x, double y, double z) { this.x = x; this.y = y; this.z = z; class L0506 { //this <=> Current Object Point3D p = new Point3D(1.1, 2.2, -3.3); System.out.println("p.x = " + p.x); System.out.println("p.y = " + p.y); System.out.println("p.z = " + p.z); C: user java>java L E-17 C: user java>java L0506 p.x = 1.1 p.y = 2.2 p.z =

61 練 習 7 class Circle { //コンストラクタと this の 応 用 例 double x; double y; double radius; Circle(double x) { this(x, 10, 20); Circle(double x, double y) { this(x, y, 30); Circle(double x, double y, double radius) { this.x = x; this.y = y; this.radius = radius; class L0507 { Circle c = new Circle(3.3); System.out.println("c.x = " + c.x); System.out.println("c.y = " + c.y); System.out.println("c.radius = " + c.radius); c = new Circle(3.3, -4.4); System.out.println("c.x = " + c.x); System.out.println("c.y = " + c.y); System.out.println("c.radius = " + c.radius); c = new Circle(3.3, -4.4, 5.5); System.out.println("c.x = " + c.x); System.out.println("c.y = " + c.y); System.out.println("c.radius = " + c.radius); C: user java>java L0507 c.x = 3.3 c.y = 10.0 c.radius = 20.0 c.x = 3.3 c.y = -4.4 c.radius = 30.0 c.x = 3.3 c.y = -4.4 c.radius =

62 練 習 8 class Bag { // 値 が 入 っていない 変 数 は 初 期 化 される boolean flag; int i, j = 2, k = 3, l, m; double array[] = { -3.4, 8.8e100, -9.2e-100 ; String s1, s2 = new String("Hello"); class L0508 { Bag bag = new Bag(); System.out.println("bag.flag="+bag.flag); System.out.println("bag.i="+bag.i); System.out.println("bag.j="+bag.j); System.out.println("bag.k="+bag.k); System.out.println("bag.l="+bag.l); System.out.println("bag.m="+bag.m); for (int i = 0; i < bag.array.length; i++) System.out.println("bag.array["+i+"]="+bag.array[i]); System.out.println("bag.s1="+bag.s1); System.out.println("bag.s2="+bag.s2); C: user java>java L0508 bag.flag=false bag.i=0 bag.j=2 bag.k=3 bag.l=0 bag.m=0 bag.array[0]=-3.4 bag.array[1]=8.8e100 bag.array[2]=-9.2e-100 bag.s1=null bag.s2=hello 練 習 9 class Thing { static int count; String name; // 静 的 変 数 の 参 照 実 験 Thing(String name) { this.name = name; ++count; class L0509 { System.out.println("First Thing=" + Thing.count); Thing t1 = new Thing("Bowling Ball"); System.out.println(t1.name + " t1=" + t1.count); System.out.println(t1.name + " Thing=" + Thing.count); Thing t2 = new Thing("Ping Pong Ball"); System.out.println(t2.name + " t2=" + t2.count); System.out.println(t2.name + " Thing=" + Thing.count); Thing t3 = new Thing("Football"); System.out.println(t3.name + " t3=" + t3.count); System.out.println(t3.name + " Thing=" + Thing.count); C: user java>java L0509 First Thing=0 Bowling Ball t1=1 Bowling Ball Thing=1 Ping Pong Ball t2=2 Ping Pong Ball Thing=2 Football t3=3 Football Thing=3 62

63 練 習 10 class X { static int array[]; static { // 静 的 初 期 化 ブロックの 例 array = new int[6]; for (int i = 0; i < 6; i++) array[i] = i; class L0510 { for (int i = 0; i < 6; i++) System.out.println(X.array[i]); 練 習 11 class TaxCalc { static double solve(double a) { // 静 的 メソッドの 例 return a *= 1.05; class L0511 { System.out.println(" 代 金 は "+(int)taxcalc.solve(2000)+" 円 です"); 練 習 12 class MyObject { // 変 数 のスコープ & 隠 蔽 static short s = 400; // 静 的 変 数 C: user java>java L C: user java>java L0511 代 金 は 2100 円 です 課 題 : 浮 動 小 数 点 数 値 を 金 銭 の 勘 定 に 用 いてよいか? int i = 200; // インスタンス 変 数 void f() { System.out.println("s = " + s); System.out.println("i = " + i); short s = 30; // ローカル 変 数 int i = 10; // ローカル 変 数 double d = 1E100; // ローカル 変 数 System.out.println("MyObject.s = " + MyObject.s); System.out.println("s = " + s); // System.out.println("MyObject.i = " + MyObject.i); System.out.println("i = " + i +" nd = " + d); C: user java>java L0512 s = 400 i = 200 class L0512 { MyObject.s = 400 s = 30 MyObject myobject = new MyObject(); i = 10 myobject.f(); d = 1.0E100 課 題 :// System.out.println("MyObject.i = " + MyObject.i); 上 記 コメント 行 を 生 かすとどうなるか 確 認 しなさい 63

64 練 習 13 class ClassX { //ローカル 変 数 と 変 数 のスコープ1 int i = 1000; void f() { int i = 100; System.out.println(i); g(); void g() { System.out.println(i); class L0513 { ClassX classz = new ClassX(); classz.f(); C: user java>java L 練 習 14 class ClassY { //ローカル 変 数 と 変 数 のスコープ2 int i = 1000; void f() { System.out.println(i); for (int i = 0; i < 5; i++) { System.out.print(i + " "); System.out.println(); System.out.println(i); class L0514 { ClassY classzz = new ClassY(); classzz.f(); C: user java>java L

65 練 習 15 class Point3D { double x; double y; double z; Point3D(double x) { this(x, 0, 0); Point3D(double x, double y) { this(x, y, 0); Point3D(double x, double y, double z) { this.x = x; this.y = y; this.z = z; void move(double x) { //インスタンス メソッドのシグニチャの 確 認 this.x = x; void move(double x, double y) { this.x = x; this.y = y; void move(double x, double y, double z) { this.x = x; this.y = y; this.z = z; class L0515 { Point3D p = new Point3D(1.1, 2.2, -3.3); p.move(5); System.out.println("p.x = " + p.x); System.out.println("p.y = " + p.y); System.out.println("p.z = " + p.z); p.move(6, 7); System.out.println("p.x = " + p.x); System.out.println("p.y = " + p.y); System.out.println("p.z = " + p.z); p.move(8, -9, 10); System.out.println("p.x = " + p.x); System.out.println("p.y = " + p.y); System.out.println("p.z = " + p.z); C: user java>java L0515 p.x = 5.0 p.y = 2.2 p.z = -3.3 p.x = 6.0 p.y = 7.0 p.z = -3.3 p.x = 8.0 p.y = -9.0 p.z =

66 練 習 16 class L0516 { //call-by-value( 副 作 用 なし):int 変 数 //call-by-reference( 副 作 用 ): 配 列 とオブジェクト // 変 数 を 初 期 化 する int i = 5; int j[] = { 1, 2, 3, 4 ; StringBuffer sb = new StringBuffer("abcde"); // 変 数 を 表 示 する display(i, j, sb); // メソッドを 呼 び 出 す a(i, j, sb); // もう 一 度 変 数 を 表 示 する display(i, j, sb); static void a(int i, int j[], StringBuffer sb) { i = 7; j[0] = 11; sb.append("fghij"); static void display(int i, int j[], StringBuffer sb) { System.out.println(i); for (int index = 0; index < j.length; index++) System.out.print(j[index] + " "); System.out.println(""); System.out.println(sb); C: user java>java L abcde abcdefghij 66

67 練 習 17 class L0517 { //call-by-value( 副 作 用 なし): 配 列 // 変 数 を 初 期 化 する int x[] = { 11, 12, 13, 14, 15 ; // 変 数 を 表 示 する display(x); // メソッドを 呼 び 出 す change(x); // もう 一 度 変 数 を 表 示 する display(x); public static void change(int x[]) { int y[] = { 21, 22, 23, 24, 25 ; x = y; for (int i = 0; i < x.length; i++) System.out.print(x[i] + " "); System.out.println(""); public static void display(int x[]) { for (int i = 0; i < x.length; i++) System.out.print(x[i] + " "); System.out.println(""); C: user java>java L 練 習 18 class L0518 { //call-by-value( 副 作 用 なし)2 // 変 数 を 初 期 化 する StringBuffer sb = new StringBuffer("abcde"); // 変 数 を 表 示 する System.out.println(sb); // メソッドを 呼 び 出 す a(sb); // もう 一 度 変 数 を 表 示 する System.out.println(sb); C: user java>java L0518 abcde abcde public static void a(stringbuffer sb) { sb = new StringBuffer("wxyz"); 67

68 練 習 19 class L0519 { //call-by-value( 副 作 用 なし) //call-by-reference( 副 作 用 ) StringBuffer sba = new StringBuffer("aaaaa"); StringBuffer sbb = new StringBuffer("bbbbb"); System.out.println("sba = " + sba); System.out.println("sbb = " + sbb); f(sba, sbb); System.out.println("sba = " + sba); System.out.println("sbb = " + sbb); C: user java>java L0519 sba = aaaaa sbb = bbbbb sba = aaaaa sbb = bbbbbddddd public static void f(stringbuffer sb1, StringBuffer sb2) { sb1 = new StringBuffer("ccccc"); sb2.append("ddddd"); 練 習 20 class AnotherObject { int i; String s; double d; AnotherObject(int i, String s, double d) { this.i = i; this.s = s; this.d = d; void display() { System.out.println("i = " + i + "; s = " + s + "; d = " + d); class L0520 { AnotherObject ao1 = new AnotherObject(5, "Hello", 3.4E100); AnotherObject ao2 = ao1; ao1.display(); ao2.display(); ao1.i = 3; ao1.s = "New string"; ao1.d = 6.02E23; ao2.display(); C: user java>java L0520 i = 5; s = Hello; d = 3.4E100 i = 5; s = Hello; d = 3.4E100 i = 3; s = New string; d = 6.02E23 課 題 : 財 布 クラスを 作 成 しなさい 持 ち 主 残 高 入 出 金 などが 出 来 るように 考 える 68

69 参 考 外 部 入 力 部 品 の 例 import java.io.*; public class Typein { public static void displayprompt(string prom pt) { System.out.print(prompt + " "); System.out.flush(); public static void inerase() { int dummy; try { while((system.in.available())!= 0) dummy = System.in.read(); catch(java.io.ioexception e) { System.out.println(" 入 力 エラー"); public static String instring(string prompt) { inerase(); displayprompt(prompt); return instring4string(); public static String instring4string(){ String s=""; try { BufferedReader r = new BufferedReader(new InputStreamReader(System.in), 1); s = r.readline(); catch (java.io.ioexception e) { System.out.println(" 入 力 エラー"); return s; public static String instring() { int onechar; String str = ""; boolean finished = false; while(!finished) { try { onecha r = System.in.read(); if (onechar < 0 (c har)o nechar == ' n') finished = true; else if ((char)onechar!= ' r') str = str + (char) onechar; catch(java.io.ioexception e) { System.out.println(" 入 力 エラー"); finished = true; return str; public static int inint(string prompt) { while(true) { inerase(); displayprompt(prompt); try { return Integer.valueOf(inString().trim()).i ntvalue(); catch(numberformatexception e) { System.out.println(" 整 数 値 を 入 力 してください"); public static char inchar(string prompt) { int onechar = 0; inerase(); displayprompt(prompt); try { onechar = System.in.read(); catch(java.io.ioexception e) { System.out.println(" 入 力 エラー"); inerase(); return (char) onechar; public static double indouble(string prompt) { while(true) { inerase(); displayprompt(prom pt); try { return Double.valueOf(i nstring().trim()).do ublevalue(); catch(numberformatexception e) { System.out.println("( 浮 動 ) 小 数 点 数 値 を 入 力 してください"); public class Driver { public static void main(string[] args) { double x, area; int y,area2; char c; String s; x = Typein.inDouble(" 正 方 形 の 一 辺 > "); area = x*x; System.out.println(" 面 積 :" + area); y = Typein.inInt(" 正 方 形 の 一 辺 ( 整 数 )> "); area2 = y*y; System.out.println(" 面 積 :" + area2); c = Typein.inChar (" 一 文 字 > "); System.out.println(" 一 文 字 :" + c); s = Typein.inString(" 文 字 列 > "); System.out.println(" 文 字 列 :" + s); C: user java >java Driver 正 方 形 の 一 辺 > zzz ( 浮 動 ) 小 数 点 数 値 を 入 力 してください 正 方 形 の 一 辺 > 1.2 面 積 :1.44 正 方 形 の 一 辺 ( 整 数 )> a 整 数 値 を 入 力 してください 正 方 形 の 一 辺 ( 整 数 )> 13 面 積 :169 一 文 字 > abc 一 文 字 :a 文 字 列 > xyz 文 字 列 :xyz 69

70 6. 継 承 クラス java.lang.object がルートクラス 親 子 関 係 のクラス(スーパクラス サブクラス)の 例 class Point { int x, y; final class ColoredPoint extends Point { int colo class olored3dpoint C extends ColoredPoint r { int z; この 例 は, 次 の 関 係 をもつ クラス Poin tは,java.lang.objec tの 直 接 的 サブクラスとする クラス java.lang.objec tは,クラス Poin tの 直 接 的 スーパクラスとする クラス ColoredPoin tは,クラス Poin tの 直 接 的 サブクラスとする クラス Poin tは,クラス ColoredPoin tの 直 接 的 スーパクラスとする クラス Colored3dPoin tの 宣 言 は,fina lクラス ColoredPoin tを 拡 張 しようとしているの で,コンパイル 時 エラーが 発 生 する サブクラス(subclass )の 関 係 は, 直 接 的 サブクラス 関 係 の 推 移 的 閉 包 (transitive closure )とする 次 のいずれかが 真 ならば,クラス Aは,クラス Cのサブクラスとする Aが Cの 直 接 的 サブクラス Aが Bのサブクラス, 及 び Bが Cのサブクラスとなるクラス Bが 存 在 する た だし,この 定 義 は, 再 帰 的 に 適 用 される Aが Cのサブクラスであるときは 必 ず,クラス Cは,クラス Aの スーパクラス (superclass )であると 呼 ぶ 次 に 例 を 示 す class Point { int x, y; class ColoredPoint extends Point { int color; final class Colored3dPoint extends ColoredPoint { この 例 での 関 係 は, 次 のとおり クラス Poin tは,クラス ColoredPoin tのスーパクラスとする クラス Poin tは,クラス Colored3dPoin tのスーパクラスとする クラス ColoredPoin tは,クラス Poin tのサブクラスとする クラス ColoredPoin tは,クラス Colored3dPoin tのスーパクラスとする クラス Colored3dPoin tは,クラス ColoredPoin tのサブクラスとする クラス Colored3dPoin tは,クラス Poin tのサブクラスとする 70

71 クラスは,その 直 接 的 スーパクラスから,クラス 内 でコードにアクセス 可 能 であり,クラ ス 内 の 宣 言 によって 上 書 き 又 は 隠 ぺいされていないスーパクラスのすべてのメソッドを (abstrac tであってもなくても) 継 承 (inherits )する クラスがインスタンスメソッドを 宣 言 している 場 合,そのメソッド 宣 言 は,そのクラスの スーパクラス 内 で 同 じシグネチャをもつ 任 意 及 びすべてのメソッドを 上 書 き(override )す ると 呼 ぶ 上 書 きされなければ,そのスーパクラスのメソッドは,クラス 内 のコードから アクセス 可 能 とする また,クラスで 宣 言 されたメソッドが abstrac tでなければ,そのメ ソッドの 宣 言 は,クラスのスーパクラスで 同 じシグネチャをもつ 任 意 及 びすべての abstrac t 宣 言 のメソッドを 実 装 (implement )すると 呼 ぶ 実 装 されなければ,そのスー パクラスのメソッドは,クラス 内 のコードからアクセス 可 能 とする クラスの 二 つのメソッド( 両 方 とも 同 じクラスで 宣 言 されているか, 両 方 とも 一 つのクラス から 継 承 されているか, 又 は 一 方 は, 宣 言 され 他 方 は 継 承 されているか,にかかわらず)が 同 じ 名 前 をもつが 異 なるシグネチャをもてば,メソッド 名 は,オーバロード(overloaded ) されたと 呼 ぶ 71

72 練 習 1 class W { float f; // 子 孫 曾 孫 と 情 報 が 引 き 継 がれる class KO extends W { StringBuffer sb; class MAGO extends KO { String s; class HIMAGO extends MAGO { Integer i; class L0601 { HIMAGO hi = new HIMAGO(); hi.f = 4.567f; hi.sb = new StringBuffer("abcde"); hi.s = " 今 日 は 暑 い"; hi.i = new Integer(41); System.out.println("hi.f = " + hi.f); System.out.println("hi.sb = " + hi.sb); System.out.println("hi.s = " + hi.s); System.out.println("hi.i = " + hi.i); C: user java>java L0601 hi.f = hi.sb = abcde hi.s = 今 日 は 暑 い hi.i = 41 練 習 2 class E { int x; // 継 承 の 打 消 し 先 祖 の 変 数 を 隠 す class F extends E { String x; class L0602 { F f = new F(); f.x = "ここはどこ?"; System.out.println("f.x = " + f.x); E e = new E(); e.x = 45; System.out.println("e.x = " + e.x); C: user java>java L0602 f.x = ここはどこ? e.x = 45 72

73 練 習 3 class P { // 静 的 変 数 も 継 承 の 打 消 し 先 祖 の 変 数 を 隠 す static int x; class Q extends P { static String x; class L0603 { P p = new P(); p.x = 55; System.out.println("p.x = " + p.x); Q q = new Q(); q.x = " 私 は 誰?"; System.out.println("q.x = " + q.x); C: user java>java L0603 p.x = 55 q.x = 私 は 誰? 練 習 4 class M100 { // 隠 された 変 数 をキーワード super を 用 いて 参 照 int i = 100; class M200 extends M100 { int i = 200; void display() { System.out.println("i = " + i); System.out.println("super.i = " + super.i); class L0604 { M200 m200 = new M200(); m200.display(); C: user java>java L0604 i = 200 super.i =

74 練 習 5 class A1 { //オブジェクトの 型 は C1で かつ 割 り 当 てられたものも C1 void hello() { System.out.println(" 私 は A1"); class B1 extends A1 { void hello() { System.out.println(" 私 は B1"); class C1 extends B1 { void hello() { System.out.println(" 私 は C1"); class L0605 { C1 obj = new C1(); obj.hello(); C: user java>java L0605 私 は C1 練 習 6 class A2 { void hello() { //オブジェクトの 型 は A2でも 割 り 当 てられたものは C2 //メソッドのオーバーライド System.out.println(" 私 は A2"); class B2 extends A2 { void hello() { System.out.println(" 私 は B2"); class C2 extends B2 { void hello() { System.out.println(" 私 は C2"); class L0606 { A2 obj = new C2(); obj.hello(); C: user java>java L0606 私 は C2 74

75 練 習 7 class I1 { //キーワード super のハシゴ void hello(string s) { System.out.println("I1: " + s); class J1 extends I1 { void hello(string s) { super.hello(s); System.out.println("J1: " + s); class K1 extends J1 { void hello(string s) { super.hello(s); System.out.println("K1: " + s); class L0607 { System.out.println("I1のインスタンス 作 成 "); I1 obj = new I1(); obj.hello("オハヨウ"); System.out.println("J1のインスタンス 作 成 "); obj = new J1(); obj.hello("こんにちは"); System.out.println("K1のインスタンス 作 成 "); obj = new K1(); obj.hello(" 今 晩 は"); C: user java>java L0607 I1のインスタンス 作 成 I1: オハヨウ J1 のインスタンス 作 成 I1: こんにちは J1: こんにちは K1 のインスタンス 作 成 I1: 今 晩 は J1: 今 晩 は K1: 今 晩 は 75

76 練 習 8 class S1 { //スーパークラスとサブクラスのどちらのコンストラクタが 先 に 動 く? int s1; S1() { System.out.println("S1のコンストラクタ"); s1 = 1; class T1 extends S1 { int t1; T1() { System.out.println("T1のコンストラクタ"); t1 = 2; class U1 extends T1 { int u1; U1() { System.out.println("U1のコンストラクタ"); u1 = 3; class L0608 { U1 u1 = new U1(); System.out.println("u1.s1 = " + u1.s1); System.out.println("u1.t1 = " + u1.t1); System.out.println("u1.u1 = " + u1.u1); C: user java>java L0608 S1のコンストラクタ T1 のコンストラクタ U1 のコンストラクタ u1.s1 = 1 u1.t1 = 2 u1.u1 = 3 76

77 練 習 9 class S2 { //スーパークラスのコンストラクタを 明 示 的 に 呼 び 出 し int s2; S2(int s2) { System.out.println("S2のコンストラクタ"); this.s2 = s2; class T2 extends S2 { int t2; T2(int s2, int t2) { super(s2); System.out.println("T2のコンストラクタ(super(s2) 後 )"); this.t2 = t2; class U2 extends T2 { int u2; U2(int s2, int t2, int u2) { super(s2, t2); System.out.println("U2のコンストラクタ(super(s2,t2) 後 )"); this.u2 = u2; class L0609 { U2 u2 = new U2(1, 2, 3); System.out.println("u2.s2 = " + u2.s2); System.out.println("u2.t2 = " + u2.t2); System.out.println("u2.u2 = " + u2.u2); C: user java>java L0609 S2のコンストラクタ T2 のコンストラクタ(super(s2) 後 ) U2 のコンストラクタ(super(s2,t2) 後 ) u2.s2 = 1 u2.t2 = 2 u2.u2 = 3 77

78 練 習 10 abstract class 形 { // 抽 象 クラス インスタンスは 生 成 できない! abstract void 表 示 (); //メソッドに 何 も 記 述 が 無 い! 実 装 は サブクラスで 行 う // 通 常 複 数 のサブクラスがある // サブクラスで 実 装 するメソッドを 事 前 に 定 める class 円 extends 形 { void 表 示 () { System.out.println(" 円 形 "); class 四 角 extends 形 { void 表 示 () { System.out.println(" 四 角 形 "); class 三 角 extends 形 { void 表 示 () { System.out.println(" 三 角 形 "); // 課 題 :この 表 示 () メソッドをコメントにすると 何 が 起 こる? class L0610 { 形 形 のオブジェ = new 円 (); System.out.println("オブジェクト->"+ 形 のオブジェ); 形 のオブジェ. 表 示 (); 形 のオブジェ = new 四 角 (); System.out.println("オブジェクト->"+ 形 のオブジェ); 形 のオブジェ. 表 示 (); 形 のオブジェ = new 三 角 (); System.out.println("オブジェクト->"+ 形 のオブジェ); 形 のオブジェ. 表 示 (); C: user java>java L0610 オブジェクト-> 円 形 オブジェクト-> 四 四 角 形 オブジェクト-> 三 三 角 形 練 習 11 final class V1 { //キーワード final は サブクラスを 持 てない( 拡 張 できない) //つまり このプログラムをコンパイルすると class V2 extends V1 { class L0611 { V1 obj = new V1(); C: user java>javac L0611.java L0611.java:4: final V1 からは 継 承 できません class V2 extends V1 { ^ エラー 1 個 78

79 練 習 12 class L { // 定 数 を 定 義 するために キーワード final を 変 数 の 修 飾 に 使 う static final double tax = 0.05; static final String taxname=" 消 費 税 "; class L0612 { System.out.println(" 二 千 円 の 本 の" + L.taxName +"は "+ (int)(2000*l.tax) + " 円 で す"); 練 習 13 class Person { //コンストラクタの 修 飾 public,private String name; int age; public Person(String name, int age) { this.name = name; this.age = age; C: user java>java L0612 二 千 円 の 本 の 消 費 税 は 100 円 です private Person() { class L0613 { // public コンストラクタは 呼 び 出 せる Person p1 = new Person(" 太 郎 ", 30); System.out.println(p1.name); System.out.println(p1.age); // private コンストラクタは 呼 び 出 せない // Person p2 = new Person(); //この 行 を 生 かすと コンパイルは? C: user java>java L0613 太 郎 30 79

80 練 習 14 abstract class JetPlane { //ポリモーフィズム:サブクラス 毎 に 異 なるメソッドの 実 装 abstract int numengines(); class DC8 extends JetPlane { int numengines() { return 4; class DC10 extends JetPlane { int numengines() { return 3; class L0614 { JetPlane j1 = new DC8(); JetPlane j2 = new DC10(); System.out.println("DC10のエンジンは"+new DC10().numEngines()); System.out.println("DC8のエンジンは"+new DC8().numEngines()); System.out.println("j1のエンジンは"+j1.numEngines()); System.out.println("j2のエンジンは"+j2.numEngines()); System.out.println("j1のクラスは"+j1.getClass()); System.out.println("j2のクラスは"+j2.getClass()); C: user java>java L0614 DC10のエンジンは 3 DC8 のエンジンは 4 j1 のエンジンは 4 j2 のエンジンは 3 j1 のクラスは class DC8 j2 のクラスは class DC10 80

81 練 習 15 class Singleton { //singleton クラス( 生 成 できるクラスが 1 個 だけ)の 実 験 static Singleton singleton; private Singleton() { public static Singleton getinstance() { if(singleton == null) singleton = new Singleton(); return singleton; class NoSingleton { static NoSingleton nosingleton; private NoSingleton() { public static NoSingleton getinstance() { nosingleton = new NoSingleton(); return nosingleton; class L0615 { Singleton s1 = Singleton.getInstance(); Singleton s2 = Singleton.getInstance(); if (s1 == s2) System.out.println("Equal---Singleton,s1="+s1+,s2= +s2); else System.out.println("Not equal---singleton,s1="+s1+,s2= +s2); NoSingleton nos1 = NoSingleton.getInstance(); NoSingleton nos2 = NoSingleton.getInstance(); if (nos1 == nos2) System.out.println("Equal---NoSingleton,nos1="+nos1+",nos2="+nos2); else System.out.println("Not equal---nosingleton,nos1="+nos1+",nos2="+nos2); C: user java>java L0615 Equal---Singleton,s1=Singleton@194df86,s2=Singleton@194df86 Not equal---nosingleton,nos1=nosingleton@f5da06,nos2=nosingleton@bd

82 練 習 16 class L0616 {//オブジェクトやクラスでの tostring()メソッドのオーバーライド(1) Integer obj1 = new Integer(8); Class cls = obj1.getclass(); System.out.println(cls); String obj2 = new String("abc"); cls = obj2.getclass(); System.out.println(cls); C: user java>java L0616 class java.lang.integer class java.lang.string 練 習 17 class Hoge { //オブジェクトやクラスでの tostring()メソッドのオーバーライド(2) static int i = 7; int j; Hoge(int j) { this.j = j; public String tostring() { return "Hoge: i = " + i + "; j = " + j; class L0617 { Hoge hogehoge = new Hoge(23); System.out.println(hogehoge); 練 習 18 class L0618 { // 何 が 表 示 されるでしょううか?(3) Integer obj = new Integer("7"); Class cls = obj.getclass(); Class supercls = cls.getsuperclass(); System.out.println(cls.getName()); System.out.println(supercls.getName()); C: user java>java L0617 Hoge: i = 7; j = 23 C: user java>java L0618 java.lang.integer java.lang.number 82

83 練 習 19 応 用 例 abstract class Computer { String serial; String spstrings = " " ; /* 20 byte space */ String sp; String name; public Computer(String serial) { this.serial = serial; abstract double getweights(); abstract String getcpu(); public String tostring() { Class cls = getclass(); name = cls.getname(); sp = spstrings.substring(0,15-name.length()); //この sp を 使 わないと 実 行 結 果 1 return name + sp +": " + //このspを 使 うと 実 行 結 果 2( 見 やすいでしょ?) serial + "" + getweights()+ " " + getcpu(); class ThinkPadA30 extends Computer { final static double WEIGHTS = 3.4; final static String CPU = "モバイル インテル Celeron プロセッサ 1.20GHz"; public ThinkPadA30(String serial) { super(serial); public double getweights() { return WEIGHTS; public String getcpu() { return CPU; class ThinkPadX30 extends Computer { final static double WEIGHTS = 1.7; final static String CPU = "モバイル インテル Pentium III プロセッサ 1.20GHz-M"; public ThinkPadX30(String serial) { super(serial); public double getweights() { return WEIGHTS; public String getcpu() { return CPU; 83

84 class IBMNetVistaA30 extends Computer { final static double WEIGHTS = 7.4; final static String CPU = "インテル Pentium4 プロセッサ 1.80 GHz"; public IBMNetVistaA30(String serial) { super(serial); public double getweights() { return WEIGHTS; public String getcpu() { return CPU; class L0619 { static int NUM_max = 6; // 領 域 を 宣 言 して 割 り 当 てる Computer computers[] = new Computer[NUM_max]; // パソコンの 作 成 computers[0] = new ThinkPadA30("tp12345"); computers[1] = new IBMNetVistaA30("dt01234"); computers[2] = new ThinkPadX30("tp12346"); computers[3] = new ThinkPadX30("tp12347"); computers[4] = new ThinkPadA30("tp12348"); computers[5] = new IBMNetVistaA30("dt01235"); // パソコンの 表 示 for(int i = 0; i < NUM_max; i++) { Computer a = computers[i]; System.out.println(a); 実 行 結 果 1 C: user java>java L0619 ThinkPadA30null: tp モバイル インテル Celeronプロセッサ 1.20GHz IBMNetVistaA30null: dt インテル Pentium4プロセッサ 1.80 GHz ThinkPadX30null:tp モバイル インテル Pentium IIIプロセッサ 1.20GHz-M ThinkPadX30null: tp モバイル インテル Pentium IIIプロセッサ 1.20GHz-M ThinkPadA30null: tp モバイル インテル Celeronプロセッサ 1.20GHz IBMNetVistaA30null: dt インテル Pentium4プロセッサ 1.80 GHz 実 行 結 果 2 C: user java>javal0619 ThinkPadA30 : tp モバイル インテル Celeronプロセッサ 1.20GHz IBMNetVistaA30 : dt インテル Pentium4プロセッサ 1.80 GHz ThinkPadX30 : tp モバイル インテル Pentium IIIプロセッサ 1.20GHz-M ThinkPadX30 : tp モバイル インテル Pentium IIIプロセッサ 1.20GHz-M ThinkPadA30 : tp モバイル インテル Celeronプロセッサ 1.20GHz IBMNetVistaA30 : dt インテル Pentium4プロセッサ 1.80 GHz 84

85 7.インターフェースとパッケージ インタフェース 宣 言 は,メンバを 定 数 及 び 抽 象 メソッドとする 新 しい 参 照 型 を 導 入 する この 型 は 実 装 をもたないが, 関 係 ないクラスがその 抽 象 メソッドに 実 装 を 提 供 することで, そのインタフェースを 実 装 できる Java プログラムは,パッケージの 集 合 で 構 成 する 各 パッケージは, 型 に 対 する 名 前 の 独 自 の 集 合 をもつが,これが 名 前 の 衝 突 を 防 ぐのを 支 援 する 型 は,public と 宣 言 した 場 合 に 限 り,それを 宣 言 しているパッケージの 外 部 からアクセス 可 能 とする パッケージの 名 前 付 けの 構 造 は 階 層 的 とする 一 つのコンパイル 単 位 は, 次 の 三 つの 部 分 からなる それぞれは 省 略 可 能 とする packag e 宣 言 コンパイル 単 位 が 属 するパッケージの 完 全 限 定 名 を 与 える impor t 宣 言 他 のパッケージの 型 を 単 純 名 で 参 照 可 能 とする クラス 及 びインタフェース 型 の 型 宣 言 小 規 模 なプログラム 及 び 暫 定 的 な 開 発 では,パッケージに 名 前 を 付 けなかったり, 単 純 名 を 用 いることもできるが,Javaコードを 広 く 配 布 する 場 合 は, 一 意 なパッケージ 名 を 選 択 することが 望 ましい これによって, 二 つの 開 発 グループが 偶 然 同 じパッケージ 名 を 使 用 し,それらのパッケージを 後 に 一 つのプログラムで 使 用 する 場 合 に 発 生 する 名 前 の 衝 突 を 防 ぐことができる 85

86 練 習 1 import java.text.decimalformat; class L0701 { if (args.length!=2) { // 引 数 のエラーチェックの 例 System.out.println(" 身 長 (m) 体 重 (kg) の2つの 引 数 を 入 れてください"); return; double h = Double.valueOf(args[0]).doubleValue(); double w = Double.valueOf(args[1]).doubleValue(); DecimalFormat formpattern = new DecimalFormat(); // format パターンが 使 える formpattern.applypattern("#,###.00"); DecimalFormat formpatternh = new DecimalFormat(); // format パターン formpatternh.applypattern("###.0"); System.out.println(" 体 重 =" + formpattern.format(w)); System.out.println(" 身 長 =" + formpattern.format(h)); System.out.println(" 肥 満 度 =" + formpatternh.format(w/(h*h))); C: user java>java L 体 重 =85.00 身 長 =1.72 肥 満 度 =28.7 練 習 2 import java.text.decimalformat; interface taijyu { // メソッドの 宣 言 を 集 めたもの( 実 装 しない!) 親 double getstandardweight(); interface weight extends taijyu { //メソッドの 宣 言 を 集 めたもの( 実 装 しない!) 子 double gethimando(); interface sex { // 定 数 の 定 義 ができる String male = "m"; String female = "f"; class Volume { double height, weight; Volume(double height, double weight) { this.height = height; this.weight = weight; abstract class Person { abstract void display(); class Male extends Person implements weight { //メソッドの 実 装 を 行 う Volume v; Male(Volume v) { this.v = v; public void display() { System.out.println(" 男 性 "); public double getstandardweight() { return (v.height-80)*0.7; public double gethimando() { return v.weight*100/getstandardweight() - 100; 86

87 class Female extends Person implements weight { //メソッドの 実 装 を 行 う Volume v; Female(Volume v) { this.v = v; public void display() { System.out.println(" 女 性 "); public double getstandardweight() { return (v.height-70)*0.6; public double gethimando() { return v.weight*100/getstandardweight() - 100; class fugo { // マイナスの 場 合 に を 表 示 するために 利 用 public static String pm(double n) { if (n>=0) return ""; else return " "; class L0702 { if (args.length!=3 // 引 数 のエラーチェックの 例!args[0].equals(sex.male) &!args[0].equals(sex.female) ){ System.out.println(" 性 別 (m/f) 身 長 体 重 の3つの 引 数 を 入 れてください"); return; String s = args[0]; double h = Double.valueOf(args[1]).doubleValue(); double w = Double.valueOf(args[2]).doubleValue(); DecimalFormat formpattern = new DecimalFormat(); // format パターンが 使 える formpattern.applypattern("#,###.00"); if (s.equals(sex.male)) { Male pp = new Male(new Volume(h,w)); pp.display(); System.out.println(" 標 準 体 重 =" + formpattern.format(pp.getstandardweight())); System.out.println(" 肥 満 度 =" + fugo.pm(pp.gethimando()) //Math.abs は 絶 対 値 + formpattern.format(math.abs(pp.gethimando()))); else { Female pp = new Female(new Volume(h,w)); pp.display(); System.out.println(" 標 準 体 重 =" + formpattern.format(pp.getstandardweight())); System.out.println(" 肥 満 度 =" + fugo.pm(pp.gethimando()) //Math.abs は 絶 対 値 + formpattern.format(math.abs(pp.gethimando()))); if (s instanceof String) System.out.println("s はStringのインスタンスです"); C: user java>java L0702 f 女 性 標 準 体 重 = 肥 満 度 = s は String のインスタンスです C: user java>java L0702 m 男 性 標 準 体 重 = 肥 満 度 = s は String のインスタンスです 87

88 練 習 3 //Java の 練 習 用 用 フォルダの 子 供 として pフォルダを 作 成 // そのpフォルダの 中 に package pのプログラムを 格 納 すること! A.java package p; public class A { public int apublic = 11; // どこからでもアクセス 可 protected int aprotected = 22; // 同 一 パッケージ or 子 孫 からはアクセス 可 (protected) private int aprivate = 33; // 同 一 クラス 内 からのみアクセス 可 (private) public void a1() { System.out.println("a1"); B.java package p; public class B { public int bpublic = 44; // どこからでもアクセス 可 protected int bprotected = 55; // 同 一 パッケージ or 子 孫 からはアクセス 可 (protected) private int bprivate = 66; // 同 一 クラス 内 からのみアクセス 可 (private) public void b1() { System.out.println("b1"); C.java package p; class C { A a = new A(); a.a1(); B b = new B(); b.b1(); System.out.println("c1"); System.out.println(a.aPublic); System.out.println(a.aProtected); // System.out.println(a.aPrivate); // 同 一 クラス 以 外 不 可 System.out.println(b.bPublic); System.out.println(b.bProtected); // System.out.println(b.bPrivate); // 同 一 クラス 以 外 不 可 C: user java>javac p *.java C: user java>java p/c a1 b1 c C: user java>java p.c a1 b1 c // コンパイルは pの 親 フォルダで javac p *.java とコマンドを 入 れる // 実 行 は 同 じ 位 置 で java p/c とコマンドを 入 れる java p C は 駄 目! 88

89 練 習 4 // pフォルダの 兄 弟 としてqフォルダを 作 成 し そこに 以 下 のプログラムを 格 納 する PackageImport.java package q; import p.*; class L0704 extends A { A a = new A(); a.a1(); B b = new B(); b.b1(); System.out.println(a.aPublic); // public メンバにアクセスできる //System.out.println(a.aProtected); // スーパークラスの protected メンバにアクセスできない // System.out.println(a.aPrivate); // private メンバにはアクセスできない System.out.println(b.bPublic); // public メンバにアクセスできる // System.out.println(b.bProtected); // アクセスできない // System.out.println(b.bPrivate); // private メンバにはアクセスできない // コンパイル 実 行 は 上 記 のパッケージと 同 じ 要 領 (p と q とは 兄 弟 フォルダ) // qの 親 フォルダで javac q *.java とコマンドを 入 れる // 実 行 は 同 じ 位 置 で java q/ PackageImport とコマンドを 入 れる C: user java>javac q *.java C: user java>java q/l0704 a1 b C: user java>java q.l0704 a1 b

90 パッケージの 参 考 情 報 C: user java>javac saifutest.java C: user java>java saifutest お 金 不 足 今 太 郎 は 1200 円 持 っている (1) 太 郎 が 700 円 持 っている (2) 花 子 が 円 持 っている (3) 太 郎 が 700 円 持 っている C: user java>cd java-temp C: java-temp>dir ドライブ C のボリューム ラベルは ローカル ディスク です ボリューム シリアル 番 号 は B8A です C: java-temp のディレクトリ 2004/07/29 00:08 <DIR>. 2004/07/29 00:08 <DIR>.. 0 個 のファイル 0 バイト 2 個 のディレクトリ 55,713,644,544 バイトの 空 き 領 域 C: java-temp>java -cp user java saifutest お 金 不 足 今 太 郎 は 1200 円 持 っている (1) 太 郎 が 700 円 持 っている (2) 花 子 が 円 持 っている (3) 太 郎 が 700 円 持 っている C: java-temp>java saifutest Exception in thread "main" java.lang.noclassdeffounderror: saifutest C: java-temp>set classpath= user java C: java-temp>java saifutest お 金 不 足 今 太 郎 は 1200 円 持 っている (1) 太 郎 が 700 円 持 っている (2) 花 子 が 円 持 っている (3) 太 郎 が 700 円 持 っている C: java-temp> saifutestx.java プログラムの 最 初 に 以 下 に 示 す package 行 がある package my.saifu; しかも このファイルは c: user java my saifu saifutestx.java というフォルダ 構 造 になっている C: user java>javac my saifu saifutestx.java C: user java>java my.saifu.saifutestx お 金 不 足 今 太 郎 は 1200 円 持 っている (1) 太 郎 が 700 円 持 っている (2) 花 子 が 円 持 っている (3) 太 郎 が 700 円 持 っている 90

91 C: user java>type saifum.txt ManifestVersion: 1.0 Main-Class: saifutest C: user java>jar cf saifu.jar Saifu.class C: user java>jar uf saifu.jar saifutest.class C: user java>jar ufm saifu.jar saifum.txt C: user java>java -jar saifu.jar お 金 不 足 今 太 郎 は 1200 円 持 っている (1) 太 郎 が 700 円 持 っている (2) 花 子 が 円 持 っている (3) 太 郎 が 700 円 持 っている C: user java>jar cf saifux.jar my saifu SaifuX.class C: user java>jar uf saifux.jar my saifu saifutestx.class C: user java>set classpath=my saifu saifux.jar C: user java>move saifux.jar my saifu C: user java>java my.saifu.saifutestx お 金 不 足 今 太 郎 は 1200 円 持 っている (1) 太 郎 が 700 円 持 っている (2) 花 子 が 円 持 っている (3) 太 郎 が 700 円 持 っている C: user java>jar cf saifuxp.jar my saifu SaifuX.class C: user java>jar uf saifuxp.jar my saifu saifutestx.class C: user java>jar ufm saifuxp.jar my saifu saifum.txt C: user java>type my saifu saifum.txt ManifestVersion: 1.0 Main-Class: my.saifu.saifutestx C: user java>java -jar saifuxp.jar お 金 不 足 今 太 郎 は 1200 円 持 っている (1) 太 郎 が 700 円 持 っている (2) 花 子 が 円 持 っている (3) 太 郎 が 700 円 持 っている C: user java my saifu>jar cf saifuxx.jar SaifuX.class C: user java my saifu>jar uf saifuxx.jar saifutestx.class C: user java my saifu>jar ufm saifuxx.jar saifum.txt C: user java my saifu>java -jar saifuxx.jar Exception in thread "main" java.lang.noclassdeffounderror: my/saifu/saifutestx C: user java my saifu>java -jar.... saifuxp.jar お 金 不 足 今 太 郎 は 1200 円 持 っている (1) 太 郎 が 700 円 持 っている (2) 花 子 が 円 持 っている (3) 太 郎 が 700 円 持 っている 91

92 =================================================================== //saifutestx.java のソース package my.saifu; class SaifuX { private String name; private int amount; SaifuX(String name, int amount) { this.name=name; this.amount=amount; void in(int amount) { this.amount += amount; boolean out(int amount) { if (this.amount>=amount) { this.amount -= amount; return true; else return false; String getname() { return this.name; int getamount() { return this.amount; class saifutestx { public static void main(string[] args) { SaifuX s1 = new SaifuX(" 太 郎 ",1000); SaifuX s2 = new SaifuX(" 花 子 ",2000); s1.in(200); if (s1.out(2000)==false) System.out.println("お 金 不 足 今 "+s1.getname()+"は "+s1.getamount()+" 円 持 っている"); s1.out(500); s2.out(1500); s2.in(20000); System.out.println("(1)"+s1.getName()+"が"+s1.getAmount()+" 円 持 っている"); System.out.println("(2)"+s2.getName()+"が"+s2.getAmount()+" 円 持 っている"); s2=s1; //こうすると 何 が 起 こるか? 注 目! System.out.println("(3)"+s2.getName()+"が"+s2.getAmount()+" 円 持 っている"); 92

93 8. 例 外 Javaプログラムが,Java 言 語 の 意 味 制 約 に 違 反 するとき,Java 仮 想 計 算 機 は,このエラ ーを 例 外 (exception )としてプログラムに 知 らせる それらの 違 反 の 例 として, 配 列 境 界 の 外 でのインデクス 付 けがある あるプログラミング 言 語 及 びその 処 理 系 には,プログラム を 強 制 的 に 終 了 することによって,それらのエラーに 対 応 するものがある 他 のプログラ ム 言 語 では, 処 理 系 が 任 意 又 は 予 測 不 能 な 方 法 で 対 応 することを 許 しているものもある これらの 方 法 のいずれも,Javaの 設 計 目 標, 移 植 性 及 び 頑 健 性 とは 適 合 しない 代 わりに, Javaは, 意 味 制 約 に 違 反 したとき, 例 外 を 投 げ, 例 外 が 発 生 した 点 からプログラマが 指 定 可 能 な 点 への 非 局 所 的 な 制 御 の 移 動 を 引 き 起 こすことを 規 定 している 例 外 は,それが 発 生 した 点 から 投 げられる(thrown )と 言 い, 制 御 が 移 動 する 点 で 捕 捉 される(caught )と 言 う Javaプログラムは,thro w 文 を 使 用 して, 明 示 的 に 例 外 を 投 げることもできる これは, 普 通 なら 負 の 値 を 期 待 しないところで 整 数 値 -1のような 予 期 しない 値 を 返 し,エラー 条 件 を 処 理 する 古 風 な 方 式 の 代 替 手 段 を 提 供 する 経 験 的 に,その 予 期 しない 値 は, 呼 び 出 し 元 で 無 視 されるか 又 は 検 査 されないことが 多 いことが 知 られており, 頑 健 的 でない 若 しく は 望 ましくない 振 舞 い 又 はその 両 方 をプログラムにもたらす すべての 例 外 は,クラス Throwabl eのインスタンス 又 はそのサブクラスの 一 つによって 表 現 される それらのオブジェクトは, 例 外 が 発 生 する 点 からそれを 捕 捉 するハンドラへと 情 報 を 運 ぶために 使 用 される ハンドラは,try 文 の catc h 節 によって 構 築 される 例 外 を 投 げる 過 程 において,Java 仮 想 計 算 機 は, 現 在 のスレッド 内 で 開 始 はしたが 完 了 してい ない, 任 意 の 式, 文,メソッド 及 びコンストラクタ 呼 出 し, 静 的 初 期 化 子 並 びにフィール ド 初 期 化 式 を, 一 つずつ 中 途 完 了 する この 処 理 は,その 例 外 のクラス 又 はその 例 外 のク ラスのスーパクラスの 名 前 を 指 定 することによってその 特 定 の 例 外 を 扱 うことを 示 すハン ドラを 見 つけるまで 続 けられる 例 外 の 原 因 例 外 は, 次 の 三 つの 理 由 (reasons )の 内 の 一 つによって 投 げられる 異 常 な 実 行 状 態 が,Java 仮 想 計 算 機 によって 同 期 的 に 検 出 された その 条 件 は, 次 の 理 由 で 発 生 する o 式 の 評 価 が,Java 言 語 の 正 常 な 意 味 規 則 に 違 反 した 例 えば,ゼロによ る 除 算 など o Javaプログラムのロード 又 はリンクの 部 分 で,エラーが 発 生 した o 資 源 の 限 界 を 超 過 した 例 えば,あまりにも 多 くのメモリを 使 用 したなど 93

94 Javaコードが,thro w 文 を 実 行 した 非 同 期 な 例 外 が, 次 のいずれかの 理 由 で 発 生 した o o クラス Threa dのメソッド stopを 呼 び 出 した 仮 想 計 算 機 内 で 内 部 エラーが 発 生 した 例 外 は,クラス Throwabl eのインスタンス 及 びそのサブクラスのインスタンスによって 表 現 される これらのクラスをまとめて, 例 外 クラス(exception es)とする class パッケージ java.lan gの 標 準 実 行 時 例 外 定 義 ArithmeticExceptio n: 除 数 ゼロでの 整 数 除 算 演 算 などの 例 外 的 な 計 算 状 況 が 発 生 した ArrayStoreExceptio n: 配 列 の 要 素 の 型 と 代 入 互 換 でないクラスの 値 を 配 列 要 素 に 格 納 しようとした ClassCastExceptio n:オブジェクトへの 参 照 を 不 適 切 な 型 へキャストしようとした IllegalArgumentExceptio n:メソッドに, 不 当 若 しくは 不 適 切 な 引 数 が 渡 された, 又 はメソッドが 不 適 切 なオブジェクトで 呼 び 出 された このクラスは 次 のサブクラ スを 含 む o o IllegalThreadStateExceptio n: 要 求 された 操 作 に 対 してスレッドが 適 切 な 状 態 になかった NumberFormatExceptio n:strin gを 数 値 型 の 値 へ 変 換 しようとしたが,そ の Strin gが 適 切 な 形 式 をもっていなかった IllegalMonitorStateExceptio n:スレッドが,ロックされていないオブジェクトを 待 機 している 他 のスレッドを, 待 機, 又 は 通 知 しようとした IndexOutOfBoundsExce ption:( 配 列, 文 字 列 若 しくはベクトルを 参 照 する)ある 種 のインデクス, 又 は 二 つのインデクス 値 若 しくは 一 つのインデクス 及 び 一 つの 長 さ のいずれかで 規 定 される 範 囲 が, 領 域 を 越 えた NegativeArraySizeExceptio n: 負 の 長 さで 配 列 を 生 成 しようとした NullPointerExceptio n:オブジェクト 参 照 を 要 求 されるところで, 空 参 照 をしよう とした SecurityExceptio n:セキュリティ 違 反 を 検 出 した パッケージ java.uti lの 付 加 的 な 標 準 非 検 査 実 行 時 例 外 定 義 java.util.emptystackexceptio n: 空 スタックの 要 素 にアクセスしようとした java.util.nosuchelementexceptio n: 空 ベクトルの 要 素 にアクセスしようとした 94

95 練 習 1 class L0801 { // 何 が 起 こるか 行 番 号 の 表 示 のされかたを 確 認 すること a(); static void a() { b(); static void b() { c(); static void c() { d(); static void d() { int i = 1; int j = 0; System.out.println(i/j); C: user java>java L0801 Exception in thread "main" java.lang.arithmeticexception: / by zero at L0801.d(L0801.java:9) at L0801.c(L0801.java:5) at L0801.b(L0801.java:4) at L0801.a(L0801.java:3) at L0801.main(L0801.java:2) 練 習 2 class L0802 { try { // 例 外 発 生 の 監 視 対 象 ブロック System.out.println("Before Division"); int i = Integer.parseInt(args[0]); int j = Integer.parseInt(args[1]); System.out.println(i/j); System.out.println("After Division"); catch (ArithmeticException e) {// catch ブロック: 例 外 発 生 の 種 類 毎 の 対 応 System.out.println("ArithmeticException"); catch (ArrayIndexOutOfBoundsException e) { System.out.println("ArrayIndex" + "OutOfBoundsException"); catch (NumberFormatException e) { System.out.println("NumberFormatException"); finally { // 省 略 可 try が 正 常 に 処 理 された 場 合 try に return があっても 必 ず 実 行 System.out.println("Finally block"); 確 認 して 欲 しい 内 容 以 下 の 実 行 時 に 何 が 表 示 されるか? 1.java L java L C: user java>java L java L a Before Division 4.java L java L0802 aa After Division 6.java L0802 Finally block 95

96 練 習 3 class L0803 { try { Object obj = new Integer("85"); System.out.println("Before cast"); Integer inobj = (Integer)obj; System.out.println("After cast by Integer"); Double dbobj = (Double)obj; System.out.println("After cast by Double"); catch (Exception e) { System.out.println(e); finally { // これは 動 くか? 言 語 仕 様 5.5p.72 参 照 System.out.println(" 例 外 処 理 後 これが 動 く"); 練 習 4 // 例 外 発 生 個 所 に catch が 無 いと 上 にサカノボッテ マッチする 例 外 条 件 を 探 す class L0804 { try { System.out.println("Before a"); a(); System.out.println("After a"); catch (Exception e) { // これは 動 くか? System.out.println("main: " + e); finally { // これは 動 くか? System.out.println("main: finally"); public static void a() { try { System.out.println("Before b"); b(); System.out.println("After b"); catch (ArithmeticException e) { // これは 動 くか? System.out.println("a: " + e); finally { // これは 動 くか? System.out.println("a: finally"); C: user java>java L0803 Before cast After cast by Integer java.lang.classcastexception 例 外 処 理 後 これが 動 く 96

97 public static void b() { try { System.out.println("Before c"); c(); System.out.println("After c"); catch (ArrayIndexOutOfBoundsException e) { // これは 動 くか? System.out.println("b: " + e); finally { // これは 動 くか? System.out.println("b: finally"); public static void c() { try { System.out.println("Before d"); d(); System.out.println("After d"); catch (NumberFormatException e) { // これは 動 くか? System.out.println("c: " + e); finally { // これは 動 くか? System.out.println("c: finally"); public static void d() { try { int array[] = new int[4]; array[10] = 10; // ここで 例 外 が 発 生 catch (ClassCastException e) { //これは 動 くか? System.out.println("d: " + e); finally { // これは 動 くか? System.out.println("d: finally"); C: user java>java L0804 Before a Before b Before c Before d d: finally c: finally b: java.lang.arrayindexoutofboundsexception: 10 b: finally After b a: finally After a main: finally 97

98 練 習 5 class L0805 { // 二 重 に 例 外 処 理 が 重 なった 場 合 の 動 きを 確 認 try { System.out.println("Before a"); a(); System.out.println("After a"); catch (Exception e) { System.out.println("main: " + e); finally { System.out.println("main: finally"); public static void a() { try { System.out.println("Before b"); b(); System.out.println("After b"); catch (ArithmeticException e) { System.out.println("a: " + e); finally { System.out.println("a: finally"); public static void b() { try { System.out.println("Before c"); c(); System.out.println("After c"); catch (ArrayIndexOutOfBoundsException e) { System.out.println("b: " + e); finally { System.out.println("b: finally"); 98

99 public static void c() { try { System.out.println("Before d"); d(); System.out.println("After d"); catch (NumberFormatException e) { System.out.println("c: " + e); finally { System.out.println("c: finally"); public static void d() { try { Object obj = new Float("85.56"); System.out.println("Before cast"); Double dobj = (Double)obj; System.out.println("After cast"); catch (ClassCastException e) { System.out.println("d: " + e); int i = 1; int j = 0; System.out.println("Before division"); int k = i/j; System.out.println("After division"); System.out.println(k); finally { System.out.println("d: finally"); C: user java>java L0805 Before a Before b Before c Before d Before cast d: java.lang.classcastexception Before division d: finally c: finally b: finally a: java.lang.arithmeticexception: / by zero a: finally After a main: finally 練 習 6 class L0806 { //コンパイル 時 に 引 っかかるハズ 何 故 か?どうすれば 良 いか? try { System.out.println("Try Block"); catch (Exception e) { System.out.println("Exception"); catch (ArithmeticException e) { System.out.println("ArithmeticException"); C: user java>javac L0806.java L0806.java:9: 例 外 java.lang.arithmeticexception はすでにキャッチされています catch (ArithmeticException e) { ^ エラー 1 個 99

100 練 習 7 class L0807 { // throw で 自 分 から 例 外 を 発 生 させることができる try { System.out.println("Before a"); a(); System.out.println("After a"); catch (ArithmeticException e) { System.out.println("main: " + e); finally { System.out.println("main: finally"); public static void a() { try { System.out.println("Before b"); b(); System.out.println("After b"); catch (ArithmeticException e) { System.out.println("a: " + e); finally { System.out.println("a: finally"); public static void b() { try { System.out.println("Before c"); c(); System.out.println("After c"); catch (ArithmeticException e) { System.out.println("b: " + e); finally { System.out.println("b: finally"); 100

101 public static void c() { try { System.out.println("Before d"); d(); System.out.println("After d"); catch (ArithmeticException e) { System.out.println("c: " + e); throw e; finally { System.out.println("c: finally"); public static void d() { try { int i = 1; int j = 0; System.out.println("Before division"); System.out.println(i/j); System.out.println("After division"); catch (ArithmeticException e) { System.out.println("d: " + e); throw e; finally { System.out.println("d: finally"); C: user java>java L0807 Before a Before b Before c Before d Before division d: java.lang.arithmeticexception: / by zero d: finally c: java.lang.arithmeticexception: / by zero c: finally b: java.lang.arithmeticexception: / by zero b: finally After b a: finally After a main: finally 101

102 練 習 8 class L0808 { // 自 分 で 例 外 を 発 生 させる finally が 動 くか 確 認 すること try { System.out.println("Before a"); a(); System.out.println("After a"); catch (Exception e) { System.out.println("main: " + e); e.printstacktrace(); // printstacktrace()メソッド finally { System.out.println("main: finally"); コメントにすると? public static void a() { try { System.out.println("Before throw statement"); throw new ArithmeticException(); catch (Exception e) { System.out.println("a: " + e); e.printstacktrace(); // printstacktrace()メソッド finally { System.out.println("a: finally"); コメントにすると? C: user java>java L0808 Before a Before throw statement a: java.lang.arithmeticexception java.lang.arithmeticexception at L0808.a(L0808.java:18) at L0808.main(L0808.java:5) a: finally After a main: finally 102

103 練 習 9 class L0809 { a(); public static void a() { try { b(); catch (ClassNotFoundException e) { e.printstacktrace(); // public static void b() { //このthrows(s 付 き)をコメントにするとどうなるか? public static void b() throws ClassNotFoundException { c(); // public static void c() { //このthrows(s 付 き)をコメントにするとどうなるか? public static void c() throws ClassNotFoundException { Class cls = Class.forName("java.lang.Integer"); //これが 例 外 発 生 になる 可 能 性 あり System.out.println(cls.getName()); System.out.println(cls.isInterface()); C: user java>java L0809 java.lang.integer false 103

104 練 習 10 import java.util.*; class L0810 { // 自 分 で 独 自 の 例 外 を 作 成 することが 出 来 る! a(); static void a() { try { b(); catch (Exception e) { e.printstacktrace(); // static void b() { // こちらにかえるとコンパイルエラーが 発 生! static void b() throws ExceptionA { try { c(); catch (ExceptionB e) { e.printstacktrace(); static void c() throws ExceptionA, ExceptionB { Random random = new Random(); int i = random.nextint(); // 乱 数 発 生 if(i % 2 == 0) { throw new ExceptionA(" 余 りがゼロ i=" + i); else { throw new ExceptionB(" 余 りが 有 る i=" + i); class ExceptionA extends Exception { public ExceptionA(String message) { super(message); class ExceptionB extends Exception { public ExceptionB(String message) { super(message); C: user java>java L0810 ExceptionB: 余 りが 有 る i= at L0810.c(L0810.java:30) at L0810.b(L0810.java:17) at L0810.a(L0810.java:8) at L0810.main(L0810.java:4) 104

105 9.マルチスレッドプログラミング これまでの 記 述 の 大 半 は, 文 又 は 式 を, 一 度 に 一 つ,つまり 一 つの スレッド(thread )で 実 行 する Javaコードの 振 舞 いだけに 関 係 していたが,Java 仮 想 計 算 機 は, 一 度 に 多 数 の スレッドを 実 行 することができる これらのスレッドは, 共 有 主 メモリに 存 在 する Java の 値 及 びオブジェクトを 操 作 する Javaコードを 独 立 して 実 行 する 複 数 のスレッドは, 複 数 のハードウェアプロセッサを 搭 載 したり, 一 つのハードウェアプロセッサを 時 分 割 した り, 又 は 複 数 のハードウェアプロセッサを 時 分 割 することによって, 実 現 してもよい Javaは,スレッドの 並 行 活 動 を 同 期 化 する(synchronizing ) 機 構 を 提 供 することによっ て, 並 行 的 だが 決 定 論 的 な 振 舞 いを 示 すプログラムを 支 援 する スレッドを 同 期 化 するた めに,Javaでは,モニタ(monitor )を 使 用 する モニタは,モニタが 保 護 するコード 領 域 を 一 度 にただ 一 つのスレッドだけが 実 行 可 能 にするための 高 度 な 機 構 とする モニタの 振 舞 いは,ロック(lock )によって 表 現 する 各 オブジェクトには, 一 つのロックが 存 在 する synchronize d 文 は,マルチスレッド 操 作 にだけ 関 係 する 次 の 二 つの 特 別 な 動 作 を 実 行 する オブジェクトへの 参 照 の 計 算 後 及 びその 本 体 の 実 行 前 に,そのオブジェクトに 関 連 する ロック 設 定 をする オブジェクト 本 体 の 実 行 が 正 常 完 了 又 は 中 途 完 了 した 後,そのロックの ロック 解 除 (unlock )をする 便 宜 上,メソッドを synchronize d 宣 言 してよい このようなメソッドは,その 本 体 が synchronize d 文 に 含 まれているかのように 動 作 する クラス Objec tのメソッド wait, notif y, 及 び notifyal lは, 一 つのスレッドから 他 の スレッドへの 効 率 的 な 制 御 の 転 送 を 提 供 する スレッドは, 計 算 に 手 間 のかかる, 単 なる スピン ( 内 部 状 態 の 変 化 の 有 無 を 知 るために,オブジェクトのロック 設 定 とロック 解 除 を 繰 り 返 すこと)ではなく,むしろ 他 のスレッドが notif yを 使 って 目 覚 めさせるとき まで waitでそれ 自 体 を 一 時 停 止 させることができる これは,スレッドが( 共 通 の 資 源 を 共 有 するとき 競 合 しないようにする) 相 互 排 他 関 係 よりもむしろ,( 共 通 の 目 標 につい て 積 極 的 に 協 力 する) 生 産 者 - 消 費 者 関 係 をもつ 状 況 に, 特 に 適 している スレッドは,コードを 実 行 する 際 に 一 連 の 動 作 を 実 行 する スレッドは, 変 数 の 値 を 使 用 (use )したり, 又 は 変 数 に 新 しい 値 を 代 入 (assign )してよい (その 他 の 動 作 として, 算 術 演 算, 条 件 検 査, 及 びメソッド 呼 出 しを 含 むが,これらは, 直 接 には 変 数 に 関 係 しな い ) 複 数 の 並 行 スレッドが, 一 つの 共 有 変 数 に 関 して 動 作 すれば,その 変 数 への 動 作 が タイミング 依 存 な 結 果 となることがある このタイミング 依 存 性 は, 並 行 プログラミング 105

106 固 有 のもので,Javaにおいて,この 規 格 だけではプログラムの 実 行 結 果 が 決 定 できない 数 少 ない 部 分 の 一 つとなる 各 スレッドは, 作 業 メモリをもち,その 中 に,すべてのスレッドが 共 有 する 主 メモリ 上 の 変 数 値 の 複 製 を 保 持 してもよい 共 有 変 数 にアクセスするためには,スレッドは, 通 常 ま ずロックを 取 得 し,その 作 業 メモリをフラッシュする これは, 共 有 値 が 共 有 主 メモリか らスレッドの 作 業 メモリにロードされることを 保 証 する スレッドがロックを 解 除 すると き, 作 業 メモリに 保 持 された 値 が 主 メモリに 書 き 込 まれることを 保 証 する ここでは, 特 定 の 低 水 準 の 動 作 に 関 する,スレッドの 主 メモリとの 相 互 作 用, 及 びスレッ ド 同 志 の 相 互 作 用 について 規 定 する これらの 動 作 が 発 生 してもよい 順 序 についての 規 則 が 存 在 する これらの 規 則 は,Javaの 任 意 の 実 装 への 制 約 を 与 え,Javaプログラマは, 規 則 に 依 存 することで 並 行 Jav aプログラムの 可 能 な 動 作 を 予 測 できる しかしながら, 規 則 では, 意 図 的 に 開 発 者 へ 自 由 裁 量 を 与 えている その 意 図 は, 並 行 コードの 実 行 速 度 及 び 効 率 の 大 幅 向 上 を 可 能 とする 標 準 的 なハードウェア 及 びソフトウェア 技 術 を 受 け 入 れる ためである 規 則 の 要 点 を 次 に 示 す 同 期 化 の 構 文 を 正 しく 使 用 することが, 一 つのスレッドから 他 のスレッドへの, 共 有 変 数 を 介 する 値 の 転 送 又 は 値 の 設 定 を 信 頼 できるものにする スレッドが 変 数 の 値 を 使 用 する 場 合,それが 取 得 する 値 は, 実 際 にそのスレッド 又 は 他 のスレッドによって 変 数 に 記 憶 した 値 とする そのプログラムが, 適 正 な 同 期 化 コードを 含 まないとしてもこれは 成 り 立 つ 例 えば, 二 つのスレッドが 異 なるオ ブジェクトへの 参 照 を 同 じ 変 数 に 記 憶 した 場 合, 結 果 として,その 変 数 は,いずれ かのオブジェクトへの 参 照 を 含 み, 他 のオブジェクトの 参 照 又 は 壊 れた 参 照 値 を 含 むことはない (long 値 及 び doubl e 値 には, 特 別 な 例 外 が 存 在 する を 参 照 す ること ) 明 示 的 な 同 期 化 処 理 がない 場 合,Java 処 理 系 は, 予 期 しない 順 序 で 主 メモリを 更 新 してもよい したがって, 予 想 に 反 する 動 作 を 回 避 したいプログラマは, 明 示 的 な 同 期 化 を 使 用 しなければならない 106

107 練 習 1 class ThreadX extends Thread { // 終 了 は CTL+c スレッドの 実 験 public void run() { try { int a=0; while(true) { a = a ; Thread.sleep(a); System.out.println("Threadの 実 験 sleep=" + a); catch(interruptedexception ex) { ex.printstacktrace(); class L0901 { ThreadX tx = new ThreadX(); tx.start(); C: user java>java L0901 Threadの 実 験 sleep=1000 Thread の 実 験 sleep=2000 Thread の 実 験 sleep=3000 練 習 2 class RunnableY implements Runnable { public void run() { try { int a=0; while(true) { a = a ; Thread.sleep(a); System.out.println("Runnable の 実 装 sleep=" + a); catch(interruptedexception ex) { ex.printstacktrace(); class L0902{ RunnableY ry = new RunnableY(); Thread t = new Thread(ry); t.start(); C: user java>java L0902 Runnable の 実 装 sleep=1000 Runnable の 実 装 sleep=2000 Runnable の 実 装 sleep=

108 練 習 3 class ThreadM extends Thread { // 二 つのスレッドの 出 方 を 観 察 すること public void run() { try { for (int i = 0; i < 20; i++) { Thread.sleep(1000); System.out.println("ThreadM"); catch (InterruptedException ex) { ex.printstacktrace(); class ThreadN extends Thread { public void run() { try { for (int i = 0; i < 10; i++) { Thread.sleep(3000); System.out.println("ThreadN"); catch(interruptedexception ex) { ex.printstacktrace(); class L0903 { ThreadM tm = new ThreadM(); tm.start(); ThreadN tn = new ThreadN(); tn.start(); try { tm.join(); tn.join(); System.out.println("Both threads have finished"); catch (Exception e) { e.printstacktrace(); C: user java>java L0903 ThreadM ThreadM ThreadM ThreadN ThreadM ThreadM ThreadM ThreadN ThreadM ThreadM ThreadM ThreadN ThreadM ThreadM ThreadM ThreadN ThreadM ThreadM ThreadM ThreadN ThreadM ThreadM ThreadM ThreadN ThreadM ThreadM ThreadN ThreadN ThreadN ThreadN Both threads have finished 108

109 練 習 4 class Account { private int balance = 0; private int am = 0; synchronized void deposit(int amount, int i) // 同 期 synchronizedを 削 除 してみる throws InterruptedException{ am = amount; // 排 他 制 御 の 確 認 のための 細 工 Thread.sleep((11-i)*10); balance = balance + am; am = 0; // 排 他 制 御 の 確 認 のための 細 工 int getbalance() { return balance; class Customer extends Thread { Account account; public int id; Customer(Account account, int id) { this.account = account; this.id = id; public void run() { try { int a=0; System.out.print("<"+id); for (int i = 0; i < 100; i++) { a = a + 1; // スレッドの 非 同 期 化 の 細 工 Thread.sleep(a); // スレッドの 非 同 期 化 の 細 工 account.deposit(10,id); System.out.print(">"+id); catch(exception e) { e.printstacktrace(); class L0904 { private final static int NUMCUSTOMERS = 10; Account account = new Account(); // 勘 定 の 開 始 Customer customers[] = new Customer[NUMCUSTOMERS]; // スレッドの 作 成 for (int i = 0; i < NUMCUSTOMERS; i++) { customers[i] = new Customer(account,i); customers[i].start(); for (int i = 0; i < NUMCUSTOMERS; i++) { try { customers[i].join(); catch(interruptedexception e) { e.printstacktrace(); System.out.print(" n"); System.out.println(" 口 座 の 残 高 は10000 か?:" + account.getbalance()); C: user java>java L0904 <0<1<2<3<4<5<6<7<8<9>0>1>2>3>4>5>6>7>8>9 口 座 の 残 高 は10000 か?:

110 練 習 5 class A { B b; synchronized void a1() { System.out.println("Starting a1"); b.b2(); synchronized void a2() { System.out.println("Starting a2"); class B { A a; synchronized void b1() { System.out.println("Starting b1"); a.a2(); synchronized void b2() { System.out.println("Starting b2"); class Thread1 extends Thread { A a; Thread1(A a) { this.a = a; public void run() { for (int i = 0; i < ; i++) { a.a1(); class Thread2 extends Thread { B b; Thread2(B b) { this.b = b; public void run() { for (int i = 0; i < ; i++) { b.b1(); class L0905 { A a = new A(); B b = new B(); a.b = b; b.a = a; Thread1 t1 = new Thread1(a); // スレッドの 作 成 Thread2 t2 = new Thread2(b); // スレッドの 作 成 t1.start(); t2.start(); try { // スレッドの 完 了 を 待 つ t1.join(); t2.join(); catch(exception e) { e.printstacktrace(); System.out.println("Done!"); C: user java>java L0905 Starting a1 Starting b2 Starting a1 Starting b2 Starting a1 Starting b2 Starting a1 Starting b1 C: user java>java L0905 Starting a1 Starting b2 Starting a1 Starting b2 Starting a1 Starting b2 Starting a1 Starting b2 Starting b1 Starting a2 Starting b1 Starting a2 Starting b1 Starting a2 Starting b1 Starting a2 Starting b1 Starting a2 Starting b1 Starting a2 Starting b1 Starting a2 Starting b1 Starting a2 Starting b1 Starting a2 Starting b1 Starting a2 Starting b1 Starting a2 Starting b1 Starting a2 Starting b1 Starting a1 110

111 付 録 練 習 6 class Producer extends Thread { Queue queue; Producer(Queue queue) { this.queue = queue; public void run() { int i = 0; try { while(true) { System.out.println(" sleep---"); Thread.sleep(1000); queue.add(i++); catch (InterruptedException e) { e.printstacktrace(); class Consumer extends Thread { String str; Queue queue; Consumer(String str, Queue queue) { this.str = str; this.queue = queue; public void run() { while(true) { System.out.println(str + ": " + queue.remove()); class Queue { private final static int SIZE = 10; int array[] = new int[size]; int r = 0; int w = 0; int count = 0; synchronized void add(int i) { // 待 ち 行 列 がいっぱいの 場 合 は 待 機 する while(count == SIZE) { try { wait(); System.out.println("------zzz add---"); catch(interruptedexception ie) { ie.printstacktrace(); 111

112 System.exit(0); // 配 列 にデータを 追 加 して 書 き 込 みポインタを 更 新 する array[w++] = i; if(w >= SIZE) w = 0; // count カウントを 1 つ 増 やす ++count; // 待 機 中 のスレッドに 通 知 する notifyall(); synchronized int remove() { // 待 ち 行 列 が 空 の 場 合 は 待 機 する while(count == 0) { try { wait(); System.out.println(""); catch(interruptedexception ie) { ie.printstacktrace(); System.exit(0); // 配 列 からデータを 読 み 取 って 読 み 取 りポインタを 更 新 する int element = array[r++]; if(r >= SIZE) r = 0; // count を 1 つ 減 らす --count; // 待 機 中 のスレッドに 通 知 する notifyall(); System.out.println("count=" + count + ", r=" + r); // データを 返 す return element; class L0906 { Queue queue = new Queue(); new Producer(queue).start(); new Consumer("ConsumerA", queue).start(); new Consumer("ConsumerB", queue).start(); new Consumer("ConsumerC", queue).start(); 112

113 C: user java>java L sleep--- count=0, r=1 ConsumerA: sleep--- count=0, r=2 ConsumerB: sleep--- count=0, r=3 ConsumerC: sleep sleep--- count=0, r=4 ConsumerA: 3 count=0, r=5 ConsumerA: sleep--- count=0, r=6 ConsumerB: sleep--- count=0, r= sleep--- ConsumerC: sleep--- count=0, r=8 ConsumerA: sleep--- count=0, r=9 ConsumerA: sleep--- count=0, r=0 ConsumerB: sleep--- count=0, r=1 ConsumerC: sleep--- count=0, r=2 ConsumerA: sleep--- count=0, r=3 ConsumerB: 12 C: user java>java L sleep sleep--- count=0, r=1 ConsumerA: sleep--- count=0, r=2 ConsumerA: sleep--- count=0, r=3 ConsumerB: sleep--- count=0, r=4 ConsumerB: sleep--- count=0, r=5 ConsumerC: 4 count=0, r= sleep--- ConsumerA: sleep--- count=0, r=7 ConsumerB: sleep--- count=0, r=8 ConsumerC: sleep--- count=0, r=9 ConsumerA: sleep--- count=0, r=0 ConsumerB: 9 count=0, r= sleep--- ConsumerC: sleep--- count=0, r=2 ConsumerA: sleep--- count=0, r=3 ConsumerB:

114 補 足 1:GUI プログラミング 1. 実 行 結 果 2.コンパイルと 実 行 操 作 課 題 2 章 の 練 習 5(L0205)の 下 に 書 かれている 課 題 を この 画 面 にも 表 示 するよ うにしましょう 3.Gui01.java のプログラム ソースコード import java.awt.*; import javax.swing.*; public class Gui01 { public static void main(string[] args) { JFrame frame; frame = new JFrame(" 初 めての GUI"); frame.setdefaultcloseoperation(jframe.exit_on_close); Container container = frame.getcontentpane(); container.setlayout(new FlowLayout()); container.add(new JLabel(" 今 日 は!!!GUI 動 いた?")); frame.setsize(200,100); frame.setvisible(true); 114

115 ボタン と 背 景 色 と ラベルのテキスト 内 容 変 更 1. 実 行 結 果 2.コンパイルと 実 行 操 作 ラベルのテキ スト 書 き 換 え の 前 準 備 二 個 のボタ ンの 識 別 ラベルの テキスト 入 れ 替 え 背 景 色 の 識 別 3.Button01.java のプログラム ソースコード import java.awt.*; import java.awt.event.*; import javax.swing.*; class BtnColor extends JFrame implements ActionListener { Container container; JLabel label; JButton bt,bt2; public BtnColor(String name, int x, int y, int w, int h, JButton b, JButton b2) { bt = b; bt2 = b2; label = new JLabel("ボタンの 実 験 開 始 "); settitle (name); setlocation (x, y); setsize (w,h); container = getcontentpane(); container.setbackground(color.yellow); container.setlayout(new FlowLayout()); container.add(b); container.add(label); container.add(b2); setdefaultcloseoperation(jframe.exit_on_close); public void actionperformed (ActionEvent ae) { String msg = JOptionPane.showInputDialog(" 色 を 入 力 "," 青 "); String msg2=""; if (ae.getsource() == bt) msg2 = " ボタン1 押 下 "; if (ae.getsource() == bt2) msg2 = " ボタン2 押 下 "; if (msg==null) { container.setbackground(color.white); label.settext(" 背 景 に 白 をセット"+msg2); else if (msg.equals(" 青 ")) { container.setbackground(color.blue); label.settext(" 背 景 に 青 をセット"+msg2); else { container.setbackground(color.yellow); label.settext(" 背 景 に 黄 をセット"+msg2); if (container.getbackground()==color.white) System.out.println(" 背 景 が 白 "); setvisible(true); 注 :container.xxx は getcontentpane().xxx と 書 ける public class Button01 { public static void main(string[] args) { JButton btn = new JButton(" 色 を 変 えよう"); JButton btn2 = new JButton("ボタン2 個 目 "); BtnColor bcolor = new BtnColor(" 画 面 の 実 験 ",300,100,200,400,btn,btn2); btn.addactionlistener(bcolor); btn2.addactionlistener(bcolor); bcolor.setvisible(true); 課 題 背 景 色 の 初 期 値 は 白 とする ボタン 押 下 時 に 以 下 のよう に 背 景 を 変 更 する 1. 白 なら 黄 色 に 変 える 2. 黄 色 なら 青 に 変 える 3. 青 なら 赤 に 変 える 4. 赤 なら 黄 色 に 変 える 115

SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 文 言 変 更 p.12(1. 基 本 事 項 ) (5)SXF 入 出 力 バージョン Ver.2 形 式 と Ver.3.0 形 式 および Ver.3.1 形 式 の 入 出 力 機 能 を

SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 文 言 変 更 p.12(1. 基 本 事 項 ) (5)SXF 入 出 力 バージョン Ver.2 形 式 と Ver.3.0 形 式 および Ver.3.1 形 式 の 入 出 力 機 能 を SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 改 訂 の 要 因 旧 新 (2013 年 4 月 版 ) 文 言 削 除 p.11(1. 基 本 事 項 ) (2) 保 証 すべき 実 数 の 精 度 p.5(1. 基 本 事 項 ) (2) 保 証 すべき 実 数 の 精 度 1. 用 紙 系 ( 線 種 ピッチ 等 用 紙 上 の 大 きさで

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 3 章 関 数 この 章 では 日 付 と 時 刻 を 扱 う 関 数 や 検 索 条 件 に 一 致 するデータを 取 り 出 す 関 数 の 使 い 方 また 複 数 の 関 数 を 組 み 合 わせてエラー 値 を 非 表 示 にする 方 法 を 学 習 します STEP 1: 日 付 / 時 刻 関 数 TODAY 関 数 NOW 関 数 TODAY 関 数 は パソコンの 内 蔵 時

More information

計算式の取り扱い

計算式の取り扱い 4.データ 入 力 と 表 計 算 4-1 計 算 式 の 取 り 扱 い 1) 数 式 の 基 本 Excelのような 表 計 算 ソフトでは セルに 入 力 されたデータ( 定 数 )を 計 算 式 ( 数 式 )によって 計 算 することで さまざまな 処 理 が 行 えます 数 式 バーには 数 式 の 内 容 が 表 示 されます セルには 計 算 結 果 が 表 示 されます 数 式 の

More information

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2 目 次 動 作 環 境 特 長 方 法 方 法 起 動 終 了 方 法 方 法 操 作 方 法 使 方 使 方 使 方 詳 細 設 定 使 方 KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2 KINGSOFT Office 2016 特 長 主 特 長 以

More information

プログラミング基礎I(再)

プログラミング基礎I(再) 山 元 進 1 度 は 講 義 を 受 けたことを 念 頭 に 置 いて 講 義 遠 慮 なく 質 問 せよ 質 問 で 授 業 を 止 めたくないならば TA の 人 を 呼 んで 質 問 すると 良 い 前 期 講 義 の 欠 席 者 は 特 に 注 意 せよ 4 限 座 学 +5 限 演 習 出 席 をとる( 前 期 同 様 のシステム) 中 間 試 験 を 行 う 期 末 試 験 の 範 囲

More information

(1)1オールゼロ 記 録 ケース 厚 生 年 金 期 間 A B 及 びCに 係 る 旧 厚 生 年 金 保 険 法 の 老 齢 年 金 ( 以 下 旧 厚 老 という )の 受 給 者 に 時 効 特 例 法 施 行 後 厚 生 年 金 期 間 Dが 判 明 した Bは 事 業 所 記 号 が

(1)1オールゼロ 記 録 ケース 厚 生 年 金 期 間 A B 及 びCに 係 る 旧 厚 生 年 金 保 険 法 の 老 齢 年 金 ( 以 下 旧 厚 老 という )の 受 給 者 に 時 効 特 例 法 施 行 後 厚 生 年 金 期 間 Dが 判 明 した Bは 事 業 所 記 号 が 参 考 資 料 2 時 効 特 例 給 付 の 業 務 実 態 等 に 関 す る 調 査 結 果 に つ い て ( 報 告 書 で 取 り 上 げられた 10 ケースに 該 当 する 事 例 の 具 体 的 イメージ) (1)1オールゼロ 記 録 ケース 厚 生 年 金 期 間 A B 及 びCに 係 る 旧 厚 生 年 金 保 険 法 の 老 齢 年 金 ( 以 下 旧 厚 老 という )の

More information

( 別 紙 ) 以 下 法 とあるのは 改 正 法 第 5 条 の 規 定 による 改 正 後 の 健 康 保 険 法 を 指 す ( 施 行 期 日 は 平 成 28 年 4 月 1 日 ) 1. 標 準 報 酬 月 額 の 等 級 区 分 の 追 加 について 問 1 法 改 正 により 追 加

( 別 紙 ) 以 下 法 とあるのは 改 正 法 第 5 条 の 規 定 による 改 正 後 の 健 康 保 険 法 を 指 す ( 施 行 期 日 は 平 成 28 年 4 月 1 日 ) 1. 標 準 報 酬 月 額 の 等 級 区 分 の 追 加 について 問 1 法 改 正 により 追 加 別 添 事 務 連 絡 平 成 27 年 12 月 18 日 日 本 年 金 機 構 厚 生 年 金 保 険 部 長 殿 厚 生 労 働 省 年 金 局 事 業 管 理 課 長 持 続 可 能 な 医 療 保 険 制 度 を 構 築 するための 国 民 健 康 保 険 法 等 の 一 部 を 改 正 する 法 律 による 健 康 保 険 法 及 び 船 員 保 険 法 改 正 内 容 の 一 部 に

More information

(Microsoft Word - Excel\211\236\227p2\217\315.docx)

(Microsoft Word - Excel\211\236\227p2\217\315.docx) この 章 では 日 付 と 時 刻 を 扱 う 関 数 や 複 数 の 関 数 を 組 み 合 わせてエラーを 非 表 示 にする 方 法 また 検 索 条 件 に 一 致 するデータを 取 り 出 す 関 数 の 使 い 方 などについて 学 習 します 1 日 付 と 時 刻 の 関 数 TODAY 関 数 NOW 関 数 TODAY 関 数 は パソコンの 内 蔵 時 計 を 利 用 して 現

More information

東近江行政組合職員の育児休業等に関する条例

東近江行政組合職員の育児休業等に関する条例 東 近 江 行 政 組 合 職 員 の 育 児 休 業 等 に 関 する 条 例 改 正 平 成 6 年 12 月 27 日 条 例 第 5 号 平 成 10 年 3 月 12 日 条 例 第 1 号 平 成 11 年 12 月 24 日 条 例 第 7 号 平 成 13 年 3 月 19 日 条 例 第 3 号 平 成 14 年 3 月 11 日 条 例 第 5 号 平 成 18 年 3 月 16

More information

第1章 財務諸表

第1章 財務諸表 財 務 報 告 論 2009( 太 田 浩 司 ) Lecture Note 16 1 第 16 章 連 結 会 計 Part 3 9. 連 結 剰 余 金 計 算 書 の 作 成 9.1 連 結 剰 余 金 計 算 書 の 目 的 個 別 財 務 諸 表 では 貸 借 対 照 表 の 末 尾 と 損 益 計 算 書 の 末 尾 は 当 期 未 処 分 利 益 で 一 致 するが 連 結 財 務 諸

More information

Ⅰ 調 査 の 概 要 1 目 的 義 務 教 育 の 機 会 均 等 その 水 準 の 維 持 向 上 の 観 点 から 的 な 児 童 生 徒 の 学 力 や 学 習 状 況 を 把 握 分 析 し 教 育 施 策 の 成 果 課 題 を 検 証 し その 改 善 を 図 るもに 学 校 におけ

Ⅰ 調 査 の 概 要 1 目 的 義 務 教 育 の 機 会 均 等 その 水 準 の 維 持 向 上 の 観 点 から 的 な 児 童 生 徒 の 学 力 や 学 習 状 況 を 把 握 分 析 し 教 育 施 策 の 成 果 課 題 を 検 証 し その 改 善 を 図 るもに 学 校 におけ Ⅰ 調 査 の 概 要 Ⅱ 札 幌 の 子 どもの 学 力 学 習 意 欲 等 について Ⅲ 学 力 調 査 の 結 果 概 要 及 び 改 善 の 方 向 等 について Ⅰ 調 査 の 概 要 1 目 的 義 務 教 育 の 機 会 均 等 その 水 準 の 維 持 向 上 の 観 点 から 的 な 児 童 生 徒 の 学 力 や 学 習 状 況 を 把 握 分 析 し 教 育 施 策 の 成 果

More information

の と す る (1) 防 犯 カ メ ラ を 購 入 し 設 置 ( 新 設 又 は 増 設 に 限 る ) す る こ と (2) 設 置 す る 防 犯 カ メ ラ は 新 設 又 は 既 設 の 録 画 機 と 接 続 す る こ と た だ し 録 画 機 能 付 防 犯 カ メ ラ は

の と す る (1) 防 犯 カ メ ラ を 購 入 し 設 置 ( 新 設 又 は 増 設 に 限 る ) す る こ と (2) 設 置 す る 防 犯 カ メ ラ は 新 設 又 は 既 設 の 録 画 機 と 接 続 す る こ と た だ し 録 画 機 能 付 防 犯 カ メ ラ は 小 牧 市 地 域 防 犯 カ メ ラ 等 設 置 補 助 金 交 付 要 綱 平 成 2 8 年 3 月 2 2 日 2 7 小 市 安 第 7 5 7 号 ( 通 則 ) 第 1 条 小 牧 市 地 域 防 犯 カ メ ラ 等 設 置 補 助 金 ( 以 下 補 助 金 と い う )の 交 付 に つ い て は 市 費 補 助 金 等 の 予 算 執 行 に 関 す る 規 則 ( 昭 和

More information

○ 愛 知 県 都 市 職 員 共 済 組 合 職 員 の 育 児 休 業 等 に 関 する 規 則 ( 平 成 22 年 10 月 1 日 ) 平 成 22 年 規 則 第 9 号 改 正 平 成 22 年 11 月 30 日 規 則 第 11 号 愛 知 県 都 市 職 員 共 済 組 合 職 員 の 育 児 休 業 等 に 関 する 規 則 ( 平 成 10 年 愛 知 県 都 市 職 員 共 済

More information

事 業 税 の 外 形 標 準 課 税 事 業 税 は 都 道 府 県 が 所 得 ( 利 益 )に 対 して 課 税 します 1. 個 人 事 業 税 業 種 区 分 税 率 ( 標 準 税 率 ) 第 1 種 事 業 ( 物 品 販 売 業 製 造 業 金 銭 貸 付 業 飲 食 店 業 不 動

事 業 税 の 外 形 標 準 課 税 事 業 税 は 都 道 府 県 が 所 得 ( 利 益 )に 対 して 課 税 します 1. 個 人 事 業 税 業 種 区 分 税 率 ( 標 準 税 率 ) 第 1 種 事 業 ( 物 品 販 売 業 製 造 業 金 銭 貸 付 業 飲 食 店 業 不 動 平 成 22 年 4 月 1 日 現 在 の 法 令 等 に 準 拠 UP!Consulting Up Newsletter 事 業 税 の 外 形 標 準 課 税 減 資 による 欠 損 填 補 と 資 本 金 等 の 額 http://www.up-firm.com 1 事 業 税 の 外 形 標 準 課 税 事 業 税 は 都 道 府 県 が 所 得 ( 利 益 )に 対 して 課 税 します

More information

H28記入説明書(納付金・調整金)8

H28記入説明書(納付金・調整金)8 1 常 用 雇 用 労 働 者 の 総 数 の 把 握 ( STEP1 ) (1) 常 用 雇 用 労 働 者 とは 障 害 者 雇 用 納 付 金 制 度 における 常 用 雇 用 労 働 者 とは あなたの 企 業 で の 形 式 の 如 何 を 問 わず 1 雇 用 ( 契 約 ) の 定 めがなく 雇 用 されている 労 働 者 及 び 一 定 の 雇 用 ( 契 約 ) を 定 めて 雇

More information

1

1 Excelファイルアクセス 1. 概 要 Excel ファイルアクセスコンポーネントは Microsoft Excel のファイルを 開 いてセルの 値 や 書 式 を 取 得 変 更 したり テーブル 全 体 を 新 しいファイルと して 保 存 したりするために 用 います Excel ファイルアクセスコンポーネントは アプリケーションビルダーのメニューから 以 下 のように 選 びます [コンポーネント

More information

https://www.takara-dic-net.jp/xeditor_ne/xeditor_web/html_gene.

https://www.takara-dic-net.jp/xeditor_ne/xeditor_web/html_gene. 平 成 23 年 3 月 期 第 1 四 半 期 決 算 短 信 日 本 基 準 ( 連 結 ) 平 成 22 年 8 月 11 日 上 場 会 社 名 松 井 建 設 株 式 会 社 上 場 取 引 所 東 コ ー ド 番 号 1810 URL http://www.matsui-ken.co.jp/ 代 表 者 ( 役 職 名 ) 取 締 役 社 長 ( 氏 名 ) 松 井 隆 弘 ( 役 職

More information

Microsoft Word - 【溶け込み】【修正】第2章~第4章

Microsoft Word - 【溶け込み】【修正】第2章~第4章 第 4 章 金 要 件 と 金 額 1 ( 高 齢 になった 場 合 に 受 け 取 れる 金 ) 要 件 1 受 資 格 期 間 保 険 料 納 付 済 期 間 と 保 険 料 免 除 期 間 を 合 わせて25 以 上 あること (ただし 金 額 には 反 映 されないが 受 資 格 期 間 には 算 入 される 合 算 対 象 期 間 があります) 消 費 税 が 引 き 上 げられる 27

More information

<4D F736F F D2091E F18CB48D C481698E7B90DD8F9590AC89DB816A2E646F63>

<4D F736F F D2091E F18CB48D C481698E7B90DD8F9590AC89DB816A2E646F63> 平 成 18 年 7 月 独 立 行 政 法 人 国 立 大 学 財 務 経 営 センター 国 立 大 学 法 人 等 による 国 立 大 学 財 務 経 営 センターへの 土 地 譲 渡 収 入 の 一 部 納 付 の 仕 組 みについて 国 立 大 学 法 人 等 が 国 から 出 資 された 土 地 を 譲 渡 した 場 合 文 部 科 学 大 臣 が 定 める 基 準 に より 算 定 した

More information

目 次 1. 論 理 関 数 IF... 1 2. IF の 概 要... 1 3. 論 理 式 の 種 類... 2 3.1.1. 等 号... 2 3.1.2. 不 等 号... 2 4. 具 体 的 な 使 い 方... 2 5. ネスト... 3 6. 複 数 の 条 件 を 記 述...

目 次 1. 論 理 関 数 IF... 1 2. IF の 概 要... 1 3. 論 理 式 の 種 類... 2 3.1.1. 等 号... 2 3.1.2. 不 等 号... 2 4. 具 体 的 な 使 い 方... 2 5. ネスト... 3 6. 複 数 の 条 件 を 記 述... 平 成 26 年 12 月 6 日 跡 見 学 園 女 子 大 学 公 開 講 座 パソコンセミナー Excel 入 門 第 1 回 応 用 編 文 学 部 現 代 文 化 表 現 学 科 准 教 授 伊 藤 穣 j-ito@atomi.ac.jp http://www2.mmc.atomi.ac.jp/~j-ito/ 目 次 1. 論 理 関 数 IF... 1 2. IF の 概 要... 1

More information

[2] 控 除 限 度 額 繰 越 欠 損 金 を 有 する 法 人 において 欠 損 金 発 生 事 業 年 度 の 翌 事 業 年 度 以 後 の 欠 損 金 の 繰 越 控 除 にあ たっては 平 成 27 年 度 税 制 改 正 により 次 ページ 以 降 で 解 説 する の 特 例 (

[2] 控 除 限 度 額 繰 越 欠 損 金 を 有 する 法 人 において 欠 損 金 発 生 事 業 年 度 の 翌 事 業 年 度 以 後 の 欠 損 金 の 繰 越 控 除 にあ たっては 平 成 27 年 度 税 制 改 正 により 次 ページ 以 降 で 解 説 する の 特 例 ( 相 談 ~ 改 正 に 伴 い 改 めて 整 理 しておきたい~ 法 人 税 における 繰 越 欠 損 金 制 度 米 澤 潤 平 部 東 京 室 平 成 27 年 度 および28 年 度 の 税 制 改 正 による 法 人 税 率 引 き 下 げに 伴 う 課 税 ベース 拡 大 の 一 環 として 繰 越 欠 損 金 制 度 についても 大 改 正 が 行 われました 今 回 は 繰 越 欠 損

More information

2016 年 度 情 報 リテラシー 三 科 目 合 計 の 算 出 関 数 を 用 いて 各 教 科 の 平 均 点 と 最 高 点 を 求 めることにする この2つの 計 算 は [ホーム]タブのコマ ンドにも 用 意 されているが 今 回 は 関 数 として 作 成 する まず 表 に 三 科

2016 年 度 情 報 リテラシー 三 科 目 合 計 の 算 出 関 数 を 用 いて 各 教 科 の 平 均 点 と 最 高 点 を 求 めることにする この2つの 計 算 は [ホーム]タブのコマ ンドにも 用 意 されているが 今 回 は 関 数 として 作 成 する まず 表 に 三 科 ( 第 9 回 )2016/06/13 Excel 関 数 の 基 礎 この 回 では Excel での 数 値 処 理 に 役 立 つ 関 数 について 解 説 する 1. 課 題 の 確 認 成 績 の 集 計 について 関 数 を 利 用 して 行 う 利 用 するソフトウェア:Microsoft Excel 1.1. 演 習 の 内 容 関 数 は 表 計 算 ソフトで 数 値 処 理 を

More information

は 固 定 流 動 及 び 繰 延 に 区 分 することとし 減 価 償 却 を 行 うべき 固 定 の 取 得 又 は 改 良 に 充 てるための 補 助 金 等 の 交 付 を 受 けた 場 合 にお いては その 交 付 を 受 けた 金 額 に 相 当 する 額 を 長 期 前 受 金 とし

は 固 定 流 動 及 び 繰 延 に 区 分 することとし 減 価 償 却 を 行 うべき 固 定 の 取 得 又 は 改 良 に 充 てるための 補 助 金 等 の 交 付 を 受 けた 場 合 にお いては その 交 付 を 受 けた 金 額 に 相 当 する 額 を 長 期 前 受 金 とし 3 会 計 基 準 の 見 直 しの 主 な 内 容 (1) 借 入 金 借 入 金 制 度 を 廃 止 し 建 設 又 は 改 良 に 要 する 資 金 に 充 てるための 企 業 債 及 び 一 般 会 計 又 は 他 の 特 別 会 計 からの 長 期 借 入 金 は に 計 上 することとなりまし た に 計 上 するに 当 たり 建 設 又 は 改 良 等 に 充 てられた 企 業 債 及

More information

スライド 1

スライド 1 公 的 年 金 制 度 の 健 全 性 及 び 信 頼 性 の 確 保 のための 厚 生 年 金 保 険 法 等 の 一 部 を 改 正 する 法 律 について 厚 生 労 働 省 年 金 局 公 的 年 金 制 度 の 健 全 性 及 び 信 頼 性 の 確 保 のための 厚 生 年 金 保 険 法 等 の 一 部 を 改 正 する 法 律 ( 平 成 25 年 法 律 第 63 号 )の 概 要

More information

損 益 計 算 書 自. 平 成 26 年 4 月 1 日 至. 平 成 27 年 3 月 31 日 科 目 内 訳 金 額 千 円 千 円 営 業 収 益 6,167,402 委 託 者 報 酬 4,328,295 運 用 受 託 報 酬 1,839,106 営 業 費 用 3,911,389 一

損 益 計 算 書 自. 平 成 26 年 4 月 1 日 至. 平 成 27 年 3 月 31 日 科 目 内 訳 金 額 千 円 千 円 営 業 収 益 6,167,402 委 託 者 報 酬 4,328,295 運 用 受 託 報 酬 1,839,106 営 業 費 用 3,911,389 一 貸 借 対 照 表 平 成 27 年 3 月 31 日 現 在 資 産 の 部 負 債 の 部 科 目 内 訳 金 額 科 目 内 訳 金 額 流 動 資 産 千 円 千 円 流 動 負 債 千 円 千 円 預 金 5,145,515 預 り 金 240, 有 価 証 券 2,000,000 未 払 金 274, 前 払 費 用 61,184 未 払 収 益 分 配 金 789 未 収 入 金 未

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 株 式 会 社 化 に 伴 う から 特 定 の 員 への 株 式 譲 渡 に 係 る 課 税 関 係 と 手 続 きについて 平 成 20 年 2 月 商 工 中 金 当 資 料 は 貴 において 本 件 取 引 に 関 する 検 討 をされるに 際 して ご 参 考 のための 情 報 提 供 のみを 目 的 として 国 税 庁 の 確 認 を 受 けた 内 容 に 基 づき 商 工 中 金 が

More information

注 雇 促 進 税 制 と 本 制 度 のどちらかを 利 する 可 能 性 があるが あらかじめどちらの 制 度 を 利 するか 判 断 できない という 場 合 雇 促 進 税 制 の 事 前 届 出 ( 雇 促 進 計 画 の 提 出 )をした 上 で 申 告 の 際 にどちらを 利 するかご

注 雇 促 進 税 制 と 本 制 度 のどちらかを 利 する 可 能 性 があるが あらかじめどちらの 制 度 を 利 するか 判 断 できない という 場 合 雇 促 進 税 制 の 事 前 届 出 ( 雇 促 進 計 画 の 提 出 )をした 上 で 申 告 の 際 にどちらを 利 するかご Q1. 所 得 拡 促 進 税 制 とはどのような 制 度 か A1. 平 成 25 年 4 1 から 平 成 28 年 3 31 までの 期 間 内 に 開 始 する 各 事 業 年 度 ( 個 人 事 業 主 の 場 合 は 平 成 26 年 1 1 から 平 成 28 年 12 月 31 までの 各 年 以 下 適 事 業 年 度 といいます )において 国 内 雇 用 者 に 対 して 給

More information

4 応 募 者 向 けメニュー 画 面 が 表 示 されます 応 募 者 向 けメニュー 画 面 で [ 交 付 内 定 時 の 手 続 を 行 う] [ 交 付 決 定 後 の 手 続 を 行 う]をクリックします 10

4 応 募 者 向 けメニュー 画 面 が 表 示 されます 応 募 者 向 けメニュー 画 面 で [ 交 付 内 定 時 の 手 続 を 行 う] [ 交 付 決 定 後 の 手 続 を 行 う]をクリックします 10 2 科 学 研 究 費 助 成 事 業 のトップページ 画 面 が 表 示 されます [ 研 究 者 ログイン]をクリック します 掲 載 している 画 面 は 例 示 です 随 時 変 更 されます 3 科 研 費 電 子 申 請 システムの 応 募 者 ログイン 画 面 が 表 示 されます e-rad の ID パ ス ワード を 入 力 し [ログイン]をクリックします 9 4 応 募 者

More information

養 老 保 険 の 減 額 払 済 保 険 への 変 更 1. 設 例 会 社 が 役 員 を 被 保 険 者 とし 死 亡 保 険 金 及 び 満 期 保 険 金 のいずれも 会 社 を 受 取 人 とする 養 老 保 険 に 加 入 してい る 場 合 を 解 説 します 資 金 繰 りの 都

養 老 保 険 の 減 額 払 済 保 険 への 変 更 1. 設 例 会 社 が 役 員 を 被 保 険 者 とし 死 亡 保 険 金 及 び 満 期 保 険 金 のいずれも 会 社 を 受 取 人 とする 養 老 保 険 に 加 入 してい る 場 合 を 解 説 します 資 金 繰 りの 都 平 成 22 年 4 月 1 日 現 在 の 法 令 等 に 準 拠 Up Newsletter 養 老 保 険 の 減 額 逓 増 定 期 保 険 の 取 扱 い 変 更 介 護 費 用 保 険 の 導 入 企 業 の 保 険 のポイント http://www.up-firm.com 1 養 老 保 険 の 減 額 払 済 保 険 への 変 更 1. 設 例 会 社 が 役 員 を 被 保 険 者

More information

1. 決 算 の 概 要 法 人 全 体 として 2,459 億 円 の 当 期 総 利 益 を 計 上 し 末 をもって 繰 越 欠 損 金 を 解 消 しています ( : 当 期 総 利 益 2,092 億 円 ) 中 期 計 画 における 収 支 改 善 項 目 に 関 して ( : 繰 越

1. 決 算 の 概 要 法 人 全 体 として 2,459 億 円 の 当 期 総 利 益 を 計 上 し 末 をもって 繰 越 欠 損 金 を 解 消 しています ( : 当 期 総 利 益 2,092 億 円 ) 中 期 計 画 における 収 支 改 善 項 目 に 関 して ( : 繰 越 平 成 25 事 業 年 度 財 務 諸 表 の 概 要 1. 決 算 の 概 要 法 人 全 体 として 2,459 億 円 の 当 期 総 利 益 を 計 上 し 末 をもって 繰 越 欠 損 金 を 解 消 しています ( : 当 期 総 利 益 2,092 億 円 ) 中 期 計 画 における 収 支 改 善 項 目 に 関 して ( : 繰 越 欠 損 金 792 億 円 : 利 益 剰

More information

取 り 消 された 後 当 該 産 前 の 休 業 又 は 出 産 に 係 る 子 若 しくは 同 号 に 規 定 する 承 認 に 係 る 子 が 死 亡 し 又 は 養 子 縁 組 等 により 職 員 と 別 居 することとなったこと (2) 育 児 休 業 をしている 職 員 が 休 職 又

取 り 消 された 後 当 該 産 前 の 休 業 又 は 出 産 に 係 る 子 若 しくは 同 号 に 規 定 する 承 認 に 係 る 子 が 死 亡 し 又 は 養 子 縁 組 等 により 職 員 と 別 居 することとなったこと (2) 育 児 休 業 をしている 職 員 が 休 職 又 群 馬 県 市 町 村 会 館 管 理 組 合 職 員 の 育 児 休 業 等 に 関 する 条 例 平 成 5 年 4 月 1 日 条 例 第 2 号 改 正 平 成 5 年 6 月 8 日 条 例 第 1 号 平 成 7 年 3 月 31 日 条 例 第 4 号 平 成 12 年 2 月 15 日 条 例 第 1 号 平 成 12 年 11 月 10 日 条 例 第 2 号 平 成 14 年 2

More information

3. 選 任 固 定 資 産 評 価 員 は 固 定 資 産 の 評 価 に 関 する 知 識 及 び 経 験 を 有 する 者 のうちから 市 町 村 長 が 当 該 市 町 村 の 議 会 の 同 意 を 得 て 選 任 する 二 以 上 の 市 町 村 の 長 は 当 該 市 町 村 の 議

3. 選 任 固 定 資 産 評 価 員 は 固 定 資 産 の 評 価 に 関 する 知 識 及 び 経 験 を 有 する 者 のうちから 市 町 村 長 が 当 該 市 町 村 の 議 会 の 同 意 を 得 て 選 任 する 二 以 上 の 市 町 村 の 長 は 当 該 市 町 村 の 議 第 6 回 税 理 士 試 験 固 定 資 産 税 はじめに 第 一 問 については 個 別 理 論 題 の 出 題 であった 1については 固 定 資 産 評 価 員 及 び 固 定 資 産 評 価 補 助 員 に 関 する 出 題 であったが 個 別 理 論 での 出 題 であり 判 断 に 迷 う 点 もなく 高 得 点 を 取 ることが 可 能 な 問 題 であった については 区 分 所

More information

している 5. これに 対 して 親 会 社 の 持 分 変 動 による 差 額 を 資 本 剰 余 金 として 処 理 した 結 果 資 本 剰 余 金 残 高 が 負 の 値 となるような 場 合 の 取 扱 いの 明 確 化 を 求 めるコメントが 複 数 寄 せられた 6. コメントでは 親

している 5. これに 対 して 親 会 社 の 持 分 変 動 による 差 額 を 資 本 剰 余 金 として 処 理 した 結 果 資 本 剰 余 金 残 高 が 負 の 値 となるような 場 合 の 取 扱 いの 明 確 化 を 求 めるコメントが 複 数 寄 せられた 6. コメントでは 親 第 265 回 企 業 会 計 基 準 委 員 会 資 料 番 号 日 付 審 議 事 項 (3) 2013 年 5 月 29 日 プロジェクト 項 目 企 業 結 合 (ステップ2) 公 開 草 案 に 対 するコメントへの 対 応 I. 検 討 の 経 緯 1. 平 成 25 年 1 月 に 企 業 会 計 基 準 公 開 草 案 第 49 号 企 業 結 合 に 関 する 会 計 基 準 (

More information

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Ⅱ 国 地 方 公 共 団 体 公 共 公 益 法 人 等 の 消 費 税 Q&A ( 問 1) 免 税 期 間 における 起 債 の 償 還 元 金 に 充 てるための 補 助 金 等 の 使 途 の 特 定 Q 地 方 公 共 団 体 の 特 別 会 計 が 消 費 税 の 納 税 義 務 が 免 除 される 課 税 期 間

More information

続 に 基 づく 一 般 競 争 ( 指 名 競 争 ) 参 加 資 格 の 再 認 定 を 受 けていること ) c) 会 社 更 生 法 に 基 づき 更 生 手 続 開 始 の 申 立 てがなされている 者 又 は 民 事 再 生 法 に 基 づき 再 生 手 続 開 始 の 申 立 てがなさ

続 に 基 づく 一 般 競 争 ( 指 名 競 争 ) 参 加 資 格 の 再 認 定 を 受 けていること ) c) 会 社 更 生 法 に 基 づき 更 生 手 続 開 始 の 申 立 てがなされている 者 又 は 民 事 再 生 法 に 基 づき 再 生 手 続 開 始 の 申 立 てがなさ 簡 易 公 募 型 競 争 入 札 方 式 ( 総 合 評 価 落 札 方 式 )に 係 る 手 続 開 始 の 公 示 次 のとおり 指 名 競 争 入 札 参 加 者 の 選 定 の 手 続 を 開 始 します 平 成 28 年 9 月 20 日 分 任 支 出 負 担 行 為 担 当 官 東 北 地 方 整 備 局 秋 田 河 川 国 道 事 務 所 長 渡 邊 政 義 1. 業 務 概 要

More information

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド 本 書 では 管 理 者 向 けに MetaMoJi ClassRoom/ゼミナールで 年 度 更 新 を 実 施 する 手 順 について 説 明 して います 管 理 者 ガイドと 合 わせてご 覧 ください Excelは 米 国 Microsoft Corporationの 米 国 およびその 他 の 国 における 登 録 商 標 または 商 標 です Apache OpenOffice Apache

More information

若 しくは 利 益 の 配 当 又 はいわゆる 中 間 配 当 ( 資 本 剰 余 金 の 額 の 減 少 に 伴 うものを 除 きます 以 下 同 じです )を した 場 合 には その 積 立 金 の 取 崩 額 を 減 2 に 記 載 す るとともに 繰 越 損 益 金 26 の 増 3 の

若 しくは 利 益 の 配 当 又 はいわゆる 中 間 配 当 ( 資 本 剰 余 金 の 額 の 減 少 に 伴 うものを 除 きます 以 下 同 じです )を した 場 合 には その 積 立 金 の 取 崩 額 を 減 2 に 記 載 す るとともに 繰 越 損 益 金 26 の 増 3 の 別 表 五 別 ( 表 一 五 )( 一 ) 利 益 積 立 金 額 及 び 資 本 金 金 等 等 の 額 の 額 計 の 算 計 に 算 関 に する 関 明 する 細 書 明 細 書 1 利 益 積 立 金 額 の 計 算 に 関 する 明 細 書 ⑴ この 明 細 書 の 用 途 この 明 細 書 は 法 第 2 条 第 18 号 及 び 令 第 9 条 (( 利 益 積 立 金 額 ))に

More information

<4D F736F F D2095BD90AC E937890C590A789FC90B382CC8EE582C893E09765>

<4D F736F F D2095BD90AC E937890C590A789FC90B382CC8EE582C893E09765> 平 成 27 年 度 税 制 改 正 の 主 な 内 容 実 施 年 度 等 にご 注 意 ください 1 軽 自 動 車 税 の 見 直 し 2 住 宅 ローン 減 税 の 期 限 延 長 3 納 税 に 係 る 特 例 額 の 拡 充 及 び 申 告 手 続 きの 簡 素 化 4 固 定 資 産 税 等 の 負 担 調 整 措 置 及 び 特 例 措 置 5 旧 3 級 品 の 製 造 たばこに

More information

Microsoft Word - 070219役員選挙規程.doc

Microsoft Word - 070219役員選挙規程.doc 役 員 選 挙 規 程 昭 和 55 年 10 月 21 日 制 定 昭 和 57 年 11 月 16 日 改 正 昭 和 61 年 5 月 27 日 改 正 昭 和 62 年 2 月 23 日 改 正 昭 和 63 年 3 月 7 日 改 正 平 成 2 年 5 月 14 日 改 正 平 成 6 年 5 月 24 日 改 正 平 成 8 年 2 月 27 日 改 正 平 成 11 年 2 月 23

More information

POWER EGG V2.01 ユーザーズマニュアル ファイル管理編

POWER EGG V2.01 ユーザーズマニュアル ファイル管理編 POWER EGG V2.0 ユーザーズマニュアル ファイル 管 理 編 Copyright 2009 D-CIRCLE,INC. All Rights Reserved 2009.4 はじめに 本 書 では POWER EGG 利 用 者 向 けに 以 下 の POWER EGG のファイル 管 理 機 能 に 関 する 操 作 を 説 明 しま す なお 当 マニュアルでは ファイル 管 理 機

More information

添 付 資 料 の 目 次 1. 当 四 半 期 決 算 に 関 する 定 性 的 情 報 2 (1) 経 営 成 績 に 関 する 説 明 2 (2) 財 政 状 態 に 関 する 説 明 2 (3) 連 結 業 績 予 想 などの 将 来 予 測 情 報 に 関 する 説 明 2 2.サマリー 情 報 ( 注 記 事 項 )に 関 する 事 項 3 (1) 当 四 半 期 連 結 累 計 期 間

More information

01_07_01 データのインポート_エクスポート_1

01_07_01 データのインポート_エクスポート_1 データのインポート/エクスポートについて 概 要 スタッフエクスプレスでは 他 のソフトウェアで 作 成 されたスタッフデータ 得 意 先 データなどを 取 り 込 む(インポートする)ことができます また スタッフエクスプレスに 登 録 済 みのデータを Excel 形 式 CSV 形 式 で 出 力 (エクスポート)す ることができます 注 意 インポートできるデータは 次 の 条 件 を 満

More information

企業結合ステップ2に関連するJICPA実務指針等の改正について③・資本連結実務指針(その2)

企業結合ステップ2に関連するJICPA実務指針等の改正について③・資本連結実務指針(その2) 会 計 監 査 企 業 結 合 ステップ2に 関 連 するJICPA 実 務 指 針 等 の 改 正 について3 資 本 連 結 実 務 指 針 (その2) 公 認 会 計 士 長 ながぬま 沼 ようすけ 洋 佑 1.はじめに 平 成 26 年 2 月 24 日 日 本 公 認 会 計 士 協 会 (JICPA)は 企 業 会 計 基 準 委 員 会 (ASBJ)によ り 平 成 25 年 9 月

More information

税金読本(8-5)特定口座と確定申告

税金読本(8-5)特定口座と確定申告 と 確 申 告 8-5 複 数 の 証 券 会 社 で 源 泉 徴 収 を 開 設 している 場 合 の 損 益 通 算 の 方 法 における 株 式 債 券 投 資 信 託 と 税 金 源 泉 徴 収 と 確 申 告 源 泉 徴 収 の 場 合 内 の 譲 するか 否 かは 1つの ごとに 選 渡 益 については 確 申 告 は 不 要 です 択 することができます つまり 投 資 家 が 内 の

More information

4. その 他 (1) 期 中 における 重 要 な 子 会 社 の 異 動 ( 連 結 範 囲 の 変 更 を 伴 う 特 定 子 会 社 の 異 動 ) 無 (2) 簡 便 な 会 計 処 理 及 び 四 半 期 連 結 財 務 諸 表 の 作 成 に 特 有 の 会 計 処 理 の 適 用 有

4. その 他 (1) 期 中 における 重 要 な 子 会 社 の 異 動 ( 連 結 範 囲 の 変 更 を 伴 う 特 定 子 会 社 の 異 動 ) 無 (2) 簡 便 な 会 計 処 理 及 び 四 半 期 連 結 財 務 諸 表 の 作 成 に 特 有 の 会 計 処 理 の 適 用 有 平 成 22 年 3 月 期 第 2 四 半 期 決 算 短 信 平 成 21 年 11 月 11 日 上 場 会 社 名 松 井 建 設 株 式 会 社 上 場 取 引 所 東 コード 番 号 1810 URL http://www.matsui-ken.co.jp/ 代 表 者 ( 役 職 名 ) 取 締 役 社 長 ( 氏 名 ) 松 井 隆 弘 問 合 せ 先 責 任 者 ( 役 職 名 )

More information

<5461726F31322D325F81798ED0984A8E6D817A944E8BE08D8E959E814593BE>

<5461726F31322D325F81798ED0984A8E6D817A944E8BE08D8E959E814593BE> 社 労 士 講 座 資 格 の 大 原 年 金 克 服 得 点 アップセミナー 第 2 回 目 ( 年 金 克 服 得 点 アップセミナー 全 3 回 ) 第 1 回 国 民 年 金 法 第 2 回 厚 生 年 金 保 険 法 第 3 回 確 認 テスト 社 労 士 試 験 の 最 大 の 難 関 は 年 金 科 目 です これは1 仕 組 みについて 理 解 が 必 要 であるこ と2 他 の 科

More information

の 基 礎 の 欄 にも 記 載 します ア 法 人 税 の 中 間 申 告 書 に 係 る 申 告 の 場 合 は 中 間 イ 法 人 税 の 確 定 申 告 書 ( 退 職 年 金 等 積 立 金 に 係 るものを 除 きます ) 又 は 連 結 確 定 申 告 書 に 係 る 申 告 の 場

の 基 礎 の 欄 にも 記 載 します ア 法 人 税 の 中 間 申 告 書 に 係 る 申 告 の 場 合 は 中 間 イ 法 人 税 の 確 定 申 告 書 ( 退 職 年 金 等 積 立 金 に 係 るものを 除 きます ) 又 は 連 結 確 定 申 告 書 に 係 る 申 告 の 場 第 20 号 様 式 記 載 の 手 引 1 この 申 告 書 の 用 途 等 (1) この 申 告 書 は 仮 決 算 に 基 づく 中 間 申 告 ( 連 結 法 人 以 外 の 法 人 が 行 う 中 間 申 告 に 限 ります ) 確 定 した 決 算 に 基 づく 確 定 申 告 及 びこれらに 係 る 修 正 申 告 をする 場 合 に 使 用 します (2) この 申 告 書 は 千

More information

Taro-2220(修正).jtd

Taro-2220(修正).jtd 株 式 会 社 ( 募 集 株 式 の 発 行 ) 株 式 会 社 変 更 登 記 申 請 書 1. 商 号 商 事 株 式 会 社 1. 本 店 県 市 町 丁 目 番 号 1. 登 記 の 事 由 募 集 株 式 発 行 ( 情 報 番 号 2220 全 25 頁 ) 1. 登 記 すべき 事 項 変 更 ( 注 ) 変 更 の 年 月 日 は, 払 込 期 日 又 は 払 込 期 間 の 末

More information

2. ど の 様 な 経 緯 で 発 覚 し た の か ま た 遡 っ た の を 昨 年 4 月 ま で と し た の は 何 故 か 明 ら か に す る こ と 回 答 3 月 17 日 に 実 施 し た ダ イ ヤ 改 正 で 静 岡 車 両 区 の 構 内 運 転 が 静 岡 運

2. ど の 様 な 経 緯 で 発 覚 し た の か ま た 遡 っ た の を 昨 年 4 月 ま で と し た の は 何 故 か 明 ら か に す る こ と 回 答 3 月 17 日 に 実 施 し た ダ イ ヤ 改 正 で 静 岡 車 両 区 の 構 内 運 転 が 静 岡 運 地 本 業 務 ニ ュ ー ス J R 東 海 労 静 岡 地 方 本 部 NO.1 8 2 0 1 2 年 6 月 1 9 日 発 行 者 : JR 東 海 労 静 岡 地 方 本 部 山 本 繁 明 申 6 号 に 関 する 幹 事 間 折 衝 を 開 催!! 6 月 15 日 地 本 は 静 岡 車 両 区 に お け る 構 内 運 転 士 に 対 す る 誤 支 給 及 び 戻 入 に つ

More information

R4財務対応障害一覧

R4財務対応障害一覧 1 仕 訳 入 力 仕 訳 入 力 時 摘 要 欄 で. + Enter を 押 すと アプリケーションでエラーが 発 生 しまインデックスが 配 列 の 境 界 外 です が 出 る 場 合 がある 問 題 に 対 応 しま 2 仕 訳 入 力 仕 訳 入 力 主 科 目 と 補 助 科 目 を 固 定 にすると2 行 目 以 降 の 補 助 科 目 コピーが 動 作 しない 問 題 に 対 応

More information

kyoukai.indd

kyoukai.indd 個 人 投 資 家 の 皆 さまへ 主 なポイント 株 式 の 売 買 益 については 特 定 口 座 ( 源 泉 徴 収 選 択 口 座 ) の 利 用 で 税 務 署 に 申 告 しなくてもよくなり 預 貯 金 並 みの 手 軽 さで 株 式 投 資 を 行 うことができます 株 式 売 買 益 税 率 ( 平 成 15 年 1 月 1 日 ~ 平 成 19 年 12 月 31 日 ) 年 間

More information

第1章 簿記の一巡

第1章 簿記の一巡 第 1 節 現 金 1. 現 金 の 範 囲 (A) 簿 記 でいう 現 金 とは, 紙 幣 や 硬 貨 等 の 通 貨 に 加 え, 通 貨 代 用 証 券 を 含 んでいる 通 貨 代 用 証 券 は,すぐに 換 金 できるため, 簿 記 上 では 現 金 勘 定 ( 資 産 )として 扱 われる 現 金 = 通 貨 + 通 貨 代 用 証 券 通 貨 代 用 証 券 は, 金 融 機 関 などでいつでも

More information

4-3-4共立蒲原総合病院組合職員の育児休業等に関する条例

4-3-4共立蒲原総合病院組合職員の育児休業等に関する条例 共 立 蒲 原 総 合 病 院 組 合 職 員 の 育 児 休 業 等 に 関 する 条 例 平 成 4 年 3 月 2 6 日 条 例 第 1 号 改 正 平 成 7 年 3 月 16 日 条 例 第 2 号 平 成 13 年 3 月 26 日 条 例 第 4 号 平 成 14 年 12 月 24 日 条 例 第 8 号 平 成 21 年 3 月 19 日 条 例 第 5 号 平 成 22 年 9

More information

Taro-1-14A記載例.jtd

Taro-1-14A記載例.jtd 募 集 株 式 の 発 行 ( 非 公 開 会 社 のうち 非 取 締 役 会 設 置 会 社 ) 受 付 番 号 票 貼 付 欄 株 式 会 社 変 更 登 記 申 請 書 1. 会 社 法 人 等 番 号 0000-00 - 000000 分 かる 場 合 に 記 載 してください 1. 商 号 1. 本 店 1. 登 記 の 事 由 商 事 株 式 会 社 県 市 町 丁 目 番 号 募 集

More information

縦 計 横 計 をSUM 関 数 で 一 度 に 計 算 する 縦 横 の 合 計 を 表 示 するセルが 計 算 対 象 となる セルと 隣 接 している 場 合 は 一 度 に 合 計 を 求 め ることができます 1 計 算 対 象 となるセル 範 囲 と 合 計 を 表 示 する セル 範

縦 計 横 計 をSUM 関 数 で 一 度 に 計 算 する 縦 横 の 合 計 を 表 示 するセルが 計 算 対 象 となる セルと 隣 接 している 場 合 は 一 度 に 合 計 を 求 め ることができます 1 計 算 対 象 となるセル 範 囲 と 合 計 を 表 示 する セル 範 数 式 や 関 数 を 利 用 する 合 計 を 計 算 するには 数 式 を 使 って 計 算 する 数 式 を 入 力 する 時 は 必 ず 半 角 英 数 字 で 入 力 し = から 入 力 を 開 始 します 1 合 計 を 表 示 したいセルを 選 択 します 2 = を 入 力 します 3 国 語 の 点 数 のセル(C4)をクリックします 4 + を 入 力 します 5 算 数 の

More information

第 9 条 の 前 の 見 出 しを 削 り 同 条 に 見 出 しとして ( 部 分 休 業 の 承 認 ) を 付 し 同 条 中 1 日 を 通 じて2 時 間 ( 規 則 で 定 める 育 児 休 暇 を 承 認 されている 職 員 については 2 時 間 から 当 該 育 児 休 暇 の

第 9 条 の 前 の 見 出 しを 削 り 同 条 に 見 出 しとして ( 部 分 休 業 の 承 認 ) を 付 し 同 条 中 1 日 を 通 じて2 時 間 ( 規 則 で 定 める 育 児 休 暇 を 承 認 されている 職 員 については 2 時 間 から 当 該 育 児 休 暇 の 大 和 市 職 員 の 育 児 休 業 等 に 関 する 条 例 の 一 部 を 改 正 する 条 例 大 和 市 職 員 の 育 児 休 業 等 に 関 する 条 例 ( 平 成 4 年 大 和 市 条 例 第 4 号 )の 一 部 を 次 のよ うに 改 正 する 第 1 条 中 第 8 条 の 次 に 第 10 条 第 1 項 及 び 第 2 項 第 14 条 及 び 第 15 条 (こ れらの

More information

Taro-H19退職金(修正版).jtd

Taro-H19退職金(修正版).jtd 調 査 結 果 の 概 要 1 退 職 金 制 度 (1) 採 用 状 況 ( 表 1) 集 計 第 1 表 第 2 表 退 職 金 制 度 の 採 用 状 況 をみると 退 職 一 時 金 制 度 のみ 14 社 ( 退 職 金 制 度 採 用 企 業 246 社 の5.7 %) 退 職 年 金 制 度 のみ 27 社 ( 同 11.0%) 退 職 一 時 金 制 度 と 退 職 年 金 制 度

More information

Q IFRSの特徴について教えてください

Q IFRSの特徴について教えてください Q 改 正 後 の 退 職 給 付 に 関 する 会 計 基 準 と 改 訂 IAS 第 19 号 との 差 異 を 教 え てください A 数 理 計 算 上 の 差 異 過 去 勤 務 費 用 の 会 計 処 理 退 職 給 付 見 込 額 の 期 間 配 分 方 式 および 期 待 運 用 収 益 という 概 念 の 廃 止 が 主 な 差 異 として 残 っています 平 成 24 年 5 月

More information

入 札 参 加 資 格 申 請 システム 操 作 マニュアル 入 札 参 加 資 格 の 資 格 有 効 ( 変 更 ) 日 を 迎 えると 追 加 届 の 登 録 ができるようになります ( 入 札 参 加 資 格 申 請 の 定 時 受 付 では いずれかの 申 請 先 団 体 から 入 札 参

入 札 参 加 資 格 申 請 システム 操 作 マニュアル 入 札 参 加 資 格 の 資 格 有 効 ( 変 更 ) 日 を 迎 えると 追 加 届 の 登 録 ができるようになります ( 入 札 参 加 資 格 申 請 の 定 時 受 付 では いずれかの 申 請 先 団 体 から 入 札 参 あいち 電 子 調 達 共 同 システム( 物 品 等 ) 入 札 参 加 資 格 申 請 システム 操 作 マニュアル - 業 者 - 目 次... 8-1 8-1 本 店 ID( 業 者 用 ID)の 確 認 ~ 初 期 パスワード 変 更... 8-3 8-1-1 入 札 参 加 資 格 申 請 システム メニュー... 8-3 8-1-2 契 約 営 業 所 等 ID 確 認 (パスワード

More information

Microsoft Word - tb01.doc

Microsoft Word - tb01.doc 第 1 章 プログラムを 動 かそう 概 要 ここでは 情 報 処 理 センターの 計 算 機 環 境 を 使 用 してプログラミングを 勉 強 するために 覚 えておかなければならな い 種 々のソフトウェアの 使 用 方 法 について 学 びます また C 言 語 を 用 いて 書 いたプログラムのソースコードをコンパイルし 実 行 する 方 法 について 学 びます この 章 の 目 標 テキストエディタを

More information

2 役 員 の 報 酬 等 の 支 給 状 況 役 名 法 人 の 長 理 事 理 事 ( 非 常 勤 ) 平 成 25 年 度 年 間 報 酬 等 の 総 額 就 任 退 任 の 状 況 報 酬 ( 給 与 ) 賞 与 その 他 ( 内 容 ) 就 任 退 任 16,936 10,654 4,36

2 役 員 の 報 酬 等 の 支 給 状 況 役 名 法 人 の 長 理 事 理 事 ( 非 常 勤 ) 平 成 25 年 度 年 間 報 酬 等 の 総 額 就 任 退 任 の 状 況 報 酬 ( 給 与 ) 賞 与 その 他 ( 内 容 ) 就 任 退 任 16,936 10,654 4,36 独 立 行 政 法 人 駐 留 軍 等 労 働 者 労 務 管 理 機 構 の 役 職 員 の 報 酬 給 与 等 について Ⅰ 役 員 報 酬 等 について 1 役 員 報 酬 についての 基 本 方 針 に 関 する 事 項 1 平 成 25 年 度 における 役 員 報 酬 についての 業 績 反 映 のさせ 方 検 証 結 果 理 事 長 は 今 中 期 計 画 に 掲 げた 新 たな 要

More information

10 期 末 現 在 の 資 本 金 等 の 額 次 に 掲 げる 法 人 の 区 分 ごとに それぞれに 定 める 金 額 を 記 載 します 連 結 申 告 法 人 以 外 の 法 人 ( に 掲 げる 法 人 を 除 きます ) 法 第 292 条 第 1 項 第 4 号 の5イに 定 める

10 期 末 現 在 の 資 本 金 等 の 額 次 に 掲 げる 法 人 の 区 分 ごとに それぞれに 定 める 金 額 を 記 載 します 連 結 申 告 法 人 以 外 の 法 人 ( に 掲 げる 法 人 を 除 きます ) 法 第 292 条 第 1 項 第 4 号 の5イに 定 める 第 20 号 様 式 記 載 の 手 引 1 この 申 告 書 の 用 途 等 この 申 告 書 は 仮 決 算 に 基 づく 中 間 申 告 ( 連 結 法 人 以 外 の 法 人 が 行 う 中 間 申 告 に 限 ります ) 確 定 した 決 算 に 基 づく 確 定 申 告 及 びこれらに 係 る 修 正 申 告 をする 場 合 に 使 用 します この 申 告 書 は 事 務 所 又 は

More information

<4D6963726F736F667420576F7264202D2081698F4390B3816A91E6398D8681758A948EE58E91967B939995CF93AE8C768E5A8F9182C98AD682B782E989EF8C768AEE8F8082CC934B97708E77906A81762E646F63>

<4D6963726F736F667420576F7264202D2081698F4390B3816A91E6398D8681758A948EE58E91967B939995CF93AE8C768E5A8F9182C98AD682B782E989EF8C768AEE8F8082CC934B97708E77906A81762E646F63> 企 業 会 計 基 準 適 用 指 針 第 9 号 株 主 資 本 等 変 動 計 算 書 に 関 する 会 計 基 準 の 適 用 指 針 平 成 17 年 12 月 27 日 改 正 平 成 22 年 6 月 30 日 最 終 改 正 平 成 25 年 9 月 13 日 企 業 会 計 基 準 委 員 会 本 適 用 指 針 は 平 成 26 年 11 月 18 日 に 公 表 された 企 業

More information

スライド 1

スライド 1 平 成 28 年 度 市 県 民 税 の 計 算 方 法 ( 鳥 取 市 ) まず 計 算 の 全 体 の 流 れを 示 すと 以 下 のようになります 総 所 得 金 - 所 得 控 除 = ( 千 円 未 満 切 り 捨 て ) 課 税 標 準 所 得 割 の 税 率 6% 所 得 割 の 税 率 4% 算 出 調 整 税 控 均 等 割 所 得 割 - - + 控 除 除 = 算 出 調 整

More information

スライド 1

スライド 1 Android 版 目 視 録 運 用 操 作 マニュアル 作 成 2012/03/22 更 新 2014/09/26 目 視 録 とは 携 帯 またはパソコンで 施 工 写 真 を 登 録 確 認 できるシステムです ご 利 用 の 為 にはIDとパスワードが 必 要 です TEG ログインID ( ) パスワード ( ) https://teg.mokusiroku.com/

More information

< 目 次 > 8. 雇 用 保 険 高 年 齢 雇 用 継 続 給 付 27 ( 育 児 休 業 給 付 介 護 休 業 給 付 ) 8.1 高 年 齢 雇 用 継 続 給 付 画 面 のマイナンバー 設 定 27 8.2 高 年 齢 雇 用 継 続 給 付 の 電 子 申 請 28 8.3 高

< 目 次 > 8. 雇 用 保 険 高 年 齢 雇 用 継 続 給 付 27 ( 育 児 休 業 給 付 介 護 休 業 給 付 ) 8.1 高 年 齢 雇 用 継 続 給 付 画 面 のマイナンバー 設 定 27 8.2 高 年 齢 雇 用 継 続 給 付 の 電 子 申 請 28 8.3 高 雇 用 保 険 マイナンバー 改 定 向 け 操 作 説 明 書 < 目 次 > 1.マイナンバー 等 の 法 令 改 定 対 応 について 3 1.1 法 令 改 定 の 変 更 点 3 1.2 その 他 主 要 な 変 更 点 4 2.マイナンバー 管 理 システムとの 連 携 設 定 5 2.1 マイナ de 社 労 夢 の 運 用 設 定 5 2.2 マイナ de 社 労 夢 CL の 運

More information

4 承 認 コミュニティ 組 織 は 市 長 若 しくはその 委 任 を 受 けた 者 又 は 監 査 委 員 の 監 査 に 応 じなければ ならない ( 状 況 報 告 ) 第 7 条 承 認 コミュニティ 組 織 は 市 長 が 必 要 と 認 めるときは 交 付 金 事 業 の 遂 行 の

4 承 認 コミュニティ 組 織 は 市 長 若 しくはその 委 任 を 受 けた 者 又 は 監 査 委 員 の 監 査 に 応 じなければ ならない ( 状 況 報 告 ) 第 7 条 承 認 コミュニティ 組 織 は 市 長 が 必 要 と 認 めるときは 交 付 金 事 業 の 遂 行 の 地 域 づくり 一 括 交 付 金 の 交 付 に 関 する 要 綱 ( 趣 旨 ) 第 1 条 この 要 綱 は 川 西 市 地 域 分 権 の 推 進 に 関 する 条 例 ( 平 成 26 年 川 西 市 条 例 第 10 号 以 下 条 例 という ) 第 14 条 の 規 定 に 基 づく 地 域 づくり 一 括 交 付 金 ( 以 下 交 付 金 という )の 交 付 に 関 し 必 要

More information

2 科 学 研 究 費 助 成 事 業 のトップページ 画 面 が 表 示 されます [ 研 究 者 ログイン]をクリック します 掲 載 している 画 面 は 例 示 です 随 時 変 更 されます 3 科 研 費 電 子 申 請 システムの 応 募 者 ログイン 画 面 が 表 示 されます e

2 科 学 研 究 費 助 成 事 業 のトップページ 画 面 が 表 示 されます [ 研 究 者 ログイン]をクリック します 掲 載 している 画 面 は 例 示 です 随 時 変 更 されます 3 科 研 費 電 子 申 請 システムの 応 募 者 ログイン 画 面 が 表 示 されます e 2.2.1 科 研 費 電 子 申 請 システム( 交 付 申 請 手 続 き)へログイン 1 Web ブラウザを 起 動 し 日 本 学 術 振 興 会 の 電 子 申 請 のご 案 内 サイト (http://www-shinsei.jsps.go.jp/)を 表 示 し 科 学 研 究 費 助 成 事 業 をクリックします 8 2 科 学 研 究 費 助 成 事 業 のトップページ 画 面 が

More information

<4D6963726F736F667420576F7264202D203193FA8AD45F95CA8E86325F89898F4B315F94F093EF8AA98D90939994AD97DF914F82CC8FEE95F182CC8EFB8F57814589C28E8B89BB2E646F63>

<4D6963726F736F667420576F7264202D203193FA8AD45F95CA8E86325F89898F4B315F94F093EF8AA98D90939994AD97DF914F82CC8FEE95F182CC8EFB8F57814589C28E8B89BB2E646F63> 1.ログイン 方 法 1-1: 県 域 統 合 型 GIS 総 合 ポータルから 研 修 用 のユーザID 及 びパスワードを 入 力 後 ログインする 1-2:ログイン 後 マップ 編 集 を 選 択 します 1-3:マップ 一 覧 から 編 集 したいマップを 選 ぶ 今 回 の 場 合 1. 避 難 勧 告 等 発 令 までの 情 報 収 集 可 視 化 ( 班 ) を 選 択 する 1 2.

More information

積 載 せず かつ 燃 料 冷 却 水 及 び 潤 滑 油 の 全 量 を 搭 載 し 自 動 車 製 作 者 が 定 める 工 具 及 び 付 属 品 (スペアタイヤを 含 む )を 全 て 装 備 した 状 態 をいう この 場 合 に おいて 燃 料 の 全 量 を 搭 載 するとは 燃 料

積 載 せず かつ 燃 料 冷 却 水 及 び 潤 滑 油 の 全 量 を 搭 載 し 自 動 車 製 作 者 が 定 める 工 具 及 び 付 属 品 (スペアタイヤを 含 む )を 全 て 装 備 した 状 態 をいう この 場 合 に おいて 燃 料 の 全 量 を 搭 載 するとは 燃 料 別 添 72 後 退 灯 の 技 術 基 準 1. 適 用 範 囲 等 この 技 術 基 準 は 自 動 車 に 備 える 後 退 灯 に 適 用 する( 保 安 基 準 第 40 条 関 係 ) ただし 法 第 75 条 の2 第 1 項 の 規 定 によりその 型 式 について 指 定 を 受 けた 白 色 の 前 部 霧 灯 が 後 退 灯 として 取 付 けられている 自 動 車 にあっては

More information

注 記 事 項 (1) 当 四 半 期 連 結 累 計 期 間 における 重 要 な 子 会 社 の 異 動 : 無 (2) 四 半 期 連 結 財 務 諸 表 の 作 成 に 特 有 の 会 計 処 理 の 適 用 : 有 ( 注 ) 詳 細 は 添 付 資 料 4ページ 2.サマリー 情 報 (

注 記 事 項 (1) 当 四 半 期 連 結 累 計 期 間 における 重 要 な 子 会 社 の 異 動 : 無 (2) 四 半 期 連 結 財 務 諸 表 の 作 成 に 特 有 の 会 計 処 理 の 適 用 : 有 ( 注 ) 詳 細 は 添 付 資 料 4ページ 2.サマリー 情 報 ( 平 成 27 年 12 月 期 第 1 四 半 期 決 算 短 信 日 本 基 準 ( 連 結 ) 平 成 27 年 5 月 13 日 上 場 会 社 名 KLab 株 式 会 社 上 場 取 引 所 東 コ ー ド 番 号 3656 URL http://www.klab.com/jp/ 代 表 者 ( 役 職 名 ) 代 表 取 締 役 社 長 ( 氏 名 ) 真 田 哲 弥 問 合 せ 先 責

More information

https://www.online3.tdnet.info/onre/jsp/tdzz.download?uji.verb=

https://www.online3.tdnet.info/onre/jsp/tdzz.download?uji.verb= 平 成 21 年 3 月 期 平 成 20 年 7 月 31 日 上 場 会 社 名 松 井 建 設 株 式 会 社 上 場 取 引 所 東 コード 番 号 1810 URL http://www.matsui-ken.co.jp/ 代 表 者 ( 役 職 名 ) 取 締 役 社 長 ( 氏 名 ) 松 井 隆 弘 問 合 せ 先 責 任 者 ( 役 職 名 ) 管 理 本 部 経 理 部 長 (

More information

2 役 員 の 報 酬 等 の 支 給 状 況 平 成 27 年 度 年 間 報 酬 等 の 総 額 就 任 退 任 の 状 況 役 名 報 酬 ( 給 与 ) 賞 与 その 他 ( 内 容 ) 就 任 退 任 2,142 ( 地 域 手 当 ) 17,205 11,580 3,311 4 月 1

2 役 員 の 報 酬 等 の 支 給 状 況 平 成 27 年 度 年 間 報 酬 等 の 総 額 就 任 退 任 の 状 況 役 名 報 酬 ( 給 与 ) 賞 与 その 他 ( 内 容 ) 就 任 退 任 2,142 ( 地 域 手 当 ) 17,205 11,580 3,311 4 月 1 独 立 行 政 法 人 統 計 センター( 法 人 番 号 7011105002089)の 役 職 員 の 報 酬 給 与 等 について Ⅰ 役 員 報 酬 等 について 1 役 員 報 酬 についての 基 本 方 針 に 関 する 事 項 1 役 員 報 酬 の 支 給 水 準 の 設 定 についての 考 え 方 独 立 行 政 法 人 通 則 法 第 52 条 第 3 項 の 規 定 に 基 づき

More information

目 次 1. 積 算 内 訳 書 に 関 する 留 意 事 項 1 ページ 2. 積 算 内 訳 書 のダウンロード 3 ページ 3. 積 算 内 訳 書 の 作 成 (Excel 2003の 場 合 ) 6 ページ 4. 積 算 内 訳 書 の 作 成 (Excel 2007の 場 合 ) 13

目 次 1. 積 算 内 訳 書 に 関 する 留 意 事 項 1 ページ 2. 積 算 内 訳 書 のダウンロード 3 ページ 3. 積 算 内 訳 書 の 作 成 (Excel 2003の 場 合 ) 6 ページ 4. 積 算 内 訳 書 の 作 成 (Excel 2007の 場 合 ) 13 積 算 内 訳 書 の 作 成 マニュアル 平 成 26 年 1 形 県 県 整 備 部 建 設 企 画 課 目 次 1. 積 算 内 訳 書 に 関 する 留 意 事 項 1 ページ 2. 積 算 内 訳 書 のダウンロード 3 ページ 3. 積 算 内 訳 書 の 作 成 (Excel 2003の 場 合 ) 6 ページ 4. 積 算 内 訳 書 の 作 成 (Excel 2007の 場 合 )

More information

Microsoft Word - 佐野市生活排水処理構想(案).doc

Microsoft Word - 佐野市生活排水処理構想(案).doc 佐 野 市 生 活 排 水 処 理 構 想 ( 案 ) 平 成 27 年 12 月 佐 野 市 目 次 1. 生 活 排 水 処 理 構 想 について 1.1 生 活 排 水 処 理 構 想 とは P.1 1.2 生 活 排 水 処 理 施 設 の 種 類 P.1 2. 佐 野 市 の 現 状 と 課 題 2.1 整 備 状 況 P.2 2.2 主 な 汚 水 処 理 施 設 P.2 2.3 生 活

More information

<4D F736F F D208ED089EF95DB8CAF89C193FC8FF38BB CC8EC091D492B28DB88C8B89CA82C982C282A282C42E646F63>

<4D F736F F D208ED089EF95DB8CAF89C193FC8FF38BB CC8EC091D492B28DB88C8B89CA82C982C282A282C42E646F63> 社 会 保 険 加 入 状 況 等 の 実 態 調 査 結 果 平 成 27 年 6 月 18 日 一 般 社 団 法 人 日 本 電 設 工 業 協 会 社 会 保 険 加 入 状 況 等 の 実 態 調 査 結 果 について 1. 調 査 の 目 的 社 会 保 険 加 入 促 進 計 画 の 計 画 期 間 (H24 年 度 ~H28 年 度 までの5 年 間 )の 中 間 時 点 として 1

More information

(5) 人 権 侵 害, 差 別 又 は 名 誉 毀 損 となるもの, 又 はおそれがあるもの (6) 他 人 を 誹 謗 し, 中 傷 し, 又 は 排 斥 するもの (7) 投 機 心, 射 幸 心 をあおるもの, 又 はそのおそれがあるもの (8) 内 容 が 虚 偽 誇 大 であるなど 過

(5) 人 権 侵 害, 差 別 又 は 名 誉 毀 損 となるもの, 又 はおそれがあるもの (6) 他 人 を 誹 謗 し, 中 傷 し, 又 は 排 斥 するもの (7) 投 機 心, 射 幸 心 をあおるもの, 又 はそのおそれがあるもの (8) 内 容 が 虚 偽 誇 大 であるなど 過 公 益 財 団 法 人 福 岡 市 スポーツ 協 会 ホームページ 広 告 掲 載 取 扱 要 綱 ( 趣 旨 ) 第 1 条 この 要 綱 は, 公 益 財 団 法 人 福 岡 市 スポーツ 協 会 ( 以 下 協 会 という )ホー ムページに 掲 載 する 広 告 の 募 集 及 び 掲 載 に 関 して 必 要 な 事 項 を 定 める ( 広 告 の 規 格 等 ) 第 2 条 広 告 枠

More information

< 現 在 の 我 が 国 D&O 保 険 の 基 本 的 な 設 計 (イメージ)> < 一 般 的 な 補 償 の 範 囲 の 概 要 > 請 求 の 形 態 会 社 の 役 員 会 社 による 請 求 に 対 する 損 免 責 事 由 の 場 合 に 害 賠 償 請 求 は 補 償 されず(

< 現 在 の 我 が 国 D&O 保 険 の 基 本 的 な 設 計 (イメージ)> < 一 般 的 な 補 償 の 範 囲 の 概 要 > 請 求 の 形 態 会 社 の 役 員 会 社 による 請 求 に 対 する 損 免 責 事 由 の 場 合 に 害 賠 償 請 求 は 補 償 されず( 別 紙 2 会 社 役 員 賠 償 責 任 保 険 (D&O 保 険 )の 実 務 上 の 検 討 ポイント 第 1 会 社 役 員 賠 償 責 任 保 険 (D&O 保 険 )の 概 要 会 社 役 員 賠 償 責 任 保 険 ( 以 下 D&O 保 険 ) とは 保 険 契 約 者 である 会 社 と 保 険 者 である 保 険 会 社 の 契 約 により 被 保 険 者 とされている 役 員

More information

1 書 誌 作 成 機 能 (NACSIS-CAT)の 軽 量 化 合 理 化 電 子 情 報 資 源 への 適 切 な 対 応 のための 資 源 ( 人 的 資 源,システム 資 源, 経 費 を 含 む) の 確 保 のために, 書 誌 作 成 と 書 誌 管 理 作 業 の 軽 量 化 を 図

1 書 誌 作 成 機 能 (NACSIS-CAT)の 軽 量 化 合 理 化 電 子 情 報 資 源 への 適 切 な 対 応 のための 資 源 ( 人 的 資 源,システム 資 源, 経 費 を 含 む) の 確 保 のために, 書 誌 作 成 と 書 誌 管 理 作 業 の 軽 量 化 を 図 平 成 2 8 年 3 月 25 日 NACSIS-CAT 検 討 作 業 部 会 NACSIS-CAT/ILL の 軽 量 化 合 理 化 について( 基 本 方 針 )( 案 ) これからの 学 術 情 報 システム 構 築 検 討 委 員 会 ( 以 下, これから 委 員 会 ) は これか らの 学 術 情 報 システムの 在 り 方 について ( 平 成 27 年 5 月 29 日 )

More information

6-1 第 6 章 ストック オプション 会 計 設 例 1 基 本 的 処 理 Check! 1. 費 用 の 計 上 ( 1 年 度 ) 2. 費 用 の 計 上 ( 2 年 度 )- 権 利 不 確 定 による 失 効 見 積 数 の 変 動 - 3. 費 用 の 計 上 ( 3 年 度 )-

6-1 第 6 章 ストック オプション 会 計 設 例 1 基 本 的 処 理 Check! 1. 費 用 の 計 上 ( 1 年 度 ) 2. 費 用 の 計 上 ( 2 年 度 )- 権 利 不 確 定 による 失 効 見 積 数 の 変 動 - 3. 費 用 の 計 上 ( 3 年 度 )- テキスト 6-1 第 6 章 ストック オプション 会 計 設 例 1 基 本 的 処 理 Check! 1. 費 用 の 計 上 ( 1 年 度 ) 2. 費 用 の 計 上 ( 2 年 度 )- 権 利 不 確 定 による 失 効 見 積 数 の 変 動 - 3. 費 用 の 計 上 ( 3 年 度 )- 権 利 の 確 定 - 4. 権 利 行 使 ( 新 株 の 発 行 ) 5. 権 利 行

More information

2 県 公 立 高 校 の 合 格 者 は このように 決 まる (1) 選 抜 の 仕 組 み 選 抜 の 資 料 選 抜 の 資 料 は 主 に 下 記 の3つがあり 全 高 校 で 使 用 する 共 通 の ものと 高 校 ごとに 決 めるものとがあります 1 学 力 検 査 ( 国 語 数

2 県 公 立 高 校 の 合 格 者 は このように 決 まる (1) 選 抜 の 仕 組 み 選 抜 の 資 料 選 抜 の 資 料 は 主 に 下 記 の3つがあり 全 高 校 で 使 用 する 共 通 の ものと 高 校 ごとに 決 めるものとがあります 1 学 力 検 査 ( 国 語 数 2 県 公 立 高 校 の 合 格 者 は このように 決 まる (1) 選 抜 の 仕 組 み 選 抜 の 資 料 選 抜 の 資 料 は 主 に 下 記 の3つがあり 全 高 校 で 使 用 する 共 通 の ものと 高 校 ごとに 決 めるものとがあります 1 学 力 検 査 ( 国 語 数 学 社 会 理 科 英 語 の5 教 科 ) すべての 高 校 で 資 料 とする 2 調 査 書 (

More information

積 み 立 てた 剰 余 金 の 配 当 に 係 る 利 益 準 備 金 の 額 は 利 益 準 備 金 1 の 増 3 に 記 載 します ⑸ 平 成 22 年 10 月 1 日 以 後 に 適 格 合 併 に 該 当 しない 合 併 により 完 全 支 配 関 係 がある 被 合 併 法 人 か

積 み 立 てた 剰 余 金 の 配 当 に 係 る 利 益 準 備 金 の 額 は 利 益 準 備 金 1 の 増 3 に 記 載 します ⑸ 平 成 22 年 10 月 1 日 以 後 に 適 格 合 併 に 該 当 しない 合 併 により 完 全 支 配 関 係 がある 被 合 併 法 人 か 別 表 五 ( 一 ) 利 益 積 立 金 額 及 び 資 本 金 等 の 額 の 計 算 に 関 する 明 細 書 1 利 益 積 立 金 額 の 計 算 に 関 する 明 細 書 ⑴ この 明 細 書 の 用 途 この 明 細 書 は 法 第 2 条 第 18 号 及 び 令 第 9 条 (( 利 益 積 立 金 額 ))に 規 定 する 利 益 積 立 金 額 を 計 算 するために 使 用

More information

Microsoft PowerPoint - Econometrics-2013-04-1018.pptx

Microsoft PowerPoint - Econometrics-2013-04-1018.pptx 計 量 経 済 学 講 義 第 回 記 述 統 計 の 基 礎 Part 0 年 0 8 ( ) 限 担 当 教 員 : 唐 渡 広 志 研 究 室 : 経 済 学 研 究 棟 階 号 室 email: kkarato@eco.u-toyama.ac.jp website: http://www.u-toyama.ac.jp/kkarato/ 講 義 の 目 的 般 的 なデータの 集 約 法 や

More information

WEB版「新・相続対策マスター」(ご利用の手引き)

WEB版「新・相続対策マスター」(ご利用の手引き) WEB 版 新 相 続 対 策 マスター ご 利 用 の 手 引 き 株 式 会 社 シャフト MG-16-0412 はじめに WEB 版 新 相 続 対 策 マスター( 以 下 本 シミュレーション)をご 利 用 にあたり 下 記 についてあらかじめ 承 諾 をいただいた 上 で 本 シミュレーションを 利 用 いただくものとします 本 シミュレーションの 計 算 結 果 はあくまでも 概 算 です

More information

為 が 行 われるおそれがある 場 合 に 都 道 府 県 公 安 委 員 会 がその 指 定 暴 力 団 等 を 特 定 抗 争 指 定 暴 力 団 等 として 指 定 し その 所 属 する 指 定 暴 力 団 員 が 警 戒 区 域 内 において 暴 力 団 の 事 務 所 を 新 たに 設

為 が 行 われるおそれがある 場 合 に 都 道 府 県 公 安 委 員 会 がその 指 定 暴 力 団 等 を 特 定 抗 争 指 定 暴 力 団 等 として 指 定 し その 所 属 する 指 定 暴 力 団 員 が 警 戒 区 域 内 において 暴 力 団 の 事 務 所 を 新 たに 設 暴 力 団 員 による 不 当 な 行 為 の 防 止 等 に 関 する 法 律 の 一 部 を 改 正 する 法 律 暴 力 団 員 による 不 当 な 行 為 の 防 止 等 に 関 する 法 律 例 規 整 備 * 暴 力 団 員 による 不 当 な 行 為 の 防 止 等 に 関 する 法 律 の 一 部 を 改 正 する 法 律 例 規 整 備 公 布 年 月 日 番 号 平 成 24 年

More information

全設健発第     号

全設健発第     号 全 設 健 発 第 114 号 平 成 28 年 2 月 23 日 事 業 主 殿 全 国 設 計 事 務 所 健 康 保 険 組 合 理 事 長 石 井 純 公 印 省 略 健 康 保 険 法 の 改 正 の ご 案 内 等 に つ い て 時 下 益 々ご 清 栄 のこととお 慶 び 申 し 上 げます 当 健 康 保 険 組 合 の 運 営 につきましては 日 頃 よりご 協 力 いただき 厚

More information

1_2013BS(0414)

1_2013BS(0414) 貸 借 対 照 表 ( 平 成 26 年 3 月 31 日 現 在 ) 三 井 住 友 金 属 鉱 山 伸 銅 株 式 会 社 科 目 金 額 科 目 金 額 ( 資 産 の 部 ) ( 負 債 の 部 ) 流 動 資 産 25,869,002 流 動 負 債 9,707,274 現 金 及 び 預 金 987,167 買 掛 金 3,612,919 受 取 手 形 1,225,710 短 期 借

More information

1-1-2. 一 覧 表 ( 専 従 者 用 ) YES NOチャート( 専 従 月 額 単 価 用 ) (P.4)を 参 考 にしてください < 直 接 雇 用 者 > 一 覧 表 ( 専 従 者 用 )の 単 価 は 委 託 期 間 中 に 継 続 して 半 年 以 上 当 該 AMED 事 業

1-1-2. 一 覧 表 ( 専 従 者 用 ) YES NOチャート( 専 従 月 額 単 価 用 ) (P.4)を 参 考 にしてください < 直 接 雇 用 者 > 一 覧 表 ( 専 従 者 用 )の 単 価 は 委 託 期 間 中 に 継 続 して 半 年 以 上 当 該 AMED 事 業 について 別 紙 1-1. の 基 本 的 な 考 え 方 人 件 費 は 原 則 として 研 究 員 が 委 託 業 務 に 直 接 従 事 する 時 間 数 に 健 康 保 険 等 級 ( 健 保 等 級 ) 1 に 基 づく 表 の 単 価 を 乗 じて 算 出 します 研 究 員 の 区 分 に 基 づき 以 下 の2 種 類 の 一 覧 表 から を 決 定 してください 健 保 等 級

More information

年 支 給 開 始 年 齢 図 特 別 支 給 の 老 齢 厚 生 年 ( 給 料 比 例 部 分 ) 昭 和 29 年 10 月 1 日 生 まれ 以 前 ~ 特 別 支 給 の 退 職 共 済 年 老 齢 厚 生 年 昭 和 25 年 10 月 1 日 生 まれ 以 前 ~ 退 職 共 済 年

年 支 給 開 始 年 齢 図 特 別 支 給 の 老 齢 厚 生 年 ( 給 料 比 例 部 分 ) 昭 和 29 年 10 月 1 日 生 まれ 以 前 ~ 特 別 支 給 の 退 職 共 済 年 老 齢 厚 生 年 昭 和 25 年 10 月 1 日 生 まれ 以 前 ~ 退 職 共 済 年 年 1 年 制 度 の 概 要 1 厚 生 年 と 基 礎 年 の 種 類 組 合 員 又 は 組 合 員 であった 方 が 一 定 の 年 齢 に 達 したとき 病 気 やけがによって 障 害 の 状 態 になったとき 死 亡 したときなどに 給 付 され 組 合 員 又 は 組 合 員 であった 方 とその 家 族 の 生 活 の 安 定 を 図 ることを 目 的 としています 厚 生 年 (

More information

平成21年9月29日

平成21年9月29日 新 潟 県 介 護 職 員 処 遇 改 善 補 助 金 Q&A 平 成 22 年 4 月 新 潟 県 高 齢 福 祉 保 健 課 ( 問 1) 国 の 介 護 職 員 処 遇 改 善 交 付 金 事 業 実 施 要 領 では 交 付 金 とされているが 新 潟 県 介 護 職 員 処 遇 改 善 補 助 金 では 補 助 金 と 名 称 が 異 なる 理 由 はなにか また 承 認 申 請 書 等

More information

<6D313588EF8FE991E58A778D9191E5834B C8EAE DC58F4992F18F6F816A F990B32E786C73>

<6D313588EF8FE991E58A778D9191E5834B C8EAE DC58F4992F18F6F816A F990B32E786C73> 国 立 大 学 法 人 茨 城 大 学 の 役 職 員 の 報 酬 給 与 等 について Ⅰ 役 員 報 酬 等 について 1 役 員 報 酬 についての 基 本 方 針 に 関 する 事 項 1 平 成 24 年 度 における 役 員 報 酬 についての 業 績 反 映 のさせ 方 役 員 に 支 給 される 給 与 のうち 期 末 特 別 手 当 については 国 立 大 学 評 価 委 員 会

More information

Microsoft PowerPoint - 060821 22日修正最終確定.ppt

Microsoft PowerPoint - 060821 22日修正最終確定.ppt 工 賃 控 除 の 見 直 しについて 入 所 施 設 工 賃 4 万 円 以 下 の 場 合 )の 利 用 者 負 担 見 直 し 後 ) 約 4 万 円 までの 工 賃 について 定 率 負 担 をゼロとする 食 費 負 担 を 行 った 後 の 手 元 金 が 現 行 2.5 万 円 に 加 え 最 大 約 2.4 万 円 年 額 28.8 万 円 )まで 残 ることとなる 2 級 年 金 と

More information

住宅改修の手引き(初版)

住宅改修の手引き(初版) 目 次 1. 介 護 保 険 制 度 における 住 宅 改 修 費 支 給 制 度 について 1 2. 対 象 要 件 2 3. 支 給 限 度 基 準 額 3 4. 支 払 方 法 5. 手 続 きの 流 れ 6 7 6. 住 宅 改 修 の 種 類 13 7. 住 宅 改 修 費 が 支 給 できない 場 合 16 8. 現 地 確 認 について 16 参 考 資 料 住 宅 改 修 費 の 支

More information

<4D6963726F736F667420506F776572506F696E74202D2081694832302E36816A984A93AD8C5F96F1964082CC837C8343839383678140838A815B8374838C836283672E707074>

<4D6963726F736F667420506F776572506F696E74202D2081694832302E36816A984A93AD8C5F96F1964082CC837C8343839383678140838A815B8374838C836283672E707074> 労 働 契 約 法 のポイント 労 働 契 約 法 がスタート! ~ 平 成 20 年 3 月 施 行 ~ 就 業 形 態 が 多 様 化 し が 個 別 に 決 定 変 更 される ようになり 個 別 労 働 紛 争 が 増 えています この 紛 争 の 解 決 の 手 段 とし ては 裁 判 制 度 のほかに 平 成 13 年 から 個 別 労 働 紛 争 解 決 制 度 が 平 成 18 年

More information

2016 年 度 情 報 リテラシー 変 更 された 状 態 同 様 に 価 格 のセルを 書 式 設 定 する 場 合 は 金 額 のセルをすべて 選 択 し [ 書 式 ]のプルダウンメニューか ら[ 会 計 ]を 選 択 する すると が 追 加 され 金 額 としての 書 式 が 設 定 さ

2016 年 度 情 報 リテラシー 変 更 された 状 態 同 様 に 価 格 のセルを 書 式 設 定 する 場 合 は 金 額 のセルをすべて 選 択 し [ 書 式 ]のプルダウンメニューか ら[ 会 計 ]を 選 択 する すると が 追 加 され 金 額 としての 書 式 が 設 定 さ ( 第 11 回 )2016/06/27 表 計 算 を 利 用 した 集 計 作 業 この 回 では Excel を 用 いた 集 計 作 業 を 行 う 集 計 は 企 業 などで 事 実 を 記 録 したデータを 目 的 に 従 って 整 理 する 作 業 である Excel では 集 計 に 特 化 した 機 能 として テーブル ピポットテーブル という 機 能 がある 1. 課 題 の

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 1 履 修 履 歴 データベースの 仕 組 み 学 生 が 履 修 履 歴 を 登 録 して 企 業 へデータを 送 信 すると 企 業 担 当 者 が 履 修 履 歴 データを 見 られるようになります 不 特 定 の 企 業 に 履 修 履 歴 データが 閲 覧 されるわけではありません < 基 本 的 な 流 れ> A 社 データ ベース 応 募 企 業 へ データを 送 信 学 生 A 専

More information

(2) 非 破 綻 清 算 参 加 者 の 特 別 清 算 料 による 負 担 に 係 る 上 限 設 定 期 間 の 導 入 特 別 清 算 料 による 補 填 は 上 限 設 定 期 間 に 発 生 した 破 綻 について 最 初 の 破 綻 発 生 時 における 各 非 破 綻 清 算 参 加

(2) 非 破 綻 清 算 参 加 者 の 特 別 清 算 料 による 負 担 に 係 る 上 限 設 定 期 間 の 導 入 特 別 清 算 料 による 補 填 は 上 限 設 定 期 間 に 発 生 した 破 綻 について 最 初 の 破 綻 発 生 時 における 各 非 破 綻 清 算 参 加 CDS 取 引 の 清 算 業 務 に 係 る 損 失 補 償 制 度 等 の 見 直 しについて 平 成 24 年 6 月 11 日 株 式 会 社 日 本 証 券 クリアリング 機 構 Ⅰ. 趣 旨 CDS 取 引 の 清 算 制 度 においては 清 算 参 加 者 の 破 綻 に 伴 い 損 失 が 生 じた 場 合 破 綻 清 算 参 加 者 から 預 託 を 受 けた 担 保 等 によりその

More information

<485020208145944E8BE08F6D2082C682B5905690DD2E786C7378>

<485020208145944E8BE08F6D2082C682B5905690DD2E786C7378> < 年 金 塾 > (S28.4.2~ 生. 1/ ) S28.4.2 以 降 生 れ の 者 の 年 金 ( 老 齢 厚 生 年 金 の 繰 上 げ) H.. 課 題 < 繰 り 上 げ/ 繰 り 下 げ> 1.< 年 金 塾 資 料 24-1> 生 年 月 日 と65 歳 前 受 給 の 形 態 モデル 図 で 下 記 確 認 のこと S16.4.2 生 ~ 及 び S28.4.2 生 ~ (&S36.4.2

More information

目 次 1 報 酬 給 与 額 事 例 1 報 酬 給 与 額 に 含 める 賞 与 の 金 額 が 誤 っていた 事 例 1 事 例 2 役 員 退 職 金 ( 役 員 退 職 慰 労 金 )を 報 酬 給 与 額 として 申 告 して いなかった 事 例 1 事 例 3 持 株 奨 励 金 を

目 次 1 報 酬 給 与 額 事 例 1 報 酬 給 与 額 に 含 める 賞 与 の 金 額 が 誤 っていた 事 例 1 事 例 2 役 員 退 職 金 ( 役 員 退 職 慰 労 金 )を 報 酬 給 与 額 として 申 告 して いなかった 事 例 1 事 例 3 持 株 奨 励 金 を 外 形 標 準 課 税 に 関 する 申 告 誤 り 事 例 ( 調 査 で 判 明 した 事 例 ) 平 成 28 年 3 月 福 井 県 税 事 務 所 目 次 1 報 酬 給 与 額 事 例 1 報 酬 給 与 額 に 含 める 賞 与 の 金 額 が 誤 っていた 事 例 1 事 例 2 役 員 退 職 金 ( 役 員 退 職 慰 労 金 )を 報 酬 給 与 額 として 申 告 して いなかった

More information

No.7 アメリカ 合 衆 国 小 規 模 事 例 (そ4) 助 金 も 財 源 になっている しかし 小 規 模 事 業 体 では 連 邦 政 府 から 基 金 はもちろん 市 から 補 助 金 もまったくない が 実 状 である すなわち 給 人 口 が25 人 から100 人 規 模 小 規

No.7 アメリカ 合 衆 国 小 規 模 事 例 (そ4) 助 金 も 財 源 になっている しかし 小 規 模 事 業 体 では 連 邦 政 府 から 基 金 はもちろん 市 から 補 助 金 もまったくない が 実 状 である すなわち 給 人 口 が25 人 から100 人 規 模 小 規 以 下 11 月 号 (そ3) 続 き 7 2 3.アメリカ 合 衆 国 における 小 規 模 事 業 体 経 営 状 況 と 財 政 状 況 ( 続 ) 1) 小 規 模 事 業 体 財 源 EPAが 無 作 為 に 抽 出 した 小 規 模 事 業 体 に 対 する 公 営 及 び 事 業 体 オーナ 別 財 源 を 示 したが 表 51であ る それによると 給 人 口 が25 人 から100

More information