独身者-03.演算子
独身者-03.演算子
演算子と演算子
演算子算術:+、-、*、/、% コード:=,- 文字列:+ 代入:=、+=、-=、*=、/=、%= 増減:++.-- 比較:=、!=、>、<、>=、<=、instanceof ロジック:!、&、|、&、 条件:(条件式)?A : B 方向と優先度の計算方向:ほとんどの演算子は左から右に実行されます.ただし、一方向演算子の場合は右から左になります. 優先度:増減、記号、論理>算術>比較>論理>条件>代入 演算子のタイプ
単項演算子-シンボル演算子
+、-およびcharタイプに加えて、シンボル演算子は他の基本タイプに使用できます.
シンボル演算子の結果はintタイプです.
増減演算子とは、booleanタイプ以外のすべての基本タイプの被演算子で使用できる変数値を1(+)または1(-)減少させる演算子です.i++:他の演算を実行すると被演算子の値が増加(-の値が減少) +i:他の操作を実行する前に被演算子の値(-の値減少) を増加する
論理否定演算子は、trueをfalseに変更し、falseをtrueに変更するため、ブールタイプでのみ使用できます.
算術演算子には、加算、減算、乗算、除算、および余剰数の4つの演算子が含まれます.booleanタイプを除いて、算術演算子はすべての基本タイプで使用できます.被演算子がbyte、char、shortタイプの場合、これらはintタイプに変換され、演算が実行されます. すべての演算子が整数タイプでlongタイプが含まれている場合は、longタイプに変換して演算を実行します. 被演算子に実数タイプ(float,double)がある場合、許容範囲の大きい実数タイプに変換して演算を実行
文字列と数値が混在する演算子+演算子は、左から右へ演算されます.
boolean以外のサイズ演算子はデフォルトタイプで使用でき、同等演算子はすべてのタイプで使用できます.
論理演算子の被演算子はbooleanタイプのみ使用できます.&:すべての被演算子がtrueである場合にのみ、演算子結果はtrue :1つの被演算子のみがtrueの場合、演算結果はtrue ^:1つの被演算子がtrueであり、もう1つがfalseである場合にのみ、計算結果はtrue ! : 被演算子の論理値の変更 との区別
前の被演算子がfalseの場合、後の被演算子は計算されず、falseという計算結果が直接生成され、&は2つの被演算子が計算されます.
代入演算子は最小の演算順序を持ち、進行方向は右から左です.
3つの演算子(?)は、3つの被演算子が必要な演算子です.
演算子と演算子
演算子
単項演算子-シンボル演算子
+、-およびcharタイプに加えて、シンボル演算子は他の基本タイプに使用できます.
シンボル演算子の結果はintタイプです.
package sec02.exam01;
public class SignOperatorExample {
public static void main(String[] args) {
int x = -100;
int result1 = +x;
int result2 = -x;
System.out.println("result1=" + result1); //result1=-100 출력
System.out.println("result2=" + result2); //result2=100 출력
byte b = 100;
// byte result3 = -b; byte타입 값을 부호 연산하면 int 타입 값으로 바뀌므로 컴파일 에러 발생
int result3 = -b;
System.out.println("result3=" + result3); //result=-100 출력
}
}
増減演算子増減演算子とは、booleanタイプ以外のすべての基本タイプの被演算子で使用できる変数値を1(+)または1(-)減少させる演算子です.
package sec02.exam02;
public class IncreaseDecreaseOperatorExample {
public static void main(String[] args) {
int x = 10;
int y = 10;
int z;
System.out.println("------------------------------");
x++;
++x;
System.out.println("x=" + x); // x=12 출력
System.out.println("------------------------------");
y--;
--y;
System.out.println("y=" + y); // y=8 출력
System.out.println("------------------------------");
z = x++; //z에 x의 12값을 먼저 저장하고 x에 1을 더함
System.out.println("z=" + z); // z=12 출력
System.out.println("x=" + x); // x=13 출력
System.out.println("------------------------------");
z = ++x; //x인 13에 1을 먼저 더하고 z에 14를 저장
System.out.println("z=" + z); // z=14 출력
System.out.println("x=" + x); // x=14 출력
System.out.println("------------------------------");
z = ++x + y++; //x에 1을 더한 15와 y인 8를 더한 값인 23을 z에 저장하고, y에 1을 더하여 9로 저장
System.out.println("z=" + z); // z=23 출력
System.out.println("x=" + x); // x=15 출력
System.out.println("y=" + y); // y=9 출력
}
}
論理否定演算子(!)論理否定演算子は、trueをfalseに変更し、falseをtrueに変更するため、ブールタイプでのみ使用できます.
package sec02.exam03;
public class DenylogicOperatorExample {
public static void main(String[] args) {
boolean play = true;
System.out.println(play); //true
play = !play;
System.out.println(play); //false
play = !play;
System.out.println(play); //true
}
}
二項演算子-演算子算術演算子には、加算、減算、乗算、除算、および余剰数の4つの演算子が含まれます.booleanタイプを除いて、算術演算子はすべての基本タイプで使用できます.
package sec02.exam04;
public class ArithmeticOperatorExample {
public static void main(String[] args) {
int v1 = 5;
int v2 = 2;
int result1 = v1 + v2;
System.out.println("result1=" + result1); // result1 = 7 출력
int result2 = v1 - v2;
System.out.println("result2=" + result2); // result2 = 3 출력
int result3 = v1 * v2;
System.out.println("result3=" + result3); // result3 = 10 출력
int result4 = v1 / v2;
System.out.println("result4=" + result4); // result4 = 2 출력
int result5 = v1 % v2;
System.out.println("result5=" + result5); // result5 = 1 출력
double result6 = v1 / v2;
System.out.println("result6=" + result6); // result6 = 2.0 출력
}
}
charタイプも整数タイプなので算術演算は可能ですが、結果はintタイプです.package sec02.exam05;
public class CharOperationExample {
public static void main(String[] args) {
char c1 = 'A' + 1; //A가 정수로 변환되어 c1이 66이 된다.
char c2 = 'A';
// char c3 = c2 + 1; //자동으로 c2가 연산을 위해 int로 바뀌는데 결과가 char이라서 오류발생
System.out.println("c1: " + c1); // c1: 66 출력
System.out.println("c2: " + c2); // c2: A 출력
//System.out.println("c3: " + c3);
}
}
文字列連結演算子文字列と数値が混在する演算子+演算子は、左から右へ演算されます.
package sec02.exam06;
public class StringConcatExample {
public static void main(String[] args) {
String str1 = "JDK" + 6.0; // str1 = JDK6.0
String str2 = str1 + "특징"; // str2 = JDK6.0특징
System.out.println(str2);
String str3 = "JDK" + 3 + 3.0; //str3 = JDK33.0
String str4 = 3 + 3.0 + "JDK"; // str4 = 6.0JDK
System.out.println(str3);
System.out.println(str4);
}
}
比較演算子boolean以外のサイズ演算子はデフォルトタイプで使用でき、同等演算子はすべてのタイプで使用できます.
package sec02.exam07;
public class CompareoperatorExample {
public static void main(String[] args) {
int num1 = 10;
int num2 = 10;
boolean result1 = (num1 == num2); // true
boolean result2 = (num1 != num2); // false
boolean result3 = (num1 <= num2); // true
System.out.println("result1=" + result1);
System.out.println("result2=" + result2);
System.out.println("result3=" + result3);
char char1 = 'A';
char char2 = 'B';
boolean result4 = (char1 < char2); //true
System.out.println("result4=" + result4);
}
}
package sec02.exam08;
public class CompareOperatorExample2 {
public static void main(String[] args) {
int v2 = 1;
double v3 = 1.0;
System.out.println(v2 == v3); //true
double v4 = 0.1;
float v5 = 0.1f; //0.1f가 0.1의 근사값으로 표현되기 때문
System.out.println(v4 == v5); //false
System.out.println((float)v4 == v5); //true
}
}
論理演算子論理演算子の被演算子はbooleanタイプのみ使用できます.
前の被演算子がfalseの場合、後の被演算子は計算されず、falseという計算結果が直接生成され、&は2つの被演算子が計算されます.
package sec02.exam09;
public class LogicalOperatorExample {
public static void main(String[] args) {
int charCode = 'A'; //A의 뉴니코드 숫자인 65로 저장
if( (charCode>=65) & (charCode<=90)) {
System.out.println("대문자군요");
}
if( (charCode>=97) && (charCode<=122)) {
System.out.println("소문자군요");
}
if( (charCode>=48) && (charCode<=57)) {
System.out.println("0~9 숫자군요");
}
int value = 6;
if( (value%2==0) | (value%3==0)) {
System.out.println("2 또는 3의 배수군요");
}
if( (value%2==0) || (value%3==0)) {
System.out.println("2또는 3의 배수군요");
}
}
}
代入演算子代入演算子は最小の演算順序を持ち、進行方向は右から左です.
package sec02.exam10;
public class AssignmentOperatorExample {
public static void main(String[] args) {
int result = 0;
result += 10; // result = result + 10 -> 10
System.out.println("result=" + result); // 10
result -= 5; // result = 10 - 5 -> 5
System.out.println("result=" + result); // 5
result *= 3; // result = 5 * 3 -> 15
System.out.println("result=" + result); // 15
result /= 5; // result = 15 / 5 -> 3
System.out.println("result=" + result); // 3
result %= 3; // result = 3 % 3 -> 0
System.out.println("result=" + result); //0
}
}
さんこうえんざんし3つの演算子(?)は、3つの被演算子が必要な演算子です.
package sec02.exam11;
public class ConditionalOperationExample {
public static void main(String[] args) {
int score = 85;
char grade = (score>90) ? 'A' : ((score > 80) ? 'B' : 'C');
System.out.println(score + "점은" + grade + "등급입니다."); //85점은 B 등급입니다. 출력
}
}
Reference
この問題について(独身者-03.演算子), 我々は、より多くの情報をここで見つけました https://velog.io/@samweol/혼공자-03.-연산자テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol