μ°μ°μλ ?
μ°λ¦¬λ μ°μ°μμ λν΄ μ΄λ―Έ μκ³ μμ΅λλ€. +, -, *, / μ κ°μ μ°μ° κΈ°νΈλ₯Ό μλ―Ένλλ°μ.
νλ‘κ·Έλλ° μΈμ΄μμλ μ¬μΉ μ°μ° μΈμλ λ€μν μ°μ°μκ° μμ΅λλ€.
μ¬μΉμ°μ° + λλ¨Έμ§ μ°μ°
public class Main
{
public static void main(String[] args) {
int a = 18, b = 4;
System.out.printf("a + b = %d\n", a + b);
System.out.printf("a - b = %d\n", a - b);
System.out.printf("a * b = %d\n", a * b);
System.out.printf("a / b = %d\n", a / b);
System.out.printf("a %% b = %d\n", a % b);
}
}
μ»΄ν¨ν°μμλ μ¬μΉμ°μ°μ μ°λ¦¬κ° μ¬μ©νλ μ°μ°μμ λμΌν΄μ μ½μ΅λλ€.
μΆκ°λ‘ modulo μ°μ°μ % κΈ°νΈλ₯Ό μ΄μ©ν΄μ μ¬μ©νλλ°μ.
μλ°μμ printfμ κ°μ μΆλ ₯ν¨μλ %d, %f μ κ°μ΄ μΆλ ₯νμ μ§μ μμΈ %λ₯Ό μ΄μ©ν©λλ€.
%λ₯Ό νννκΈ° μν΄μλ λλ² μμ±νμ¬ escapeλ₯Ό ν΄μ£Όμ΄μΌ νλλ° μμΈν λ΄μ©μ μ μΆλ ₯μμ λ€λ£¨λλ‘ νκ² μ΅λλ€.
μμ κ²°κ³Όλ 22, 14, 72, 4, 2 μ λλ€.
μννΈ μ°μ°μ
public class Main
{
public static void main(String[] args) {
// 1010
int a = 10;
// left shift, 10100
a = a << 1;
System.out.printf("a = %d\n", a);
// right shift, 1010
a = a >> 1;
System.out.printf("a = %d\n", a);
// left shift twice, 101000
a = a << 2;
System.out.printf("a = %d\n", a);
}
}
μ»΄ν¨ν°μμ μ«μλ₯Ό νννκΈ° μν΄μλ 2μ§λ²μΌλ‘ νννκ² λ©λλ€.
10μ κ²½μ°λ 1010μ΄ λμ£ .
shift μ°μ°μ νκ²λλ©΄ bitλ₯Ό μΌμͺ½ λλ μ€λ₯Έμͺ½μΌλ‘ μΌμ μλ§νΌ λ°μ΄λ²λ¦¬κ² λ€λ μλ―Έκ° λ©λλ€.
10μ§μλ‘ μλ₯Ό λ€μ΄ λ³΄κ² μ΅λλ€.
10μ 100μΌλ‘ νννλ €λ©΄ μ΄λ»κ² νλμ? 10μ κ³±ν΄μ£Όλ©΄ λ©λλ€.
10μ 1000μΌλ‘ νννλ €λ©΄ ? 10μ 2λ² κ³±ν΄μ£Όλ©΄ λ©λλ€.
νΉμ§μ 0μ΄ μ±μμ§λ§νΌ 10μ κ³±νλ€λ κ²μ΄μ£ . (10μ§μ μ΄λ―λ‘)
2μ§μμμλ λ§μ°¬κ°μ§μ λλ€.
10μ 20μΌλ‘ νννλ €λ©΄ 2λ₯Ό κ³±νλ©΄ λ©λλ€.
μ΄ λ, 2μ§μλ 2κΉμ§ λνλ΄λ―λ‘ 2μ§μ μμμλ λ€μ 0μ΄ μ±μμ§κ² λ©λλ€.
1010μμ 10100μ΄ λλ κ²μ΄μ£ .
μ΄λ° μνμ νΉμ±μ μ΄μ©ν κ²μ΄ shift μ°μ°μ λλ€.
κ³±νκΈ° μ°μ°λ³΄λ€ λΉ λ¦ λλ€.
λΉνΈ μ°μ°μ
public class Main
{
public static void main(String[] args) {
// 1010
int a = 10;
// 1111
int b = 15;
System.out.printf("a and b μ°μ° %d\n", a & b);
System.out.printf("a or b μ°μ° %d\n", a | b);
System.out.printf("a xor b μ°μ° %d\n", a ^ b);
System.out.printf("not a μ°μ° %d\n", ~a);
System.out.printf("not b μ°μ° %d\n", ~b);
System.out.printf("notAnd(nand) μ°μ° %d\n", ~(a & b));
System.out.printf("notOr(nor) μ°μ° %d\n", ~(a | b));
System.out.printf("notXor μ°μ° %d\n", ~(a ^ b));
}
}
μ½λ©μ νλ€λ³΄λ©΄ μλμ λ¬Έμ λ‘ 2μ§μ κ°μ λΉνΈμ°μ°μ νκ² λλ κ²½μ°κ° λ°μν©λλ€.
μ΄μ λ μΌλ°μ μΈ μ¬μΉμ°μ°λ³΄λ€ λΉ λ₯Έ μλμ μ₯μ μ΄ μκΈ° λλ¬Έμ λλ€.
aλ 10(10) → 1010(2), bλ 15(10) → 1111(2) λ‘ λ³ν ν μ μμ΅λλ€.
1010κ³Ό 1111μ and, or, xor μ°μ°μ κ° κ° 1010, 1111, 0101λ‘ 10, 15, 5μ κ°μ κ°μ§λλ€.
λ€λ§ μλ°μμ not (~) μ°μ°μ 2μ 보μ λ°©λ²μ μ¬μ©νλλ°μ.
32λΉνΈ νκ²½ μλ°μμ 1010(2)μΈ κ²½μ° 00000000 00000000 00000000 00001010μΌλ‘ ννν©λλ€.
μ΄μ not μ°μ°μ μ μ©νλ©΄ 11111111 11111111 11111111 11110101 μ΄ λκ³ λ§¨ μμ bitμΈ MSBκ° 1μΈ κ²μ νμΈν©λλ€.
μλ°λ ν΄λΉ μ«μκ° μμλΌκ³ μΈμνκ³ 2μ 보μλ₯Ό μ·¨νκ² λ©λλ€.
11111111 11111111 11111111 11110101 μμ λΆνΈκ° minusλΌκ³ μΈμ ν 1μ 보μ,
00000000 00000000 00000000 00001010 μμ 2μ 보μ,
00000000 00000000 00000000 00001011 μ΄λΌλ κ²°κ³Ό μμ±
ν΄λΉ κ°μ 11μ΄λΌλ κ°μ κ°μ§κ³ λΆνΈλ minusμ΄λ―λ‘ -11(2)λΌλ κ²°κ³Όλ₯Ό λμΆνκ² λ©λλ€.
κ·Έ μΈ λ€λ₯Έ κ°λ€λ ν λ² μ§μ μ°μ°ν΄λ³΄μλ κ²μ μΆμ²ν©λλ€.
λμ μ°μ°μ
public class Main
{
public static void main(String[] args) {
int a = 10;
a <<= 1; // a = a << 1
System.out.printf("shift λμ
μ°μ° : %d\n", a);
a *= 2; // a = a * 2
System.out.printf("μ¬μΉ λμ
μ°μ° : %d\n", a);
a &= 10; // a = a & 10
System.out.printf("λΉνΈ λμ
μ°μ° : %d\n", a);
}
}
λμ μ°μ°μ κ²½μ°, μμμ λ€λ£¬ μ¬μΉμ°μ°, shiftμ°μ°, λΉνΈ μ°μ°μλ§ μ μ©μ΄ λλ μ°μ°μ λλ€.
λ³μ μ μ₯μμ μκΈ° μμ μκ² νΉμ κ°μ μ°μ°νλ€λ©΄ λμ μ°μ°μλ₯Ό μ¬μ©ν μ μμ΅λλ€.
μ£Όμμμ νμ΄λμ λ¬Έμ₯κ³Ό κ°μ μλ―Έλ₯Ό κ°μ§λλ€.
μ¦κ° μ°μ°μ
public class Main
{
public static void main(String[] args) {
int a = 0;
System.out.printf("a = %d\n", a++);
System.out.printf("a = %d\n", a);
System.out.printf("a = %d\n", ++a);
System.out.printf("a = %d\n", a--);
System.out.printf("a = %d\n", a);
System.out.printf("a = %d\n", ++a);
}
}
μ¦κ° μ°μ°μ κ°μ 1μ μ¦κ°νκ±°λ 1μ κ°μνλ μ°μ°μ μλ―Έν©λλ€.
μ¦κ° μ°μ°μλ μ μΉ μ°μ°κ³Ό νμΉ μ°μ°μ΄ μμ΅λλ€.
μ μΉ μ°μ°μ΄λ λ³μμ λ°μ΄ν°μ μ°μ°μ μνν ν λ°μ΄ν°λ₯Ό μ λ¬νλ κ²μ λλ€.
νμΉ μ°μ°μ΄λ λ°μ΄ν°λ₯Ό μ λ¬νκ³ λ°μ΄ν°μ μ°μ°μ μννλ κ²μ λλ€.
int a = 0;
// μ μΉ μ°μ°
a = a + 1;
System.out.printf("a = %d\n", a);
// νμΉ μ°μ°
System.out.printf("a = %d\n", a);
a = a + 1
λΉκ΅(κ΄κ³) μ°μ°μ
public class Main
{
public static void main(String[] args) {
System.out.printf("1 > 2 : %b\n", (1 > 2));
System.out.printf("1 >= 2 : %b\n", (1 >= 2));
System.out.printf("1 < 2 : %b\n", (1 < 2));
System.out.printf("1 <= 2 = %b\n", (1 <= 2));
System.out.printf("1 == 2 = %b\n", (1 == 2));
System.out.printf("2 >= 2 = %b\n", (2 >= 2));
System.out.printf("2 <= 2 = %b\n", (2 <= 2));
System.out.printf("2 == 2 = %b\n", (2 == 2));
}
}
μ΄κ² λν μ°λ¦¬κ° μκ³ μλ κ·Έλλ‘ μ λλ€.
λμ λΉκ΅ μ°μ°μκ° λνλ΄λ κ°μ true or falseλ‘, 1 λλ 0λ§ ννν©λλ€.
λ Όλ¦¬ μ°μ°
public class Main
{
public static void main(String[] args) {
System.out.printf("false and false : %b\n", false && false);
System.out.printf("false or false : %b\n", false || false);
System.out.printf("true and false : %b\n", true && false);
System.out.printf("true or false : %b\n", true || false);
System.out.printf("false and true : %b\n", false && true);
System.out.printf("false or true : %b\n", false || true);
System.out.printf("true and true : %b\n", true && true);
System.out.printf("true or true : %b\n", true || true);
System.out.printf("not true : %b\n", !true);
System.out.printf("not false : %b\n", !false);
}
}
κΈ°νΈ λλ¬Έμ λΉνΈ μ°μ°μμ ν·κ°λ¦¬λ μ¬λμ΄ λ€μ μλ λ¬Έμ μ λλ€.
λΉνΈ μ°μ°μλ 10μ§μλ₯Ό 2μ§μ μ°μ°μ νκΈ° λλ¬Έμ μ«μλ‘ μ°μ°μ΄ κ°λ₯ν©λλ€.
νμ§λ§ μλ°μμ λ Όλ¦¬ μ°μ°μ boolean(true λλ false)μΌλ‘λ§ μ°μ°μ ν μ μμ΅λλ€.
μ£Όλ‘ μ‘°κ±΄μ΄ λ§μ‘±νλ μ§ νμΈνκΈ° μν΄μ μ¬μ©ν©λλ€.
μΌν μ°μ°μ
public class Main
{
public static void main(String[] args) {
int a = 10, b = 20;
System.out.printf("bigger : %d\n", a > b ? a : b);
System.out.printf("%s\n", 10 < 2 ? "Yes" : "No");
}
}
μ΅λ κ°μ μ°Ύμ λ μ¬μ©νκ±°λ μ½λλ₯Ό κ°κ²°νκ² νκ³ μΆμ λ, μ¬μ©νλ μ°μ°μμ λλ€.
νμ§λ§, μ€λ¬΄μμλ μ μ¬μ©λμ§ μλ κ²μΌλ‘ μκ³ μμ΅λλ€.
μ°μν νμ λ€ μλ° μ»¨λ²€μ μλ λΉμΆνκ³ μμ΅λλ€.
μνκ³Όμ μ μλμ κ°μ΅λλ€.
1. '?' λ₯Ό κΈ°μ€μΌλ‘ μΌμͺ½μ μ°μ°μ λ¨Όμ μνν©λλ€.
2. κ²°κ³Ό κ°μ΄ trueλΌλ©΄ ' : ' μ κΈ°μ€μΌλ‘ μΌμͺ½ κ°μ μ λ¬
3. κ²°κ³Ό κ°μ΄ falseλΌλ©΄ ' : ' μ κΈ°μ€μΌλ‘ μ€λ₯Έμͺ½ κ°μ μ λ¬ν©λλ€.
μ½κ² μκ°νλ©΄ μ΄ μ‘°κ±΄μ΄ λ§μ ? μ : μλ λ‘ μκ°νμλ©΄ λ©λλ€.
μ¬μ©μ νλ€λ©΄ 쑰건λΆμΈ ' ? ' μΌμͺ½μ κ΄νΈλ‘ λ¬Άμ΄ μ£Όμλκ² μ’μ΅λλ€.
( a > b ) ? a : b
μ°μ°μμ μ°μ μμ??
μνμμ μ¬μΉ μ°μ°μ ν λ, κ³±νκΈ°μ λλκΈ°κ° λ§μ λΊμ λ³΄λ€ λ¨Όμ μ°μ°νλ―μ΄ μ°μ μμκ° μλ€.
1. κ΄νΈ : ' () '
2. λ¨ν μ°μ°μ : ' +, - , ++, --, !, ~'
- λ³μλλ μμ μ체μ λΆμ΄μ νλμ μ«μλ‘ νννλ ννμ΄λ€.
- (+1), (-1), (i++), (!true), ...
3. μ°μ μ°μ°μ : ' +, -, /, *, % '
- κΈ°λ³Έμ μΈ μ¬μΉμ°μ°κ³Ό modμ°μ°μ ν¬ν¨νλ€.
4. μννΈ μ°μ°μ : ' <<, >> '
5. λΉκ΅ μ°μ°μ : ' <, >, <=, >= '
6. λΉκ΅(λ±νΈ, λλ±) μ°μ°μ : ' ==, != '
- a > b == b < a μΈ κ²½μ°, λ¬Έμ μλ€.
- a == b > (a < b) μΈ κ²½μ°, λ¬Έμ κ° λ°μνλ€. ( a == b ) > ( a < b )λ‘ ννν΄μΌνλ€.
7. λΉνΈ AND, XOR, OR μ°μ°μ : ' &, ^, | '
- AND, XOR, OR μμλλ‘ μ°μ°μ μ°μ μμκ° μ‘΄μ¬νλ€.
- κ·Έ μ΄μ λ λͺ ννμ§ μλ€. μλ° μ€κ³μλ€μ΄ κ·Έλ κ² μ€κ³ νλ€.
- μΆμΈ‘νλ μ΄μ λ λͺ κ°μ§ μμΌλ λͺ¨λ₯΄κ³λ€.
8. λ Όλ¦¬ AND, OR μ°μ°μ : ' &&, || '
- μ΄ λν μμλλ‘ μ°μ μμκ° μλ€.
9. μΌν μ°μ°μ : ' (쑰건) ? (true) : (false) '
10. λμ μ°μ°μ : " =, +=, -= , ... '
- λͺ¨λ μ°μ°μ λ§μΉ νμ λμ νκΈ° λλ¬Έμ λΉμ°νλ€.
λκ² λ§μ μμκ° μμ§λ§ μκ°λ³΄λ€ μΈμ°κΈ° μΆλ€.
κ°μ₯ μ€μν λΆλΆμ λΉκ΅ μ°μ°κ³Ό λ Όλ¦¬ μ°μ°μ μ°μ μμμ΄λ€.
μ§μ μ€ννλ©΄μ ν μ€νΈ ν΄λ³΄λ κ²μ μΆμ²
λ Έμ μ 리 URL
https://www.notion.so/24jihwan/b002389aea204cd2a1a15bd8ff2f358e
μ°μ°μ | Notion
μ°μ , λμ , μ°μ°μ
24jihwan.notion.site
'JAVA > κΈ°λ³Έ μ΄λ‘ ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
7. λ€μ°¨μ λ°°μ΄ (Multi Dimensional Array) (1) | 2024.02.10 |
---|---|
6. λ°°μ΄ (Array) (1) | 2024.02.10 |
3. μλ£ν(DataType) (0) | 2024.01.02 |
2. λ³μ(Variable)μ ν λΉ(Assign) (1) | 2024.01.02 |
1. μλ° μμνκΈ° (1) | 2024.01.02 |