Day23 JAVA

μ›°μΉ˜μŠ€Β·2022λ…„ 11μ›” 23일
0

221125

πŸ“Œ μ»΄ν“¨ν„°μ—μ„œ 수λ₯Ό ν‘œν˜„ν•˜λŠ” 방법

  • μ»΄ν“¨ν„°μ—μ„œλŠ” 0κ³Ό 1둜 μ €μž₯됨
    λ°˜λ„μ²΄ μ‹ ν˜Έ : 꺼짐 0 / 켜짐 1
  • 0,1 ν‘œν˜„ν•˜λŠ” μ΅œμ†Œ λ‹¨μœ„ => 1λΉ„νŠΈ
    8λΉ„νŠΈκ°€ λͺ¨μ΄λ©΄ => 1λ°”μ΄νŠΈ(byte)

πŸ“– 10μ§„μˆ˜, 2μ§„μˆ˜, 8μ§„μˆ˜, 16μ§„μˆ˜

  • 10μ§„μˆ˜ 9999 => 9*1000 + 9*100 + 9*10 + 9*1
  • 2μ§„μˆ˜ Β Β 1111 => 1*8(2의3승) + 1*4(2의2승) + 1*2(2의1승) + 1*1(2의0승)
    Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β =>Β Β Β 8Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β 4Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β 2Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β 1
  • 8μ§„μˆ˜Β Β Β Β Β  77 => 7*8 + 7*1
  • 16μ§„μˆ˜Β Β Β Β Β Β ff => 15*16 + 15*1

πŸ“– μŒμˆ˜ν‘œν˜„

  • 10μ§„μˆ˜ 5 => -5 λ”ν•˜λ©΄ 5+(-5)=0

  • 2μ§„μˆ˜ Β Β Β Β Β Β Β Β Β Β Β 5Β Β Β Β Β => 00000101
           -5 (2의보수) => 11111010+1 => 11111011
    ⁖ 00000101 + 11111011=> 100000000 (8λΉ„νŠΈκΉŒμ§€λ§Œ μ‚¬μš©λ¨μœΌλ‘œ λ§¨μ•žμ˜ 1은 버렀짐)
    ✍ 2의보수 (2μ§„μˆ˜μ˜ μŒμˆ˜ν‘œν˜„) => 0->1, 1->0 λ³€κ²½ => +1

  • 10μ§„μˆ˜μ˜ 음수
    ex) 3 -> -3

  • 2μ§„μˆ˜μ˜ 음수
    ex) 0011 -> 1100+1= 1101 => λ”ν•˜κΈ° 10000 (맨 μ•žμ˜ 1은 λΉΌκΈ°) = 0000

πŸ“– Java => μ •μˆ˜ν‘œν˜„ - 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)

πŸ“– &(AND): λ‘κ°œμ˜ λΉ„νŠΈκ°’μ΄ λͺ¨λ‘ 1인 κ²½μš°μ—λ§Œ μ—°μ‚°μ˜ κ²°κ³Ό 값이 1

1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0

		int num1=5;		// 2μ§„μˆ˜	8 4 2 1 => 0 1 0 1
		int num2=10;	// 2μ§„μˆ˜ 8 4 2 1 => 1 0 1 0
		int result=num1&num2;			// 0 0 0 0
		System.out.println(result);		// 0

πŸ“– |(OR): λΉ„νŠΈκ°’μ΄ ν•˜λ‚˜λΌλ„ 1이면 μ—°μ‚° κ²°κ³Ό 값이 1

1 | 1 = 1
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0

		num1=5;		// 2μ§„μˆ˜	8 4 2 1 => 0 1 0 1
		num2=10;	// 2μ§„μˆ˜ 8 4 2 1 => 1 0 1 0
		result=num1|num2;			// 1 1 1 1
		System.out.println(result);	// 15

πŸ“– ^(XOR): λΉ„νŠΈκ°’μ΄ κ°™μœΌλ©΄ 0이고, λ‹€λ₯΄λ©΄ 1

1 ^ 1 = 0
1 ^ 0 = 1
0 ^ 1 = 1
0 ^ 0 = 0

		num1=5;		// 2μ§„μˆ˜	8 4 2 1 => 0 1 0 1
		num2=10;	// 2μ§„μˆ˜ 8 4 2 1 => 1 0 1 0
		result=num1^num2;			// 1 1 1 1
		System.out.println(result);	// 15

πŸ“– ~(NOT): 0->1, 1->0

~1 => 0
~0 => 1

		num1=10;		// 2μ§„μˆ˜	8 4 2 1 => 1 0 1 0 => 00001010
		result=~num1;	// 2μ§„μˆ˜ 8 4 2 1 => 0 1 0 1 => 11110101
		System.out.println(result);					// -11

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

πŸ“– << (μ™Όμͺ½μœΌλ‘œ λΉ„νŠΈμ΄λ™ μ—°μ‚°)

	int num=5;						// 2μ§„μˆ˜	8 4 2 1 => 00000101
									// 2에 n승 κ³±ν•˜κΈ° => 5*2의2승 => 20
	System.out.println(num << 2);	// μ™Όμͺ½μœΌλ‘œ λ‘λ²ˆμ΄λ™ 20 => 00010100

πŸ“– >> (였λ₯Έμͺ½μœΌλ‘œ λΉ„νŠΈμ΄λ™ μ—°μ‚°)

	num=10;							// 2μ§„μˆ˜	8 4 2 1 => 00001010
									// 2에 n승 λ‚˜λˆ„κΈ° => 10/2의2승 => 10/4 => 2
	System.out.println(num >> 2);	// 였λ₯Έμͺ½μœΌλ‘œ λ‘λ²ˆμ΄λ™ 2 => 00000010

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

	num=10;							// 2μ§„μˆ˜	8 4 2 1 => 00001010
									// 2에 n승 λ‚˜λˆ„κΈ° => 10/2의2승 => 10/4 => 2
	System.out.println(num >>> 2);	// 였λ₯Έμͺ½μœΌλ‘œ λ‘λ²ˆμ΄λ™ 2 => 00000010

πŸ“Œ <객체> - λ©”μ„œλ“œ

πŸ“– λ³€μˆ˜ : λ³€ν•˜λŠ” 수, κΈ°μ–΅μž₯μ†Œμ— 이름을 λΆ€μ—¬ν•΄μ„œ 값을 μ €μž₯.
              이름을 λΆˆλŸ¬μ„œ κΈ°μ–΅μž₯μ†Œμ— 값을 μ‚¬μš©.

		int a=100;
		int b=200;
		System.out.println(a+b);		//300
		System.out.println(a-b);		//-100	
		System.out.println(a*b);		//20000
		System.out.println(a/b);		//0

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

		// μ‚¬μš©μž ν•¨μˆ˜μ΄λ¦„ 호좜
		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();

public static void hello() {
	System.out.println("μ•ˆλ…•ν•˜μ„Έμš”");
    System.out.println("μ•ˆλ…•");
	System.out.println("hello");
	System.out.println("hi");
	return; 
  	}//hello

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

cir(10);

public static void cir(int r){
	System.out.println(r*r*3.14);
	return;
	}//cir
    				// 314.0

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

fun1(8);

public static void fun1(int a){
	if(a%2==0) {
		System.out.println("짝수");
	}else{
		System.out.println("ν™€μˆ˜");
	}
	return;
	}//fun1
    				// 짝수

0개의 λŒ“κΈ€

κ΄€λ ¨ μ±„μš© 정보