에이콘아카데미 회고/5회차) 자바기반 풀스택 개발자 양성과정
JAVA) 02번째 회고
유쨈미
2024. 3. 28. 18:28
1. 문자열(String) 처리
참조형 객체이지만 기본형처럼 사용할 수 있다.
String irum = "홍길동"; // 홍길동 객체의 주소를 irum이란 변수가 기억
System.out.println(irum + "님 만세"); // 홍길동님 만세
2. 상수(Final type)
변수명 = 값(리터럴, Literal) 그 자체
변수에 넣는 변하지 않는 데이터를 의미. 한번 저장된 값은 수정이 불가하다.
final int kbs = 9;
// kbs = 11; // 수정 불가이므로 에러
System.out.println("kbs : " + kbs); // kbs : 9 숫자는 문자열로 바뀜
final double PI = 3.14; // final 변수(=상수)는 대문자로 쓰기를 권장
System.out.println("pi : " + PI); // pi : 3.14
3. 연산자의 종류
1️⃣ 산술 연산자
System.out.println(a + b); // 8
System.out.println(a - b); // 2
System.out.println(a * b); // 15
System.out.println(a / b); // 1 몫
System.out.println(a % b); // 2 나머지
System.out.println(a / (double)b); // 1.6666666666666667 (실수연산. 몫과 나머지)
2️⃣증감연산자
전위 증감연산자 ++a
후위 증감연산자 a++
int no = 1;
no = no + 1;
no += 1;
no++; // 후위 증감연산자
++no; // 전위 증감연산자
System.out.println("no :" + no); // no : 5
int imsi = 5; // imsi가 연산 전에 1증가
int result = ++imsi + 1;
System.out.println("imsi : " + imsi); // imsi : 6
System.out.println("result : " + result); // result : 7
int imsi2 = 5;
int result2 = imsi2++ + 1; // imsi2가 연산 후에 1증가
System.out.println("imsi2 : " + imsi2); // imsi2 : 6
System.out.println("result2 : " + result2); // result2 : 6
📌 주의 : 증감연산자는 다른 연산자와 함께 쓰지 않도록 권장한다.
3️⃣ 부호 관련 (양수, 음수)
int imsi3 = 3;
System.out.println(imsi3);
System.out.println(-imsi3); // 음수 변환
System.out.println(imsi3 * -1); // 음수 변환
4️⃣ 관계, 논리 연산자
연산자 우선순위
() 소괄호 > 산술(*, /, +, -) > 관계 > 논리 > 치환
int a = 5;
System.out.println(a > 3); // 관계(비교) 연산자
boolean bo = a > 3;
System.out.println(bo); // true
System.out.println(a >= 3); // 이상
System.out.println(a <= 3); // 이상
System.out.println(a == 3); // 같다
System.out.println(a != 3); // 다르다
int b = 10;
System.out.println(a > 3); // true
System.out.println(b > 3); // true
System.out.println(a > 3 && b > 3); // 논리 연산자 &&(and : 논리곱) = 두개의 값이 모두 참일때 true
System.out.println(a > 3 && b <= 3); // false
System.out.println(a > 3 || b > 3); // 논리 연산자 ||(or : 논리합) = 둘중 하나라도 값이 참일때 true
System.out.println(a > 3 || b <= 3);
System.out.println(a < 3 || b <= 3); // 두개의 값이 모두 거짓일때만 false
System.out.println(a < 3 || b <= 1 + 1 * 1);
boolean bb = a < 3 || b <= 1 + 1 * 1;
System.out.println(bb);
5️⃣ 삼항연산자
(조건)? 참 일 때값:거짓일 때값
int sbs = 8;
int mbc = (sbs > 5)?100:10 + 20 * 2; // 조건이 참이면 ?옆의 값, 거짓일때는 콜론옆의 값을 sbs값에다 대입
System.out.println(mbc);
System.out.println();
int x, y, z;
x = y = z = 5;
System.out.println(x + " " + y + " " + z); // 5 5 5
6️⃣ Shift 연산
int ii = 8, ij = 0;
System.out.println("ii:" + Integer.toBinaryString(ii)); // ii:1000
ij = ii << 1; // << 좌측으로 1bit 이동. 남은 우측은 0으로 채움
System.out.println("ii:" + ii + ", " + ij); // ii:8, 0
ij = ii >> 1; // >> 우측으로 1bit 이동. 남은 좌측은 부호(0:양수, 1:음수)와 같은 값으로 채움
System.out.println("ii:" + ii + ", " + ij); // ii:8, 0
ij = ii >>> 1; // >> 우측으로 2bit 이동. 남은 좌측은 0으로 채움
System.out.println("ii:" + ii + ", " + ij);
4. 조건문 If
int num = 1;
if (num >= 3) { // 조건이 참일 때만 두 개의 실행문 수행
System.out.println("크쿤요"); // if 조건문과 상관있음
System.out.println("참일 때");
}
System.out.println("출력"); // if 조건문과 상관없음
num = 5;
if(num < 3) { // 조건에 따라 참 또는 거짓 영역 수행
System.out.println("작군요");
System.out.println("참일 때 수행");
}else {
System.out.println("거짓일 때 수행");
}
// 거짓일 때 수행
5. 다중 If
jumsu = 65;
if(jumsu >= 70) {
if(jumsu >= 90) {
System.out.println("우수");
}else {
System.out.println("보통");
}
}else {
System.out.println("어라 70점 미만");
if(jumsu > 50) {
System.out.println("50점 초과");
}else {
System.out.println("50점 미만");
}
}
// 50점 초과
오늘은 수업을 들은 지 이틀째이다.
첫날인 어제와는 달리 진도가 쑥쑥 나가서 따라가기 조금 벅찼다..!
그래도 강사님이 아예 처음인 사람들도 이해하기 쉽게끔 잘 설명해 주셔서 좋았다.
낯선 분야에서의 새롭게 배운 것들이 너무 많아서 하나하나 완벽히 이해하기 힘들지만,
매일 연습해 보고 되돌아보며 열심히 이해해 보도록 노력해야겠다.