2019/11/21 晴れ

Windows10の更新

最近PCが重い。原因はたぶんWindows10の更新のせいだ。
1903にアップデート出来ず失敗を何回も繰り返している。
ネットで情報を漁っていろいろやってみたのだが解決せず。
もういい加減嫌になってきた。
再インストールした方が手っ取り早いのかな。ちょうど先日バージョン1909が発表されたらしいし。


株とか為替とか

昨日の株はアジア、欧州、米国いずれも軟調だった。
コモディティでは金(Gold)と銅は横ばい、原油は反発。
為替ではドル指数先物(DX)とドル円は横ばい、クロス円もまちまちで小動き。
米国債は中~長期がやや買われた(金利が低下)。

米国株は堅調だが金利の低下がじわじわと進んでいる。イールドカーブも徐々にフラット化してきており、一部はまた逆イールドになっている。Fedはしばらく利下げは停止すると言っているが、もう長いこと主導権を市場に奪われてしまっている。どうなるかはわからないが今後仮に市場金利が政策金利を無視して低下するようならそれに合わせて政策変更するだろう。また、先日はパウエル議長とトランプ大統領が会談している(下記はReutersの記事)。

www.reuters.com

会談の詳細は明らかではないが、トランプ大統領は「金利、マイナス金利、金融緩和、ドルの強さ、中国とEUとの貿易」について議論したことを明らかにしている。まあ、これまでの言動を考えれば大統領が何を「議論」したかは容易に想像がつく。
ただ、マイナス金利についてはFOMC内で否定的な意見が多い。また、マイナス金利導入には米国内の法律的な問題もあるらしい。今のところマイナス金利導入への地ならしと思われるような具体的な動きは知らないが、そのうち何かやるかもしれない。気を付けておこう。
あと、FOMCメンバーのブレイナード氏の記事があったので記録しておきたい。

・ラエル・ブレイナード(Lael Brainard)氏、理事

2019年11月20日(CNBCの記事)

www.cnbc.com

「我々はここの所の会合で金利に関してかなりの調整を行った」
「それが経済に影響を及ぼすにはある程度時間がかかり、経済の反応を監視し評価したいと考えている。」
「(貿易問題に関して)我々は保険をかけたが、解決を望む声はまだ聴かれる。大きな合意ではなくたとえ休戦であったとしても、ビジネスに関する不透明性を大きく減少させることだろう」

java学習記録 5回目

参考にさせていただいているサイト:https://nobuo-create.net/

今回やったこと:string、配列、for文

文字列を価とする変数を用いたい場合は型に「String」を宣言する。具体的には「String 変数名;」でOK。
これを用いると、第4回目で書いたプログラムは下記のようにも書くことができる。

public class Obesity{
public static void main(String args){
int BMI = 20;
String obesity = ""; //初期化しないとコンパイルエラーになるので注意
if(BMI<18.5){
obesity = "は低体重です";
}else if((BMI >= 18.5) && (BMI < 25)){
obesity = "は普通体重です";
}else if((BMI >= 25) && (BMI < 30)){
obesity = "は肥満1度です";
}else if((BMI >= 30) && (BMI < 35)){
obesity = "は肥満2度です";
}else if((BMI >= 35) && (BMI < 40)){
obesity = "は肥満3度です";
}else{
obesity = "は肥満4度です";
}
System.out.println("BMI" + BMI + obesity);

}
}

なお、プログラム中に書いた「//」はコメントアウトでありプログラムには影響しない。複数行の場合は「/*」と「*/」で囲む。

同じ変数型の複数の要素を持つ変数を配列という。
例えば整数型の配列を宣言する場合は「int 変数名;」、初期化は「変数名 = new int[要素数];」。初期化においては「new」をいれたことですべての要素に対し0が与えられる。なお、配列の要素を指定する場合は「変数名[通し番号]」で、通し番号は「0番目」から「(要素数-1)番目」の数字で指定する。つまり、要素は1番目ではなく0番目から始まるので注意。
各要素の値を指定する場合は「変数名[通し番号]=値」として個別に指定するか、又は「int 変数名 = new int{値1,値2,・・・,最後の値};」でも良い。後者の場合要素数は書いてはいけない。変数名から要素を取り出す場合も「変数名[通し番号]」でOK。
なお、配列は参照型変数であり、それ自身が持つのは参照値(価を入れた場所の番地のようなもの)であり値そのものではない。これに対し値そのものを持つ変数を基本データ型変数と呼ぶ。

同じ処理を繰り返して行いたい場合、for文を用いる。基本構文は下記の通り。

for( 初期設定 ; 実行条件 ; 継続処理 ){
ブロック
}

例えば処理を5回繰り返したいときは下記のように書く。

for( int i=0; i<5; i++ ){
ブロック
}

意味は「iの初期値は0で、iが5以下がTrueの場合ブロックが実行され、ブロックの中を実行した後でiがインクリメントされる(1増える;「i += 1」と同義)。iが5になった時点で処理が止まるのでブロックが5回実行されることになる。

for分を用いたプログラム例を下記に示す(1000000円を0.8%の利率で10年預金した場合の複利計算)。

public class compinterest{
public static void main(String[] args){
double deposit = 1000000; //最初の預金額
double interestrate = 0.8; //利率
for(int i=0; i< 10; i++){
deposit *= 1+interestrate/100;
}
System.out.println("10年後の預金残高= " + deposit + " 円");
}
}

なお、プログラム中の「double」は浮動小数点数のデータ型。
今回はここまで。