Logicool ロジクール M585MG

今となっては当たり前の事なんでしょうが、Bluetooth接続のマウス。
従来はワイヤレスだと必ずUSBのポートを使っていましたが、これ
は良い。

また接続も非常に早くストレスもありません。
デザインは微妙な商品ですが、機能は良いです。

 

 

だからこそデザインには拘って欲しかった(>_<)

でも長く愛用出来るのは間違い無いと思う。
マウスも日々進化している事を感じさせてくれます。
最近の車と同じで付加価値を標準装備とし売価を上げる。
以前見たいに物が売れる時代でも無いので正しい方向性なんでしょ
うね。

JAVAの復習

忙しくて自宅に戻れずパソコンを触れずにいたら、すっかり忘れました、JABA
Excelみたいに日々触って考えるなら抜けないが、少し触らないと抜けます。

本を開いても全く理解出来ませんね〜。
なので基礎的な構文から振り返りましょう。

これを完全に理解しないと何も出来ん。

エスケープシーケンス

  • ¥b・・・・・バックスペース
  • ¥・・・・・水平タブ
  • ¥n・・・・・改行
  • ¥f・・・・・改ページ
  • ¥r・・・・・復帰
  • ¥’・・・・・’
  • ¥”・・・・・”
  • ¥¥・・・・・¥
  • ¥000・・・・8進数000の文字コードを持つ文字(0は、0〜7の数字)
  • ¥uhhhh・・・16進数hhhhの文字コードを持つ文字(hは0〜9、A〜F)  

 

次は大事な型です。

 

  • boolean・・・trueまたはfalse
  • char・・・・・2バイト文字(¥u0000〜¥uffff)
  • byte・・・・・1バイト整数(-128〜127) 
  • short ・・・・・2バイト整数(-32768〜32767) 
  • int・・・・・・4バイト整数(-2147483648〜2147483647)
  • long・・・・・ 8バイト整数(-9223372036854775808〜9223372036854775807)float・・・・・4バイト単精度浮動小数点数 
  • double・・・・8バイト倍精度浮動小数点数

 

更に大事な演算子

  • + 加算(文字列連結)
  • - 減算
  • * 乗算
  • / 除算
  • %  剰余
  • + プラス(単項)
  • - マイナス(単項)
  • ^ ビット排他的論理和
  • << 左シフト
  • >> 右シフト
  • >>>符号無し右シフト
  • ++ インクリメント
  • – デクリメント
  • > より大きい
  • >= 以上
  • < 未満
  • <= 以下
  • == 等価
  • != 非等価
  • instanceof 型比較
  • !  論理否定(単項)
  • && 論理積
  • ||  論理和
  • ?:  条件
  • new オブジェクト生成

 

代入演算子

  • +=   加算代入
  • -=   減算代入
  • *=   乗算代入
  • /=   除算代入
  • %=   剰余代入
  • &=   論理積代入
  • |=   論理和代入
  • ^=   排他的論理和代入
  • <<=  左シフト代入
  • <<=  右シフト代入
  • >>>=  符号なし右シフト代入

 

補足で代入演算子は下の動き

①a += b;
②a = a + b;

で上記の計算結果は同じになり、a + bの結果をaに代入する。
これは最低限いつでも見直せる様にしよう。

JAVA if else文

前回は、if文だけなので基本、tureの時だけ処理をする状態でした。
どっかで見た事がある、elseの単語が出て来ました。

falseの場合の追加処理ですね。
これ自体は、組み合わせは複数可能との事。

if(res == 1){
System.out.println(“1が入力”);
}

else{
System.out.println(“1以外入力”);
}

上記は単一処理ですが、複数組み合わせの場合には、else if の組
み合わせになる。

 

if(res == 1){
System.out.println(“1が入力”);
}

else if(res == 2){
System.out.println(“2が入力”);
}

else{
System.out.println(“1か2の入力をする”);
}

 

上記だと、1以外入力だと、falseなので、下のelseの処理に流れます。
下の、elseは、整数の2を求めており、2と比較しfalseなら、次のel
seの処理になる。
これで無限に選択肢を与える事が出来るんだろうが、恐らく後にな
ったらそれを短縮する構文なんかあるんだろうな。

