"劇場版 響け!ユーフォニアム~誓いのフィナーレ~" を見てきました。

"劇場版 響け!ユーフォニアム~誓いのフィナーレ~" を見てきました。

.
.
.
(ネタバレ回避のための改行)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

(下から本編、まあそもそもアニメにも音楽にもさほど詳しくないので薄い内容ですが)

久美子と秀一の距離が縮まりつつある描写から始まり、
それでも彼女の不器用さが故に、彼との距離感がよく分からず
困惑するばかりの久美子が微笑ましかったですね。

新入部員が大勢入ってきて昨年度よりも明らかに吹奏楽部が賑やかになったものの、
低温パートに加わった奏、求、美玲、さつきの4人は何とも癖が強く、
自分の対人関係スキルが不十分と考えている久美子は
4人で下校している最中、駅で「一年生めんどくさいなあ」と愚痴をこぼします。

そんな風でありながらも、吹奏楽に真剣に取り組んでいる久美子は
始めは仕方がないから引き受けていた相談役というポジションを
積極的に受け入れこそしないものの、徐々に腰を軽くしていきました。
成長を見せる久美子から精神的な活力を分け与えてもらえたような感覚です。

 

奏が心に抱えていた闇を久美子が浄化するシーンは圧巻です。
年上よりも技能が優れていたが故に発生した事件により
奏は周りに配慮していると過剰にアピールするような
行動パターンに変えてしまいました。

オーディションの際にも自らの行動原理にしたがった奏は夏紀先輩の逆鱗に触れてしまいます。
そこから自らの考えを打ち明け、それでも彼女の演奏を磨く努力を認めた久美子と
夏紀先輩に救われる様を見ていると、現世では決して味わうことのできないであろう
カタルシスを感じられました、彼女にも救いが齎されて心の底から喜びを覚えます。

全国大会での"リズと青い鳥"の演奏はやはり劇場の素晴らしい音響で聞いてこそです。
小説版を読んで予習しておいたのでストーリーだけは知っていましたが
曲自体は一度も聞いたことがなかったため、それによってこの映画での演奏を
最も新鮮な気持ちで味わえた私はこの上なく幸運でした。

みぞれと希美による、オーボエとフルートのソロという形で象徴された
二人の掛け合いは、私の胸を大いに打ちました。
共に生きていきたいけれど、お互いがもう一人の幸せを心の底から望んでいる。
望んでいるからこそ、愛故に別れという決断を選択する。
二人の愛情の深さを何よりも美しい音色で表現した素晴らしい演奏でした。

最後のシーンでは部長になった久美子が映りましたが、原作もまだ続くんですかね?
もし続くのであれば、是非とも追いたいものです。


総括として、やはりこの映画を劇場で見るという選択をしたのは大正解でした。
現在ではAmazonPrimeやNetflixなどでいつでもどこでも見られはしますが、
吹奏楽に真剣に取り組む高校生たちの物語という設定上、
劇場の上質な音響で楽しんでこそ、最高の状態で味わえるものでしょう。
確かに昨今のオンラインサービスの月額料金と比較すれば、
入場料は割に合わないと感じられるものではあります。
しかし、良い響きの状態でこの作品を味わうためだけでも払う価値は十分にあります。

小説版からは削られた、あるいはタイミングの差し替えられたイベントもありますが、
二時間という短い間でしか表現できないため、まあ映画はそういうものだとして
考えるのが合理的でしょう。エッセンスのみを集約したバージョンだと考えるべきですね。

(求が緑の弟子になるまでのエピソードがバッサリ落とされているし、
美玲が精神的に追い詰められ、抱えていたものを久美子に吐露するシーンの
タイミングが違っているし、そもそも夢や梨々花あたりの新入部員が描かれていない、など)

そういうわけですから、小説版も是非購入して、読みましょう!

最後に、”響け!ユーフォニアム”は神アニメだということをもう一度。
「最近のアニメはメインカルチャーになったため粗製乱造がはなはだしい。
見る価値のない作品ばかり現れている。」といったことばかり考えている
老害と化した私が勧めるような神アニメです。是非見ましょう!
小説版も買って読みましょう!絶対です!

Javaでpackageを使うとclassを実行できない現象およびその解決策

例:以下の"Calc.java"および"CalcLogic.java"

 

f:id:JunKobayashi:20190217042513p:plain

Calc.java

f:id:JunKobayashi:20190217042608p:plain

CalcLogic.java



 

これらを通常のコマンドで実行しようとするとエラーが発生

f:id:JunKobayashi:20190217020031p:plain

エラーメッセージ

 

"Calc.java"の1行目でpackageを使っているため正確なクラス名は

calcapp.main.Calcになる。

 

エラー解決策:以下のコマンドで実行

f:id:JunKobayashi:20190217042718p:plain

実行成功画面(64bit Windows 10)

 

javac -d . Calc.java CalcLogic.java:カレントディレクトリ直下に(クラスパスを指定している場合は指定されたディレクトリ直下に)パッケージ名と同名のディレクトリを生成、およびそこにclassファイル格納

 

実行する際は正確なクラス名を使った以下のコマンドを使用

java calcapp.main.Calc

Java 開発基礎事項メモ(配列補足・多次元配列)

f:id:JunKobayashi:20190212013543p:plain

Array2.javaソースコード

 

f:id:JunKobayashi:20190212013634p:plain

Array2.javaの実行結果

