πŸ’»μ»΄ν“¨ν„°μ—μ„œ 수 ν‘œν˜„ 방법 / λΉ„νŠΈ μ—°μ‚°μž(22.11.23 μžλ°”μˆ˜μ—…)

λ¦¬μ•ˆπŸ€Β·2022λ…„ 11μ›” 23일

μžλ°”κ³΅λΆ€κΈ°λ‘

λͺ©λ‘ 보기
12/21

πŸ“Œ μ»΄ν“¨ν„°μ—μ„œ 수 ν‘œν˜„ 방법

λ°˜λ„μ²΄ μ‹ ν˜Έ 꺼짐 0 / 켜짐 1
0, 1 ν‘œν˜„ν•˜λŠ” μ΅œμ†Œ λ‹¨μœ„ => 1λΉ„νŠΈ
8λΉ„νŠΈ => 1λ°”μ΄νŠΈ(byte)
10μ§„μˆ˜ 9999 => 9*1000 + 9*100 + 9*10 + 9*1
2μ§„μˆ˜ 1111 => 1*8 + 1*4 + 1*2 + 1*1
Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β => Β 8 Β Β Β Β Β Β 4 Β Β Β Β Β Β 2Β Β Β Β Β Β Β 1
8μ§„μˆ˜ 77 => 7*8 + 7*1
16μ§„μˆ˜ ff => 15*16 + 15*1

  • 2μ§„μˆ˜ μŒμˆ˜ν‘œν˜„
    - 10μ§„μˆ˜ 5 / -5(음수) => λ‘˜ λ”ν•˜λ©΄ 0
    - 2μ§„μˆ˜ 5 => 00000101
    - 2μ§„μˆ˜ -5 => 11111011
    => λ‘˜ λ”ν•˜λ©΄ 10000000
    * 2의 보수(음수 ν‘œν˜„) => 0 -> 1, 1 -> 0λ³€κ²½ν•˜κ³  +1
  • μžλ°” => μ •μˆ˜ν‘œν˜„ 2μ§„μˆ˜, 8μ§„μˆ˜, 16μ§„μˆ˜ ν‘œν˜„
    2μ§„μˆ˜ : 접두사 0bλ₯Ό λΆ™μ—¬μ„œ ν‘œν˜„
    8μ§„μˆ˜ : 접두사 0을 λΆ™μ—¬μ„œ ν‘œν˜„
    16μ§„μˆ˜ : 접두사 0xλ₯Ό λΆ™μ—¬μ„œ ν‘œν˜„
		
	int num = 10;
	int bNum = 0b1010;
	int octNum = 012;
	int hexNum = 0xA;
	System.out.println("10μ§„μˆ˜ : "+num);
	System.out.println("2μ§„μˆ˜ : "+bNum);
	System.out.println("8μ§„μˆ˜ : "+octNum);
	System.out.println("16μ§„μˆ˜ : "+hexNum);


πŸ“Œ λΉ„νŠΈμ—°μ‚°μž

=> &(AND), |(OR), ^(XOR), ~(NOT)

	int num1=5; // 0101
	int num2=10; // 1010
	int result=num1 & num2; // 0000
	System.out.println(result); // 0
    	// 1 & 1 => 1
		// 1 & 0 => 0
		// 0 & 1 => 0
		// 0 & 0 => 0

	int num1=5; // 0101
	int num2=10; // 1010
	int result=num1 | num2; // 1111
	System.out.println(result); // 15
		// 1 | 1 => 1
		// 1 | 0 => 1
		// 0 | 1 => 1
		// 0 | 0 => 0

	int num1=10; // 00001010
	int result= ~num1; // 11110101(음수) -> 00001011(2의보수) 
	System.out.println(result); // -11
		// ~1 => 0
		// ~0 => 1


πŸ“Œ λΉ„νŠΈμ΄λ™μ—°μ‚°μž

-Β Β  << (μ™Όμͺ½μœΌλ‘œ λΉ„νŠΈμ΄λ™ μ—°μ‚°)
-Β Β  >> (였λ₯Έμͺ½μœΌλ‘œ λΉ„νŠΈμ΄λ™ μ—°μ‚°)
-Β Β  >>> (였λ₯Έμͺ½μœΌλ‘œ λΉ„νŠΈμ΄λ™ μ—°μ‚°, μ™Όμͺ½ μ±„μ›Œμ§€λŠ” λΉ„νŠΈ 0)

	int num=5; // 00000101
	// 2에 n승 κ³±ν•˜κΈ° => 5*2의2승 => 5*4=>20
	System.out.println(num << 2); // 00010100 // 20

	num=10; // 00001010
	// 2에 n승 λ‚˜λˆ„κΈ° => 10/2의2승 => 10/4=>2
	System.out.println(num >> 2); // 00000010 // 2

	num=10; // 00001010
	// 2에 n승 λ‚˜λˆ„κΈ° => 10/2의2승 => 10/4=>2
	System.out.println(num >>> 2); // 00000010 // 2


πŸ“Œ 객체지ν–₯ ν•¨μˆ˜ κΈ°λ³Έ

  • ν•¨μˆ˜ : 자주 μ‚¬μš©ν•˜λŠ” κΈ°λŠ₯을 ν•œλ²ˆλ§Œ μ •μ˜ => 이름 λΆ€μ—¬ν•΄μ„œ μ •μ˜
    Β Β Β Β Β Β Β Β Β μ •μ˜λœ κΈ°λŠ₯을 λΆˆλŸ¬μ„œ(이름) μ‚¬μš©

  • μ‚¬μš©μž ν•¨μˆ˜μ΄λ¦„ 호좜
    cal(10,20);
    cal(100,200);
    cal(1,2);
    cal(5,7);
    cal(3,8);

	public static void cal(int a, int b){ 
		System.out.println(a+b);
		System.out.println(a-b);
		System.out.println(a*b);
		System.out.println(a/b);
		// ν•¨μˆ˜ 이름 λΆ€λ₯Έκ³³μœΌλ‘œ λ˜λŒμ•„κ°
		return; // μƒλž΅κ°€λŠ₯

✍ hello() 좜λ ₯
- hello() 호좜

✍ cir(10) 좜λ ₯
- μ›μ˜ 면적 κ΅¬ν•˜λŠ” κΈ°λŠ₯을 μ •μ˜ cir (10 μ €μž₯ν•˜λŠ” λ³€μˆ˜) 이름 μ •μ˜
- λ°˜μ§€λ¦„λ°˜μ§€λ¦„3.14 => 좜λ ₯
- cir(10) 이름 호좜

✍ fun1(10) 좜λ ₯
- 짝수 ν™€μˆ˜ κ΅¬ν•˜λŠ” κΈ°λŠ₯을 fun1(10 μ €μž₯ν•˜λŠ” λ³€μˆ˜) 이름 μ •μ˜
- 짝수 / ν™€μˆ˜ => 좜λ ₯
- fun(10) 이름 호좜

0개의 λŒ“κΈ€