2018年04月06日

師匠のJava道場~第8回・キャストについて学ぶのじゃ!

師匠T:さて、それじゃ行くとしようぞ。弟子よ、心の準備はよいか?

弟子D:すやすや……

師匠T:なんじゃ、居眠りしておるのか。仕方ないのう。

弟子D:ぐぅぐぅ……師匠の老いぼれじじい……。

師匠T:……はぁっ!!(弟子に飛び蹴り

弟子D:うわぁ、師匠、何をなさるんです。

師匠T:やかましい。それでは今月も、Java道場を始めるとするぞ!

▽まず、キャストとはなんぞや?▽

師匠T:さて。今回は、キャストについて話すとするぞ。

弟子D:はい、師匠! さっそくですが、キャストとはなんぞや。

師匠T:うむ。例えば、int型をlong型、float型をdouble型というように、ある値を、別の型に変換することじゃ。このキャストには、二種類ある。プログラマが、プログラム中でコードを書いて自分で行うものと、Javaが勝手に変換してくれるものじゃ。一般的にキャストというと、前者のことを指すことが多い。

弟子D:ふむふむ。それで師匠。キャストはどの型からも、そしてどの型へも、自由にできるのでしょうか?

師匠T:おぉ、それは良い質問じゃな。居眠りしておったからか、頭がいつもよりさえているようじゃの。
 こほん。うむ、自由というわけにはいかぬ。型によって、できるキャストが決められておるのじゃ。次の通り。

・Boolean(ラッパークラス:Boolean)→キャスト不可能
・char(ラッパークラス:Character)→int、long、float、double
・byte(ラッパークラス:Byte)→short、int、long、float、double
・short(ラッパークラス:Short)→int、long、float、double
・int(ラッパークラス:Integer)→long、float、double
・long(ラッパークラス:Long)→float、double
・float(ラッパークラス:Float)→double
・double(ラッパークラス:Double)→キャスト不可能

弟子D:基本的に、上位の型(intならlongというように)へのキャストはできるんですが、下位にはできないんですね。それで師匠、ラッパークラスとはなんぞや?

師匠T:うむ。それは簡単に言ってしまえば、その型をより便利に使うために必要なクラスのことじゃ。例えば、int型のラッパークラスであるIntegerクラスなら、数値を文字列にしてくれるtoStringや、逆に文字列を数値に変換してくれるparseIntなどの、便利なメソッドが用意されておる。

弟子D:なるほど。

師匠T:さて、Javaが自動的にやってくれるキャストについてじゃが、これは変数に代入したり、計算を行うときに、Javaがその結果などを、適切な型に変換してくれる。

弟子D:それは便利ですね。

師匠T:うむ。じゃが、Javaに任せっきりにすると、思わぬエラーが出てくる可能性もあるから、なるべく必要なところでは、自分でキャストを行うのがいいじゃろう。

弟子D:はい、師匠!

▽キャストのやり方じゃ!(その1)▽

師匠T:ではいよいよ、キャストのやり方を伝授するとしようぞ。まずは、intやlongなどの基本型同士のキャストについてじゃ。これは、変数や値などの前に、( )で目的の型を囲んでやればいい。こんな感じじゃな。

(例)
double a = (double)b;

弟子D:ふむふむ。

師匠T:そして次は、数値の基本型(intやlongなど)とString型の変換についてじゃ。これは、先ほどのやり方ではキャストすることはできぬ。

弟子D:String型は、String型のインスタンス……つまり、オブジェクトですから、当たり前といえば当たり前ですね。では、どうするのですか?

師匠T:うむ。まず、String型を、基本型にキャストする場合じゃが、こちらは、目的とする基本型のラッパークラスに備えられておる、parse〇〇〇メソッドを使う。

(例)
int c = Integer.parseInt(d);

師匠T:逆に、基本型をString型にキャストする場合は、Stringクラスに備え付けられているvalueOfメソッドを使う。こんな感じじゃな。

(例)
String e = String.valueOf(f);

弟子D:なるほど!

▽キャストのやり方じゃ!(その2)▽

師匠T:さて、次はboolean型と、String型をキャストする方法じゃ。これも、通常の方法ではキャストすることはできぬ。これの場合も、基本型をString型にキャストするのと同じように、変換先の型のラッパークラスにあるvalueOfメソッドを使って変換する。
 なお、booleanをStringに変換した場合、結果はtrueまたはfalseという文字列になる。

(例)
boolean g = String.valueOf(h);
String i = Boolean.valueOf(j);

師匠T:そして次。intとBigDecimalの変換についてじゃ。

弟子D:あの師匠。BigDecimalとはなんぞや?

師匠T:うむ。これは、変更不可能な、任意の精度の符号付き10進数を扱う特別な型じゃ。オーバーフローしたり、精度を失うことなく、さまざまな計算ができるので、通貨の計算に適しておる。

弟子D:なるほど!

師匠T:それだけでなく、小数点以下の値を丸めるのにも便利じゃぞ。
 さて、基本型からBigDecimalにキャストする場合は、BigDecimalクラスにあるvalueOfメソッドを使って変換する

(例)
BigDecimal k = BigDecimal.valueOf(l);

師匠T:一方、BigDecimal型から基本型に変換する場合は、『変換元であるBigDecimal型変数の』〇〇〇Valueメソッドを使う。

(例)
int m = n.intValue();

師匠T:そして、StringとBigDecimalをそれぞれ変換する場合じゃが、まずはBigDecimalからStringに変換する方法。これは簡単じゃ。変換元変数のtoStringメソッドを使う。

(例)
String o = p.toString();

師匠T:そして、String型からBigDecimalに変換する場合じゃが、これはちと厄介じゃ。引数に、変換元のString型を渡したうえで、BigDecimalのインスタンスを作る必要がある。こんな感じじゃ。

(例)
BigDecimal q = new BigDecimal(r);

弟子D:なるほど、なんとかわかりました、師匠!

▽キャストのやり方じゃ!(その3)▽

師匠T:次は、Object型と基本型との変換についてじゃ。なお、基本型はまたの名を、プリミティブ型と呼ばれることもある。覚えておくがよい。
 さて、Object型というのは、あらゆるクラスの親に当たる。全てのクラスは、スーパークラス(親となるクラス)として、これを持っておる。

弟子D:ふむふむ。

師匠T:さて、基本型は、Object型の変数にそのまま入れることはできぬ。その型のラッパークラスのインスタンスを作り、それをObject型変数に代入する必要がある。

(例)
Object s = new Integer(t);

師匠T:そして、逆にObject型を基本型に変換する場合は、変換先の型のラッパークラスにある、〇〇Valueメソッドを使うのじゃ。

(例)
int u = new Integer(v).intValue();

弟子D:ふむふむ。

師匠T:そしてラスト。Object型とString型についてじゃが、これは変換することなく、そのまま代入することができる。じゃが、Object型をString型の変数に入れる場合は、toStringメソッドで、String型に変換してやる必要があるので注意するのじゃ。

(例)
String aa = bb.toString();
Object cc = dd;

弟子D:String型を、Object型に入れる場合は、そのまま入れればいいんですね。

師匠T:うむ。さて、今回はこれまで。次回は、再びクラスについての話に戻る。クラスの拡張について説明するぞ。復習、予習をしっかりしておくがよい。

弟子D:はい、師匠!

師匠T:ふぅ、さすがに疲れたのう。

弟子D:師匠も、もう歳……

師匠T:はぁっ!!(弟子に飛び蹴り)

※次回の更新は、4月9日。『パソレクのなく頃に』の予定です。お楽しみに!
posted by 裏編 at 09:02| 師匠のJava道場 | 更新情報をチェックする

2018年04月02日

パソコン教室体験記

~一念発起
 数年前、裏編は一念発起して、ハローワークのパソコン教室(?)に通っていました。職業訓練でやってるものです。
 そこでPCスキルにさらに磨きをかけてきたのですが、今月の特集では、その職業訓練のパソコン教室の体験記を紹介しようと思います。

~そもそも
 さて、まずは、今回受けてきたパソコン教室がどのようなものかについて紹介しましょう。
 今回受けてきたのは、基金訓練と呼ばれるもので、専修・各種学校、教育訓練企業、NPO法人、社会福祉法人、事業主などが、厚生労働省所管の組織・中央職業能力開発協会からの認定を受けて行う職業訓練なのです。 そう、あの厚労省がかかわっているすごい訓練なのです!
 でもそれだけあって、運営はかなり厳しいようで、初日にもらったパンフや、先生の説明などでも、その協会からお偉いさんが、訓練を視察に来るということも言ってました。

~座学
 さて、裏編が受けた訓練なのですが、最初のころには、パソコンの基礎についての座学がありました。
 そこでは、学校のように、テキストを順番に読んだりしました。まさに学生時代の風景です。
 裏編に回ってきたときは、ちょっと恥ずかしかったですね///

~実習
 さて、午後(後半からは午前も)からは、パソコンを使った実習に入ります。
 実習で使ったPCはノートパソコンでした。しかもマウスは赤外線による、ワイヤレスタイプ!
 実習でやったのはWordやExcelがメイン。最初はテキストにある通りに実習していきましたが、後半になってテキストが終わると、今度は実戦ということで、問題集にある、オフィス文書を作っていく実習にシフトしていきました。
 下が、その実習で作ったオフィス文書の一つです。(個人名や会社名、商品名などは、すべて架空のものです。 練習問題なので)

tk1804-01.JPG

 他にも変わった実習として、自分の家から、その訓練をやっている場所までの地図を作る、というのもありました。 以下が裏編の作ったものです。 とてもシンプルですが 苦笑

tk1804-02.jpg

~卒業制作
 さて、WordやExcelだけでなく、訓練ではPowerPointの実習もしました。卒業制作では、テーマを決めて、PowerPointを使ってプレゼンテーションを作るってことをしました。前回の訓練では、みんな一緒のテーマで作ったそうですが、今回の卒業制作からは、そのようにしたのだとか。
 最後の実習では、そのプレゼンテーションの発表会をしたのですが、みんな、自分の趣味や仕事や旅行の様子などをプレゼンテーションにまとめて発表していて、とても楽しかったです。

~資格試験
 訓練では、MOSではありませんが、WordやExcelの資格試験を受験することもありました。前回の訓練のときも企画はされたそうですが、受験者が集まらなかったために実際には行われなかったそうです。
 もちろん裏編も受験して……見事に合格しました! 受けたときは、はたして合格するかどうか心配でしたが。よかったよかった(>_<

~さて、受講するには
 さて、受講するには、まず資格があります。
 職業訓練なので、ハローワークで求職登録をしていることが必要です。また、そのほかに次の条件もあります。

1.雇用保険被保険者や雇用保険受給資格者でないこと
2.労働の意思と能力があること
3.職業訓練などの支援を行う必要があるとハローワークが認めたこと

 さて、受講するときは、まずハロワに行って申し込み書類を受け取ります。そして書類に必要事項を書いて、再び提出。
 この後、場合によっては面接や筆記試験などの選考があります。
 それで合格すると、職業訓練をおこなうところから、選考結果通知書という書類が届きますので、これをハローワークに持っていきます。

 このほかに、もし『訓練・生活支援給付金』をもらうことも考えている場合には、次の条件が必要となります。(詳しいことは、ハローワークにて相談してみてください。

1.本人収入が月8万円以下
2.世帯全体の収入が月25万円以下
3.世帯全体の金融資産が300万円以下
4.現在住んでいるところ以外に土地・建物を所有していない
5.全ての訓練実施日に出席している
(やむを得ない理由がある場合でも、支給単位期間ごとに8割以上の出席率がある)
6.世帯の中に同時にこの給付金を受給して訓練を受けている人がいない
7.過去3年以内に、偽りその他不正の行為により、特定の給付金の支給を受けたことがない

 さて、これらの条件を満たしていて、給付金をもらう場合には、まず給付金を申請するための書類をもらい、必要なことを書いてハローワークに提出します。

 また、これらの他にも、身分証明や預金通帳など、自分で用意するべき書類もあります。これらについては、ハローワークにてご確認ください。

 また、受給することになった場合、厳しい出席条件と、毎月に支給申請書と委任状/誓約書を提出する必要があります。

~最後に
 三か月間だったですが、とても楽しかったです。 やっぱり最後のほうになると、どんどん名残惜しい気持ちになってきますね。 学校の卒業式のような。
 でも、この訓練のおかげで、WordやExcelに自信が持てるようになりましたし、とてもよかったです。

※詳しい条件や必要書類などは、ハローワークに問い合わせてみるといいでしょう。
※次の更新は、4月5日、『師匠のJava道場』の予定です。お楽しみに!

posted by 裏編 at 10:09| 特集 | 更新情報をチェックする