๐ป/JAVA
[Java] 3์ผ์ฐจ : ์กฐ๊ฑด ์ฐ์ฐ์, ํ ๋ณํ
๋ฐ๊ถ
2024. 2. 18. 20:37
์กฐ๊ฑด ์ฐ์ฐ์
์ผํญ ์ฐ์ฐ์ ๋๋ ์ ํ ์ฐ์ฐ์๋ผ ํ๋ค
์๋ฐ ์ธ์ด ์ค ์ ์ผํ๊ฒ ํผ ์ฐ์ฐ์(์คํผ๋๋)๊ฐ 3๊ฐ ํ์ํ ์ฐ์ฐ์์กฐ๊ฑด์์ด ์ฐธ์ด๋ฉด [์คํผ๋๋2]๋ฅผ, ๊ฑฐ์ง์ด๋ฉด [์คํผ๋๋3]๋ฅผ ๊ฐ๋๋ค
์ ์๋ฅผ ์ ๋ ฅ ๋ฐ์ ์ ๋๊ฐ ๊ตฌํ๊ธฐ
package ch03.unit05;
import java.util.Scanner;
public class Ex01 {
public static void main(String[] args) {
// ์กฐ๊ฑด ์ฐ์ฐ์
// ์ ์๋ฅผ ์
๋ ฅ ๋ฐ์ ์ ๋๊ฐ ๊ตฌํ๊ธฐ
Scanner sc = new Scanner(System.in);
int a, b;
System.out.print("์ ์ ? ");
a = sc.nextInt();
b = a > 0 ? a : -a;
System.out.println(a + "์ ์ ๋๊ฐ : " + b);
sc.close();
}
}
์ ์๋ฅผ ์ ๋ ฅ ๋ฐ์ ์ง์์ธ์ง ํ์ ์ธ์ง ํ๋ณ
package ch03.unit05;
import java.util.Scanner;
public class Ex02 {
public static void main(String[] args) {
// ์ ์ ์
๋ ฅ ๋ฐ์ ์ง์์ธ์ง ํ์ ์ธ์ง๋ฅผ ํ๋ณ
Scanner sc = new Scanner(System.in);
int a;
String s;
System.out.print("์ ์ ? ");
a = sc.nextInt();
// s = a % 2 == 0 ? "์ง์" : "ํ์";
s = (a & 1) == 0 ? "์ง์" : "ํ์";
System.out.printf("%d => %s\n", a, s);
sc.close();
}
}
์ ์๋ฅผ ์ ๋ ฅ ๋ฐ์ ์์, ์์, ์ ์ธ์ง ํ๋ณ
package ch03.unit05;
import java.util.Scanner;
public class Ex03 {
public static void main(String[] args) {
// ์ ์ ์
๋ ฅ ๋ฐ์ ์์, ์์, ์ ์ธ์ง ํ๋ณ
Scanner sc = new Scanner(System.in);
int n;
String s;
System.out.print("์ ์ ? ");
n = sc.nextInt();
s = n > 0 ? "์์" : (n == 0 ? "์" : "์์");
System.out.println(n + " => " + s);
sc.close();
}
}
Quiz1. ๋ ์๋ฅผ ์ ๋ ฅ ๋ฐ์ ์ ๋ ฅ ๋ฐ์ ์ ์ฌ์ด์ ์ ์์ ๊ฐ์ ๊ตฌํ๊ธฐ (๋ชจ๋ ์์๋ฅผ ์ ๋ ฅ ํ๋ค๋ ๊ฐ์ )
package ch03.unit05;
import java.util.Scanner;
public class Quiz1 {
public static void main(String[] args) {
// ๋์๋ฅผ ์
๋ ฅ ๋ฐ์ ์
๋ ฅ ๋ฐ์ ์ ์ฌ์ด์ ์ ์์ ๊ฐ์ ๊ตฌํ๊ธฐ
// ๋ชจ๋ ์์๋ฅผ ์
๋ ฅ ํ๋ค๋ ๊ฐ์ ํ์ ๋ฌธ์ ํด๊ฒฐ
Scanner sc = new Scanner(System.in);
int a, b;
int n;
System.out.print("๋์ ? ");
a = sc.nextInt();
b = sc.nextInt();
n = (a > b ? a-b : b-a) + 1;
System.out.printf("%d ~ %d ์ฌ์ด์ ์ ์์ ๊ฐ์ : %d\n", a, b, n);
sc.close();
}
}
Quiz2. ๋ ๋๋ฅผ ์ ๋ ฅ ๋ฐ์ ์ค๋ ์ธ์ง ํ๋ ์ธ์ง๋ฅผ ์ถ๋ ฅํ๊ธฐ
package ch03.unit05;
import java.util.Scanner;
/*
- ๋
๋๋ฅผ ์
๋ ฅ ๋ฐ์ ์
๋ ฅ ๋ฐ์ ๋
๋๊ฐ ์ค๋
์ธ์ง ํ๋
์ธ์ง๋ฅผ ์ถ๋ ฅํ๊ธฐ
๋
๋๊ฐ 4์ ๋ฐฐ์์ด๊ณ 100์ ๋ฐฐ์๊ฐ ์๋๊ฑฐ๋ 400์ ๋ฐฐ์์ด๋ฉด ์ค๋
์ด๊ณ
๊ทธ๋ ์ง ์์ผ๋ฉด ํ๋
์ด๋ค.
์ค๋
(2์ 29์ผ, 366), ํ๋
(2์ 28์ผ, 365)
- ์คํ ์
๋
๋ ? 2024
2024๋
๋๋ ์ค๋
์
๋๋ค.
*/
public class Quiz2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int y;
String s;
System.out.print("๋
๋ ? ");
y = sc.nextInt();
s = y%4==0 && y%100 !=0 || y%400==0 ? "์ค๋
" : "ํ๋
";
System.out.printf("%d ๋
๋ : %s\n", y, s);
sc.close();
}
}
Quiz3. ํ ๋ฌธ์๋ฅผ ์ ๋ ฅ ๋ฐ์ ์๋ฌธ์์ด๋ฉด ๋๋ฌธ์๋ก, ๋๋ฌธ์์ด๋ฉด ์๋ฌธ์๋ก ๋ณํ, ์๋ฌธ์๊ฐ ์๋ ๊ฒฝ์ฐ ์ ๋ ฅ ๋ฐ์ ๋ฌธ์ ๊ทธ๋๋ก ์ถ๋ ฅํ๊ธฐ.
package ch03.unit05;
import java.util.Scanner;
public class Quiz3 {
public static void main(String[] args) {
// ํ๋ฌธ์๋ฅผ ์
๋ ฅ ๋ฐ์ ์
๋ ฅ ๋ฐ์ ๋ฌธ์๊ฐ ์๋ฌธ์์ด๋ฉด ๋๋ฌธ์๋ก ๋ณํํ๊ณ ,
// ๋๋ฌธ์์ด๋ฉด ์๋ฌธ์๋ก ๋ณํํ๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ฌธ์๊ฐ ์๋๋ฉด ์
๋ ฅ ๋ฐ์
// ๋ฌธ์๋ฅผ ๊ทธ๋๋ก ์ถ๋ ฅ ํ๋ค.
// 'A' : 65, 'a' : 97
Scanner sc = new Scanner(System.in);
char a, b;
System.out.print("ํ๋ฌธ์ ? ");
a = sc.next().charAt(0);
b = a >='a' && a <='z' ? (char)(a-32) : (a>='A'&&a<='Z'?(char)(a+32):a);
System.out.printf("%c => %c\n", a, b);
sc.close();
}
}
ํ ๋ณํ
์์์ ๊ณ์ฐํ๊ฑฐ๋ ๋์ ํ ๊ฒฝ์ฐ ์๋ ์ ์๋ ์๋ฃ ํ์ ๋ณํํด์ ์ฒ๋ฆฌํ๋ ๊ฒ์ ์บ์คํ (casting)
์ฐ์ฐ์๋ผ ํ๋ค.
ํฌํค๊ฐ ๋ค๋ฅธ ์๋ฃ ํ์ ์ฐ์ฐ์์๋ ์๋ฃ ํ์ด ๊ฐ์ฅ ํฐ ์๋ฃ ํ์ผ๋ก ๋ณํ๋๋ค.
- ๋ฌต์์ ์ธ ๋ฐฉ๋ฒ์ ์ํ ํ ๋ณํ
- ์๋ก ๋ค๋ฅธ ์๋ฃ ํ์ ๋ฐ์ดํฐ๊ฐ ์ฐ์ฐํ ๊ฒฝ์ฐ์๋ ์๋์ ์ผ๋ก ๊ฐ์ฅ ํฐ ์๋ฃ ํ์ผ๋ก ๋ณํ์ด ์ด๋ฃจ์ด์ง๋ค.
- ์บ์คํ
์ ์ํ ํ ๋ณํ
- ๋ช ์์ ์ธ ํ ๋ณํ์ด๋ผ๊ณ ๋ ํ๋ฉฐ, ์์์์ ํ๊ฐ๋ ๊ฐ์ด๋ ๋ณ์๊ฐ ๊ฐ๋ ์๋ฃ ํ์ ๊ฐ์ ๋ก ๋ค๋ฅธ ์๋ฃ ํ์ผ๋ก ๋ณํํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
- ํ์ : (์๋กํ) ๋ณ์ ๋๋ ์ฐ์ฐ์;
์ฐ์ ์๋ฃ ํ๊ณผ boolean ์๋ฃ ํ, ์ฐ์ ์๋ฃ ํ๊ณผ ์ฐธ์กฐ ํ ๋ฑ์ ์๋ก ํ ๋ณํ์ ํ ์ ์๋ค.
package ch03.unit06;
public class Ex01 {
public static void main(String[] args) {
// ํ๋ณํ
short a;
byte b;
char c;
int d;
long e;
a = 10;
// b = a; // short > byte ์ด๋ฏ๋ก ์ปดํ์ผ ์ค๋ฅ
b = (byte)a; // ๊ฐ์ ๋ก ํ๋ณํ
System.out.println(b);
a = 200;
b = (byte)a; // overflow. ์๋ฆผ ํ์
System.out.println(b);
c = 'A';
d = c + 10; // ์๋ ํ๋ณํ
System.out.println(d);
d = 100000;
e = d * d; // int * int => int => long, overflow ๋ฐ์
System.out.println(e); // 1410065408
e = (long)d * d; // ๊ฐ์ ํ๋ณํ
System.out.println(e); // 10000000000
}
}
์ฐ์ฐ์ ์ฐ์ ์์
์ฐ์ ์์ | ์ฐ์ฐ์ | ๊ฒฐํฉ์์ | ๋ถ๋ฅ |
๋์ | (), [] | → | ์ผ์ฐจ์ |
!, ~, ++, -- | ← | ๋จํญ ์ฐ์ฐ์ | |
*, /, % | → | ์ฐ์ ์ฐ์ฐ์ | |
+, - | → | ์ฐ์ ์ฐ์ฐ์ | |
<<, >>, >>> | → | ์ํํธ ์ฐ์ฐ์ | |
<, <=, >, >= | → | ๋น๊ต ์ฐ์ฐ์ | |
==, != | → | ๋น๊ต ์ฐ์ฐ์ | |
& | → | ๋นํธ ์ฐ์ฐ์ | |
^ | → | ๋นํธ ์ฐ์ฐ์ | |
| | → | ๋นํธ ์ฐ์ฐ์ | |
&& | → | ๋ ผ๋ฆฌ ์ฐ์ฐ์ | |
|| | → | ๋ ผ๋ฆฌ ์ฐ์ฐ์ | |
?: | ← | ์กฐ๊ฑด ์ฐ์ฐ์ | |
๋ฎ์ | =, +=, -=, *=, /=, %=, <<=, >>=, &=, ^=, ~= | ← | ๋์ ์ฐ์ฐ์ |