(1024が出力される理由)

  • y_array = x_array; により、配列変数y_arrayに、配列変数x_arrayに与えられた配列の実体(要素の集合)の先頭要素のアドレスが代入される
  • これにより、y_arrayはx_arrayと同じ実体を参照する
  • y_array[0] = 1024; によりy_arrayが参照する実体(x_arrayのそれに同じ)の先頭のアドレスにあるデータに1024が代入される

 

f:id:JunKobayashi:20190212015018p:plain

x_arrayの参照する実体の先頭アドレス5678が配列変数y_arrayにもコピーされ同じ配列実体を参照

 

f:id:JunKobayashi:20190212015659p:plain

サンプルコード

f:id:JunKobayashi:20190212015733p:plain

サンプルコード実行結果

5行目の

    x_array = null;

により配列変数x_arrayにnullが代入され、x_arrayはメモリ上のどの領域も参照しなくなるため、6行目の出力命令実行は不可能

 

f:id:JunKobayashi:20190212020345p:plain

2次元配列サンプルコード

f:id:JunKobayashi:20190212020425p:plain

2次元配列サンプルコード実行結果

3行目

    int _array = new int [2][3];

により、2行3列(縦2横3)のint型配列宣言

(正しくは要素数3のint型配列2つをその要素とする配列の宣言)

 

f:id:JunKobayashi:20190212022117p:plain

2次元配列の参照概念図

 

 

Java 開発基礎事項メモ(配列)

int x_array; // int型データを格納する配列x_arrayの宣言

 

x_array = new int [5]; // int型データの要素を5個作り配列変数x_arrayに代入

 

/* int x_array = new int [5]; と書けば上の2行と同じ*/

 /* intなどの数値を格納する型の配列は宣言されると各要素が0で初期化*/

 /* boolean型の配列は宣言されると各要素がfalseで初期化*/

 /* String型の配列は宣言されると各要素がnullで初期化*/

int x_array_length = x_array.length; // 配列x_arrayの要素数を取得(この場合は5)

 

f:id:JunKobayashi:20190212011335p:plain

サンプルコード

f:id:JunKobayashi:20190212011418p:plain

サンプルコード実行結果

 

int x_array1 = new int { 2, 3, 5, 7, 11 }; // 要素数5のint型配列x_array1の宣言および初期化

int [] x_array2 = { 13, 17, 19, 23, 29 } // 要素数5のint型配列x_array2の宣言および初期化

 

for (int i = 0; i < x_array1.length; i++){

    System.out.println("x_array1[" + i + "] = " + x_array1[i]);

}

/*通常for文。x_array1の全5要素を改行つき出力*/

 

for (int x_array2_output : x_array2){

    System.out.println(x_array2_output);

}

/*拡張for文。x_array2_outputに毎ループで1つずつx_array2の要素が入る*/

 

f:id:JunKobayashi:20190212012858p:plain

サンプルコード2

f:id:JunKobayashi:20190212012930p:plain

サンプルコード2実行結果

 

Java 開発基礎事項メモ(文字列連結・文字列→整数値)

実行させる命令

 

int x_int = 5;

String Str_test = "Number" + x_int + ',' + " John Smith";

System.out.println(Str_test);

 

Str_test: "Number", x_int, ',', " John Smith" の4つをこの順に連結させた文字列

 

f:id:JunKobayashi:20190209052322p:plain

実行結果

 

実行させる命令

 

String xString = new java.util.Scanner(System.in).nextLine();

int x = Integer.parseInt(xString);

System.out.println("x = " + (x));

 

x は文字列である xString を整数値データとして受け取る

 

f:id:JunKobayashi:20190209054206p:plain

実行結果

 

Java 開発基礎事項メモ(入力・擬似乱数・Max)

ファイル名:"Random.java"

 

public class Random {

public static void main(String[] args){

int r = new java.util.Random().nextInt(100);

System.out.print("Input an integer: ");

int num_input = new java.util.Scanner(System.in).nextInt();

System.out.println("RN = " + (r) + ", bigger one = " + (Math.max(r, num_input)));

System.out.print("Input an any String: );

String Str_input = new java.util.Scanner(System.in).nextLine();

System.out.println("Inputted String = " + (Str_input));

}

}

 

  • System.out.print(Str_out): Str_out を出力(末尾改行文字無し)
  • new java.util.Random().nextInt(M): [0, M - 1] の範囲における整数値乱数を取得
  • Math.max(x, y): 2つの数値 x, y のうち大きい方を取得
  • new java.util.Scanner(System.in).nextInt(): 1つの整数を入力より受け取る
  • new java.util.Scanner(System.in).nextLine(): 1つの文字列を入力より受け取る

 

f:id:JunKobayashi:20190209045921p:plain

Random.java の実行結果

 

Java 開発基礎事項メモ(行の出力)

ファイル名:"DoubleCalculation.java"

 

public class DoubleCalculation {

public static void main(String[] args) {

double pi = 3.14;

int r = 2;

System.out.println("Radius of the circle: " + (r));

System.out.println("Square of the circle: " + (r * r * pi));

}

}

 

System.out.println("boo" + (foo)); を使うことにより

boo と foo を連結させた文字列を出力(末尾の改行文字も含む)

  

f:id:JunKobayashi:20190209035933p:plain

"DoubleCalculation.java" の実行結果

 

おまけ:ブログでインデントを良い感じに表示するにはHTML表記にて

    以下のオプションを使用(赤字部分を任意の数値に書き換える)

<p style="margin-left: 2em">(Any String)</p>