본문 바로가기

JAVA/DAY 05 _ 23.08.23

(14)
Operator1. 산술 연산 # 연산자 (연산자, 피연산자, 연산식) : 타입을 잘 신경 써야 함 1. 산술 연산 int a = 10; int b = 3; int r1 = a + b;// +, = : 연산자, a,b : 피연산자, a+b : 연산식 int r2 = a - b; int r3 = a * b; int r4 = a / b;// 정수나누기 System.out.println(r4); int r5 = a % b;// 나머지 System.out.println(r5); // 1-1. 산술 연산시 주의사항1. byte b1 = 10; byte b2 = 3; // byte r6 = b1 + b2; ---> 정수 연산시 int + int 로 인식되어 byte r6로 받을 수 없다 // float + float도 double연산이 됨 //..
java 단축키 ● syso + ctrl + space : 자동출력 ● shift + ctrl : 단어를 드래그 할 수 있음 ● home / end : 앞뒤... ● shift + 방향키 : 한칸씩 드래그 함 ● shift + home/end : 한줄을 드래그 함 ● ctrl + 방향키 : 단어씩 옮겨짐 ● shift + ctrl + 방향키 : 단어씩 드래그 됨 ● ctrl + alt + 방향키 : 한줄이 복사됨(위 아래로)
memory 1. 메모리의 생성과 소멸 ★★★★ * 모든 지역변수(형광노랑)는 stack에 생성됨 * 스코프(블럭 = {})를 탈출하면 소멸됨 1) aaa라는 메모리에 10을 할당하는것 2) { }를 쓰면.... 그 안에서만 쓰는 메모리임 //int aaa = 10; //aaa = 20; //int aaa = 30;-> 같은 변수를 한번 더 쓰는건 안되는게 일반이야. aaa변수를 한번 더 쓰고 싶으면 방법이? { int aaa = 10; aaa = 20; System.out.println(aaa);// 20 --------> 이 시점 이후에 스코프 탈출 == int aaa = 10;이 소멸되는 것. } // System.out.println(aaa);// { } 밖에서 print를하고싶은데 명명이 안돼있으니 출력이 ..
변수 명명법 1. 문법적 한계 // 1-1. 대소문자 구분됨 int age = 10; int aGe = 20; // 1-2. 길이제한 없음 int aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa = 2; // 1-3. 영문 소대문자 + 숫자활용 가능 (단, 숫자가 먼저 나올 수는 없음) // int 1a = 10; 은 안된다고 int a1121b4545CCC1 = 10; // 1-4. 특수문자는 2개만 가능(위치, 몇개쓰든 상관X) : _ , $ int $a = 10; int __A_____ = 10; 2. 변수 명명 스타일 (카멜, 파스칼, 스네이크.. 등등 있긴함) : 무조건 카멜로!!! ★★★★★ // 2-1. 의미있게 이름 짓자구 --> a1 보다는 age1 // 2-2. 단축하지 말자 --> cnt ..
Type Casting byte a1 = 10; // int a2 = "안녕하세요"; // 좌항과 우항의 타입이 같아야한다!! int집에는 정수만 들어갈수있따구.... int a2 = a1; System.out.println(a2);// int가 더 큰 정수범위니까 들어갈 수 있다 = 타입 캐스팅 // byte a3 = a2;// byte는 int보다 작은 정수범위니까 들어갈 수 없다구. byte a3 = (byte)a2;// 명시적 타입 캐스팅 : 값의 증발을 감수하고 사용해야한다. // 프로그래머가 판단해야 함 double b1 = 0.1; // int 2 = a4;// type mismatch : 실수는 정수안에 들어갈 수 없다고! // 작은집에 왜 넣으려고해 double b2 = a2;// 이건된다고! ★★★★ Syst..
literal # literal : 값을 그대로 표현하는 것, 코드의 가독성을 높이고 값을 명시적으로 표현하는 데 도움을 줌 1. 숫자 리터럴 : 숫자 값을 직접 표기한 것이며, 문자열 리터럴은 문자열 값을 직접 표기한 것.. int a1 = 10; a1 = 0b0101;// 0b : 이걸 맨앞에 쓰면 2진수로 표현하겠다는 의미 ---> 사용 X... a1 = 0xA; // 0x : 이걸 맨앞에 쓰면 16진수로 표현하겠다는 의미 ---> 10진수 다음으로 많이 사용!!!! // 0 → 0, 1 → 1 ... 9 → 9, 0A → 10, 0B → 11, ... 0F → 15 (= 아스키코드) // 2진수보다는 간결하게 표현할 수 있고, 2진수로 변환할 때 '각 자리의 숫자들이 4비트씩 대응'되어 변환이 용이 System..