2021-12-09(木)5週目4日目


com.eomcs.lang.ex05


com.eomcs.lang.ex05.Exam0610.java
増減演算子:接尾辞(post-fix)増分演算子

プリアンブル演算子(+、-、+、--)


int a = 100;
++a; ←コンパイル時変換
Cでプログラムを作って、結局はやはり機械の言語です
C++
Python
Java
CまたはC+、PythonまたはJava
Cの文法はC++にありません
JavaにC++の構文はありません
コンパイルするとユニークになり、
最終的に機械語になる
プログラミング言語構文フィーチャー
最終的にマシンにコンパイル
機械の言語は同じだ
もちろんjavaにはバイトコードがあります.
コンパイル前のコマンド
++a;
a = a + 1;
a? => 101
  a  =  a + 1;
  ↓       ↓
메모리    값
代入演算子(代入演算子、割付演算子、代入演算子)
左の値、右の値
注意!
常にr-valueがすべて実行された後、最後に=演算子が実行されます.

接尾辞演算子(+、--)

int a = 100;
a++;
---------------
int temp = a;
a = a + 1;
a? => 101
まず一時変数が生成されます.
一時変数にa値を格納します.
次に、既存のa値を1に増やします.
int a = 100;
a--;
--------------
int temp = a;
a = a - 1;
a? => 99
単独で使用する場合は電位演算子とあまり変わらない
割り当て演算子と一緒に使用するか、一部の文で使用する場合はまったく異なります.
一時変数tempはいつ使いますか?
int a = 100;
int b;
b = ++a;
-------------    
a = a + 1;
b = a;
a? 101
b? 101
int a = 100;
int b;
b = a++;
--------------     
int temp = a;
a = a + 1;
b = temp;

a? 101
b? 100
今からa値を入れて←これは話にならない!
最後に演算子を割り当てる
一時変数に格納された値をbに格納する.
630番
int i = 7;
int j = i++;
System.out.println(j); // 7
System.out.println(i); // 8
----------------------------
int temp = i;
i = i + 1;
int j = temp;
int a = 100;
a = a++;
System.out.println(a); // 100
------------------------------
int temp = a; 
a = a + 1; 
a = temp; 

// a는 101에서 100으로 다시 바뀌었다.
↑631号参考
lang.ex05.Exam0610.java
int i = 100;
System.out.println(i++);
① i++
② println
メソッド呼び出しの前に、パラメータを使用して指定した式を実行します.
上のコードはコンパイル時に次のコードに変換されます.
int temp = i;
i = i + 1;
System.out.println(temp);
実行順序の表示
640番
lang.ex05.Exam0640.java
int i = 2;
int result = i++ + i++ * i++;
接尾辞演算子の優先度が乗算より高い
乗算演算子は最初に実行されません.
前から順に接尾辞演算子を実行します.
乗算と加算の実行
pre-fix演算子またはpost-fix演算子は文字に適用できません.
変数のみ!
プリアンブル演算子とポストガイド演算子を同時に適用することはできません.
610 ~ 710

com.eomcs.lang.ex99


com.eomcs.lang.ex99.Exam0110.javaSystem.out.print('\n'); System.out.printf("안녕하세요! %s입니다.\n");→エラーSystem.out.printf("%d %x %c %b\n", 65, 65, 65, true);65 41 A true
出力時に0 xを付加しない
文字コードと呼ばないSystem.out.printf("%d %x %c %b\n", 65, 65, 65, false);falseのみfalse
残りはtrue
trueとfalseを安全に入力System.out.printf("%d %x %c\n", 65);→エラーSystem.out.printf("%d %1$x %1$c\n", 65); System.out.printf("%3$d %1$x %2$c\n", 65, 66, 67);+数字の前に記号を付けます.
特定の条件を満たすときに実行される
if (age >= 19);//ドアに空の文を置いてもいいです.
エディタへの自動インデント
if無条件大かっこ使用
boolean b;
if (b = true) System.out.println("된다!");
Java google style guideの検索
https://google.github.io/styleguide/javaguide.html

何の文もなくても括弧を書く
1つの文に括弧を使う

インデント2
com.eomcs.lang.ex06.Exam0150.java
elseは最近のifに属します.
書かれて騙されないで!

キーボード入力の操作


com.eomcs.lang.ex99.Exam0210.java
キーボード入力を受信-システム.inとjava.util.Scannerjava.io.InputStream keyboard = System.in;キーボードを指します.

read() : int
戻りタイプint
実際に戻ったのは1 byte
read(byte[] b) : int
バイト配列を与えると、バイト配列が大量に読み出されます
InputStreamはバイト単位で読み取る機能があります.
intまたは文字列にバイト単位で読み出して変換する場合は、符号化も必要です.
キーボードにスキャナーを取り付けます.System.in
方法はさっきより多い
nextByte()
nextDouble()
nextFloat()
nextInt()

すべて存在
ユーザーが入力した文字列
文字列を対応するタイプに変換して返します.
nextLine()
ユーザーのノック待ち
内蔵関数にcloseがある場合
これは閉めますね

キーボード入力の操作


12時46分
45分
System.in:キーボード入力ツール
.read()
.read(byte[])
System.out:コンソール出力ツール
.print()
.println()
.printf()
System.out.println(keyboardScanner.nextLine());
keyboardScanner.nextLine()の実行が完了すると、システムが実行されます.out.println()が実行されました
keyboardScanner.close(); 習慣をつける
boolean b = keyScan.nextBoolean();
大文字と小文字はtrue、falseでかまいませんが、数字ではありません.
230番

検索する値がある場合は、ユーザーを待たないでください.
今すぐ実行し、待機する必要はありません.
次の空白に出会うまで
空白に出会った瞬間
まだ読むものはありますか?
スペース
nextIntはトークンの読み取りを待機します.
token?
スペースで区切られた単語
空白(スペース):スペース、タブ、改行
コンテキスト:ステータス
情景認知システム:context intelligencesystem
迎えたいなら迎えに来なくてもいいです.
ざんりゅうぶつ
読めるものはありません~入力してください~

com.eomcs.lang.ex06




JAvaにelse ifの構文はありません
222号
わざとbreakを省略した
223番
break文を書かない場合は、実行を続行します.
case 100:
case 90:
90-100の間はそういう意味ではありません
そうしたいならifを書かなければなりません
230番
char c = 'A';//A文字のUnicode値(UTF-16)0 x 41(65)をcに格納します.
一重引用符演算子
int整数(byte,short,int,char)、文字列、特殊な定数Enumタイプ
4バイトを超える整数は使用できません.
変数をcase値として使用できません.文字だけでいいです.
caseはlittleのみです.
case 1 * 300://OK
case 1*y://コンパイルエラー!
241番
定数は利用可能です.
241に追加の値が含まれる場合があります
242は、エラーを最小限に抑えることができる.セキュリティも備えています.
この構文が存在する理由を常に説明します.
2進数の末尾が0なら偶数1つの奇数
&1:一番端だけリズムを抜く
ビット演算速度はずっと速い.
330番
breakは自分の所属する最近の複文を出た.
331号
重複する重複文の前に名前を付け、break文とcontinue文に名前を指定すると、1つ以上の重複文をスキップしたり、重複をスキップしたりすることができます.
mylooopラベルに属する記事を終了します.
310 ~ 331
39分で開始
20分

java.util.Scanner keyboardScanner = new java.util.Scanner(keyboard);


タブ
重なった複文から一度飛び出したい時
610~430
明日は方法!