22.04.19
演算子
しじえんざん
+(プラス記号)、-(マイナス記号)、x(乗算記号)、/(シェアのみ出力)、%(残り)
package ch03;
public class Ch03Ex01 {
public static void main(String[] args) {
int firstNum = 123, secondNum = 4;
System.out.println(firstNum + " + " + secondNum + " = " + (firstNum + secondNum));
System.out.println(firstNum + " - " + secondNum + " = " + (firstNum - secondNum));
System.out.println(firstNum + " * " + secondNum + " = " + (firstNum * secondNum));
System.out.println(firstNum + " / " + secondNum + " = " + (firstNum / secondNum));
System.out.println(firstNum + " % " + secondNum + " = " + (firstNum % secondNum));
}
}
出力結果123 + 4 = 127
123 - 4 = 119
123 * 4 = 492
123/4 = 30
123 % 4 = 3
リレーショナル演算子(比較演算子)>true,false出力
<,>,<=,>=,==(同じ),!=(異なる)
package ch03;
public class Ch03Ex02 {
public static void main(String[] args) {
System.out.println("10 > 100 = " + (10 > 100));
System.out.println("10 < 100 = " + (10 < 100));
System.out.println("10 >= 100 = " + (10 >= 100));
System.out.println("10 <= 100 = " + (10 <= 100));
System.out.println("10 == 100 = " + (10 == 100));
System.out.println("10 != 100 = " + (10 != 100));
}
}
出力結果10 > 100 = false
10 < 100 = true
10 >= 100 = false
10 <= 100 = true
10 == 100 = false
10 != 100 = true
論理演算子>true,false出力
&(および、いずれも真の場合真)|(または、そのうちの1つが真の場合真の場合)
論理演算中のShort Circuit Logic
&(and):前(左)の値が偽の場合、後(右)の値が偽(false)>であるにかかわらず、X>記号-&&が必要です.
|(or):前(左)の値が既に真である場合、後(右)の値が真である(true)>にかかわらず、X>記号-|が必要となる
package ch03;
public class Ch03Ex03 {
public static void main(String[] args) {
//and(&) Example
System.out.println("& Example");
System.out.println("true & true = " + (true & true));
System.out.println("true & false = " + (true & false));
System.out.println("false & true = " + (false & true));
System.out.println("false & false = " + (false & false));
//or(|) Example
System.out.println("| Example");
System.out.println("true | true = " + (true | true));
System.out.println("true | false = " + (true | false));
System.out.println("false | true = " + (false | true));
System.out.println("false | false = " + (false | false));
//&& Example
System.out.println("&& Example");
System.out.println("1 > 10 & 10 < 100 = " + ((1 > 10) & (10 < 100)));
//1 > 10 검사(false), 10 < 100 검사(true) => 결과 false
System.out.println("1 > 10 && 10 < 100 = " + ((1 > 10) && (10 < 100)));
//1 > 10 검사(false) => 결과 false (Short Circuit Logic)
//|| Example
System.out.println("|| Example");
System.out.println("1 < 10 | 10 > 100 = " + ((1 < 10) | (10 > 100)));
//1 < 10 검사(true), 10 > 100 검사(false) => 결과 true
System.out.println("1 < 10 || 10 > 100 = " + ((1 < 10) || (10 > 100)));
//1 < 10 검사(true) = > 결과 true (Short Circuit Logic)
}
}
出力結果& Example
true & true = true
true & false = false
false & true = false
false & false = false
| Example
true | true = true
true | false = true
false | true = true
false | false = false
&& Example
1 > 10 & 10 < 100 = false
1 > 10 && 10 < 100 = false
|| Example
1 < 10 | 10 > 100 = true
1 < 10 || 10 > 100 = true
増減演算子
独自の値(+)またはダウングレード(--)の役割を上げる
増分演算子の先頭(先頭)-増分して残りの操作を実行します.
増減演算子の接尾辞(後)-残りの操作を実行し、値を増減します.
package ch03;
public class Ch03Ex04 {
public static void main(String[] args) {
int iVar1 = 8;
iVar1++;
System.out.println("iVar1++ 1회 : " + iVar1);
int iVar2 = 8;
iVar2--;
System.out.println("iVar2-- 1회 : " + iVar2);
int iVar3 = 8;
int result1 = ++iVar3 * 3;
System.out.println("result1 = ++iVar3 * 3 = " + result1);
//8을 ++한 후 * 3 > 9 * 3 = 27
int iVar4 = 8;
int result2 = iVar4++ * 3;
System.out.println("result2 = iVar4++ * 3 = " + result2);
System.out.println("result2 계산 이후 iVar4 : " + iVar4);
//8 * 3 = 24 > 8++
}
}
出力結果iValr 1+1回:9
iVar 2-第1話:7
result1 =++iVar3 3 = 27
result2 = iVar4++ 3 = 24
計算結果2後iVar 4:9
さんこうえんざんし
?, : 構成
(第1項、質問-真偽を必ず見分ける文)?(第2項,真値):(第3項,偽値)
package ch03;
public class Ch03Ex06 {
public static void main(String[] args) {
System.out.println(1 > 10 ? true : false);
System.out.println(10 < 100 ? true : false);
int iVar1 = 5;
System.out.println(iVar1 >= 5 ? "올림" : "내림");
iVar1 = 4;
System.out.println(iVar1 >= 5 ? "올림" : "내림");
}
}
出力結果false
true
上へ
ドロップダウン
非演算子
! : 否定論理、NOTの意味(★)
シンボル演算子(+、-):正と負を表します.
~:1の報酬、-3-2-1「基点」0 1 2基点における各数の対応数(-3<>2,-2<>1,-1<>0)
◇2の報酬:1の報酬+1,0を基準とし、数字ごとに対応する数(1<>-1,2<>-2)
package ch03;
public class Ch03Ex07 {
public static void main(String[] args) {
// ! Example
System.out.println("! Example");
System.out.println(!true);
System.out.println(!false);
System.out.println(!!true); //이중 부정 = 참
// +, 1 Example
System.out.println("+, - Example");
System.out.println(10); //양수
System.out.println(-10); //음수
System.out.println(-(-10)); //음수 * 음수 = 양수
// ~ Example
System.out.println("~ Example");
System.out.println(~0); //-1
System.out.println(~1); //-2
}
}
出力結果! Example
false
true
true
+, - Example
10
-10
10
~ Example
-1
-2
ビット演算
&:AND、ホント&ホント.偽り
|-OR,虚偽|虚偽の場合のみ虚偽とする.残りは本当に.
^-XOR、左右の値が違うのは本当で、同じ偽です
비트 연산 예
64 32 16 8 4 2 1
0 1 0 1 0 1 0 : 42
0 1 1 1 1 0 0 : 60
--------------------
0 1 0 1 0 0 0 : 40(AND 연산)
0 1 1 1 1 1 0 : 62(OR 연산)
0 0 1 0 1 1 0 : 22(XOR 연산)
package ch03;
public class Ch03Ex08 {
public static void main(String[] args) {
System.out.println(42 & 60);
System.out.println(42 | 60);
System.out.println(42 ^ 60);
}
}
出力結果40
62
22
シフト演算子
ビット演算子
使用理由:メモリ使用率が低い.はんどうたい
right shift(>>):新しい場所は0
符号なしright shift(>>>>):新しい位置を記号ビットで埋め込む
left shift(<):新しい位置は0
shift 연산 예
부호 64 32 16 8 4 2 1
0 0 0 0 0 1 0 0 : 4
-------------------------
0 0 0 0 0 0 0 1 : 4 >> 2
0 0 0 1 0 0 0 0 : 4 << 2
부호 64 32 16 8 4 2 1
1 0 0 0 0 1 0 0 : -4
-------------------------
1 0 0 0 0 0 0 1 : -4 >> 2
1 0 0 1 0 0 0 0 : -4 << 2
代入演算子=:代入演算子
+=:変数=変数+A
-=:変数=変数-A
*=:変数=変数x A
//=:変数=変数/A
%=:変数=変数&A
このほか、論理演算子(&、|、^)、shift演算子(>、>>>、<)も提供されます.
package ch03;
public class Ch03Ex10 {
public static void main(String[] args) {
int iVar = 100;
iVar += 7; //iVar = iVar + 7
System.out.println("iVar += 7 : " + iVar);
iVar -= 7; //iVar = iVar - 7
System.out.println("iVar -= 7 : " + iVar);
iVar *= 7; //iVar = iVar * 7
System.out.println("iVar *= 7 : " + iVar);
iVar /= 7; //iVar = iVar / 7
System.out.println("iVar /= 7 : " + iVar);
iVar %= 7; //iVar = iVar % 7
System.out.println("iVar %= 7 : " + iVar);
iVar &= 7; //iVar = iVar & 7
System.out.println("iVar &= 7 : " + iVar);
iVar |= 7; //iVar = iVar | 7
System.out.println("iVar |= 7 : " + iVar);
iVar ^= 7; //iVar = iVar ^ 7
System.out.println("iVar ^= 7 : " + iVar);
}
}
出力結果iVar += 7 : 107
iVar -= 7 : 100
iVar *= 7 : 700
iVar/= 7 : 100
iVar %= 7 : 2
iVar &= 7 : 2
iVar |= 7 : 7
iVar ^= 7 : 0
Scanner
JDKが提供する入力方式(java.util.Scanner)
キーボード入力後、入力バッファ中間記憶>スキャンプログラムを使用して、中間記憶値を読み込みます.
scanner.nextInt():整数をインポート
scanner.nextDouble():実数のインポート
scanner.next():単語を入力(スペース後の入力保存X)
scanner.nextLine():文をインポートする
◇nextLine()の場合、enter値を識別して格納することもできます.
package ch03;
import java.util.Scanner;
public class Ch03Ex12 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Input Integer : ");
int iVar = sc.nextInt();
System.out.println("Input result : " + iVar);
System.out.print("Input Double : ");
double dVar = sc.nextDouble();
System.out.println("Input result : " + dVar);
System.out.print("Input Word : ");
String str1 = sc.next(); //공백 이후 입력은 저장 X
System.out.println("Input result : " + str1);
sc.nextLine(); //엔터값 지움
System.out.print("Input Sentence : ");
String str2 = sc.nextLine();
System.out.println("Input result : " + str2);
sc.close(); //입력 후 반드시 close
}
}
出力結果Input Integer : 26
Input result : 26
Input Double : 1513.516
Input result : 1513.516
Input Word : Word
Input result : Word
Input Sentence : Hello World
Input result : Hello World
コントロールゲート
ぶんかつ
ブランチステートメント
if, if ~ else, if ~ else if ~ else, switch ~ case
条件付きスプリッタの構文
if(条件文){実行コード}:条件文が真(true)の場合、コードが実行されます.偽(false)の場合は実行されません.
if(条件文){実行コード1}else{実行コード2}:条件文が真(true)の場合、コード1が実行されます.falseの場合、実行コード2が実行されます.
package ch03;
import java.util.Scanner;
public class Ch03Ex16 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int fNum = (int) (Math.random() * 10);
System.out.println("First Number : " + fNum);
System.out.println("두 번째 수는 첫 번째 수 보다 _____");
System.out.println("1. 낮다 2. 높다");
System.out.print("입력 : ");
int uNum = sc.nextInt();
int sNum = (int) (Math.random() * 10);
System.out.println("Second Number : " + sNum);
if (uNum == 1) {
if (fNum > sNum) {
System.out.println("승리");
} else {
System.out.println("패배");
}
} else {
if (fNum > sNum) {
System.out.println("패배");
} else {
System.out.println("승리");
}
}
}
}
出力結果First Number : 7
2番目の数字は1番目の数字より
1.低い.高い「たかい」
入力:1
Second Number : 2
勝利する.
▶if~else if~else,swith~caseは他の記事で補足されています
複文
for, while
break(割り込み)、continue(スキップ)
▶その他で補足
Reference
この問題について(22.04.19), 我々は、より多くの情報をここで見つけました https://velog.io/@enfyswon07/22.04.19テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol