Java_기초_Day3

임정민·2022년 10월 24일
0

언어공부

목록 보기
3/10
post-thumbnail

1. Java 기초 다지기 (3)

1) 자료형에 따른 시프트 연산


int i = -24;           //     00000000 00000000 00000000 00011000 =>24
i >>>=2;               //     11111111 11111111 11111111 11100111 (1의보수)
System.out.println(i); //  11111111 11111111 11111111 11101000 (2의보수) => -24를 뜻함
		 			   //  00111111 11111111 11111111 11111010 >>>=  양수가 됌
		
		
byte i2 = -24;        //    00011000 => 24 , 11100111(1의 보수) , 11101000(2의 보수) -24 
i2 >>>=2;             //     11111111 11111111 11111111 11101000
System.out.println(i2); //  (        *범정수 확장       ) (byte 크기)	
		 			    //  (음수면 1로 채우고, 양수면 0으로 채움)
					    //  00111111 11111111 11111111 11111010 => -6
//   연산자    피연산자    연산결과
// 산술연산자    수치형     수치형    a+b = 10
// 비교연산자    논리형     논리값    a>10 true,false
// 논리연산자    논리형     논리값    a>10 || a=10  a>10
// 비트연산자  정수형(int)  정수형    3 >> 2

2) 배열의 선언과 초기화

int arr [] ; // 1. 선언
int [] arr2; // [배열] 1.선언 2.할당 3.초기화
		
arr = new int [5];  // 2. 할당 
arr2 = new int [] {1,2,3};
//int arr2[] = new int [] {1,2,3};  선언,할당,초기화 동시에 가능
		
System.out.println(arr);
System.out.println(arr[1]);
System.out.println(arr[4]);
System.out.println(arr2);
		
double arr3 [];
arr3 = new double [3];
System.out.println(arr3[1]);   // 자동초기화: 수치형-0, 논리형-false, 객체형-null
		
String arr4 [];
arr4 = new String [4];
System.out.println(arr4[1]);    // String은 객체타입이기때문에 자동초기화시 null
		
for (int j=0; j<arr4.length; j++) {
		System.out.println(arr4[j]);
			
			
	}

3) String 끼리 연산


String n1 = "홍길동";
String n2 = "홍길동";
		
int a1 = 10;
int b1 = 20;
		
System.out.println(n1 == n2); // ==가 무슨 연산을 하는가? n1,n2는 String. 객체형, 주소값을 나타냄, 주소를 비교함
						      // == 는 비교연산, 항등연산임. 피연산자로써 산술식(수치,주소)
							  // *주소를 비교함 
System.out.println(n1.equals(n2));
System.out.println(a1 == b1); // *값을 비교함
//		System.out.println(a1.equals(b2));

// 객체,배열은 주소비교
// 기본자료형(primitive)는 값을 비교

감사합니당🐷🐷🐷

profile
https://github.com/min731

0개의 댓글