Java_기초_Day2

임정민·2022년 10월 24일
0

언어공부

목록 보기
2/10
post-thumbnail

1. Java 기초 다지기 (2)

  1. 비트 연산 & 기본 자료형
int a = 3; 
System.out.println(a);    // 0000 0000 0000 0011 , 1111 1111 1111 1100 , 0001 1000 (-4)
System.out.println(~a);   // 
		
int b = 8;
System.out.println(b);    // 0000 0000 0000 1000 , 1111 1111 1111 0111 , 1001 (-9)
System.out.println(~b);   // 
		
System.out.println();
System.out.println(3/2);
// 1.범정수확장
// 2.두 피연산자 동일하게
// 3. 결과도 피연산자 타입으로
// 결과도 int형으로 나옴
// double(3)/2 캐스팅하면됌
		
System.out.println((float)3/2L);
// float 4byte, int 8byte
// 실수형은 모든 정수형보다 큰 자료형임!!
// double>float>long>int>short>byte 순
		
// long>int>short>byte    char 
//  8    4    2    1       2
		
// byte -> char 프로모션이 가능한가?
// byte -128~127  ,  char 0 ~ 65535
// char는 유일한 unsigned 임
// 프로모션할때 부호가 날라갈 수 있음, 캐스팅 해야함
		
//byte b = 10;  //1바이트 byte -128~127
//char c = b;   //2바이트 0~65535 음수표기 못하기 때문에 불가능
		
System.out.println(3 << 2); // 래프트 시프트연산 3*2*2   00000011  00001100 => 12
System.out.println(3 << 3); // 래프트 시프트연산 3*2*2   00000011  00011000 => 24
System.out.println();
System.out.println(24 >> 1); // 라이트 시프트연산은 부호비트로 민다 0001 1000   0000 1100 =>  12
System.out.println(24 >> 2); // 라이트 시프트연산              0001 1000   0000 0110 =>   6
System.out.println(24 >> 3); // 라이트 시프트연산                          0000 0011 =>   3
System.out.println();
System.out.println(-1 >> 1); // 라이트 시프트연산  -1는 비트로표현하면 11111...
System.out.println(-1 >> 10); // 라이트 시프트연산 
System.out.println();
  1. 람다식, switch문, do while문, 라벨링 등


//람다식
int age = 20;
String adult = age >=19 ? "성년" : "미성년";
System.out.println(adult);


//do while문
int z = 3;
		
do{  		     // do while은 적어도 1번은 실행됌
		System.out.println("do while 실행한다.");
		z++;
	}while(z<3);
        

//switch문
for (int i=1;i<11;i++) {
			
		switch(i) {
			case 1:
				System.out.println("switch구문 Case1 실행");
				break;    // break 없으면 (fall through) case 걸릴때 하위 구문 모두 실행됌
			case 3:		
				System.out.println("switch구문 Case3 실행");
				break;
			case 6:
				System.out.println("switch구문 Case6 실행");
				break;
			case 7:       // 중복되는 실행결과는 fall through 사용해도됌
			case 8:
				System.out.println("switch구문 Case7 or Case8 실행");
				break;
			default:
				System.out.println("switch구문 실행X" +"(" +i + "번째" + ")");
			
		}
	}
        
//라벨링        
aaa: for (int i=0;i<11;i++) {
				for (int j=0;j<11;j++) {
					System.out.print("*");
					if (i==4) {
					
						break aaa; // break + aaa(라벨링)하면 라벨링한 반복문까지 탈출
				}
				
			}
			System.out.println("");
		}

감사합니당🐷🐷🐷

profile
https://github.com/min731

0개의 댓글