続けて読むと、switch文が出て来る。
流し読みすると、ifとの違いが良く理解出来ない。
switch文を使用すると、if~elseを簡単に記述出来るとある。

import java.io.*;
class sample13 { public static void main(String[] args) throws IOException
{
System.out.println(“整数を入力”);
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));

 

String str = br.readLine();
int res = Integer.parseInt(str);
switch(res){
case 1:

System.out.println(“1が入力”);
break;

case 2:
System.out.println(“2が入力”);
break;

default:
System.out.println(“1か2を入力”); break;
}
}
}

 

う〜ん。
やはりif~elseとの違いが理解出来ん。
これはもっと、switchを理解してからですな。
でも注意は、caseの後ろが、;では無く、:と言う所ですね。
defaultも、:になっており、この辺りは明らかに間違って下さいと言
う感じ。

でも条件分岐とかの考えは、本当に少しだけやった、vbaと似てる。
こんな感じで多言語が似ていたら、作る方も解らなくなるような気
がする。

JAVA if文

やっとif文ですが、最初から悩みました。
実行しても、予想している値が得られません。

何故?

絶対に間違っていないと言う自分の強い思い。
動作的には、if文の動きを果たしていません。

う〜ん

if(res == 5);

絶対に完璧です。
本来だと、5の数字がtrueになるので、
System.out.println(“5を入力したぞ!”);

で上記表示をされるはずが、何を入力しても表示されます。

成る程ですね。
コンパイルでもエラーが出ていないので記述自体間違っていないと
判断していましたが、if(res == 5); が間違っていましたね。

if文では、最後にjavaで必須の、「;」を付けてはいけないんですね。
コンパイルしてもエラーにならないとの事。

これはまたまたトラップですね(>_<)

JAVA 代入演算子

代入演算子

これは面白い動きですね〜。

+=   加算代入

-=   減算代入

*=   乗算代入

/=   除算代入

%=   剰余代入

&=     論理積代入

|=   論理和代入

^=    排他的論理和代入

<<=  左シフト代入

<<=  右シフト代入

>>>=  符号なし右シフト代入

正直、論理代入から何をするか想像もつかん。

動きとしては、

a = a + b;

これと

a += b ;

と同じ動きになるそうです。
この考えは、知らないだけかもしれないがExcelでは無かったと思う。
プログラムをややこしくする要因ですが、きっと効率が良くなるん
でしょうね。
でもこの代入演算子は馴染みが無く、面白い動きするなぁ、と関心
する。

 

 

 

import java.io.*;

class sample10
{

public static void main(String[] args) throws IOException

   {

   System.out.println(“整数を3つ入力して下さい”);
   BufferedReader br =
   new BufferedReader(new InputStreamReader(System.in));
   String str1 = br.readLine();
   String str2 = br.readLine();
   String str3 = br.readLine();

   int mun = 0;

   mun += Integer.parseInt(str1);
   mun += Integer.parseInt(str2);
   mun += Integer.parseInt(str3);
   System.out.println(“3つの整数の合計は” + mun + “です”);
   }
}

 

これだと、+= の動きが良く理解出来ます。
このロジックはExcelにはやはり無いと思う。

ついでにシフト演算子だが、例文を見ると理解は出来る。

簡単に言うと、桁をずらすだけです。
非常に難しくなるのは、十進数ではなくパソコンが一番理解しやす
い二進数と言う事が問題ですな。

素人には二進数での桁移動は結局、十進数でいくらなのか解らない。
もちろん二進数を見ただけで十進数に翻訳出来る人なら良いか、解
らんよ、これ。

5 << 2

5は、0000 0000 0000 0101

なので、2桁ほど左にずらすと言う意味なので、

0000 0000 0001 0100

これは解る。

けどこれが、20と言われても即座に計算出来ないし。

 

十進数だと簡単に理解できる。

5

50

500

この桁なら解るよ。

 

進めば進むほど険しい山だと認識します。