오우 오늘은 2시간 내내 서서갔다..
원래는 금정쯤에서 앉을 수 있었는데.... 두시간 내내 서서 강남까지 가니 참...힘들구만유
나중에 서울로 취직하면 어케 출퇴근다니지 ㅠ.ㅠ
오늘은 4일차 어제 연산자를 배우다 아직 못배운 걸 배웠다
복합대입연산자랑, 삼항연산자를 배우고 나머지 시간들은 실습문제를 풀었다
학원에 있으면서 느끼는건 9-3시30분 수업시간이 생각보다 굉장히 짧다는거
그래서 내가 학원만 가까우면 9 to 6시 종일반도 괜찮을 것 같다 뭐 몇개배우면 벌써 3시임.
학원가기전에 예습만 충분히 한다면 종일반도 쌉괜찮. 을것같지만 초반이라서 그런거겠지?
하지만 오전반은 또 오전반만의 메리트가 있다...
지옥의 출퇴근시간에서 퇴근시간은 피할 수 있다는거...
집오고 밥먹고 씻고 하면 7-8시 지만..그래도 종일반보다는 그나마 복습시간이 있겠지
오늘 배운 걸 복습하겠다
오늘은 이론은 짧게 배우고 대부분의 시간을 실습, 직접 적어가면서 하는게 거의 다 였다
복합 대입 연산자는 많이 쓰이긴 하지만 내가 안 쓴다고해서 문제가 되는 것은 없지만 (읽고 해석할 줄 은 알아야함)
삼항연산자는 이해가 안가면 추후에 문제가 아주 크고 개발하기 힘들다고 강사님이 말씀해주셨는데 그래서 그런지 삼항연산자 실습을 굉장히 많이 했다
감사합니다..학원을 다니는 보람이 있어여!!!
복합대입연산자
산술연산자와 대입연산자가 결합되어있는형태
(산술연산자를 먼저 쓰고 대입연산을 나중에 씀) 쓰는 이유 - 연산처리 속도가 빠르고 간편
이론만 보면 이해 안감. 실습을 하면서 이해를 해야 와닿는다
a = a +3;
라고 쓰는걸
→ a +=3 로 줄여서 쓸 수 잇다
쓰는 이유 - 연산처리 속도가 빠르고 간편
익숙해지면 걍 쓰게 됨
public void method1(){
int num = 12;
sysout("최초num: " +num);
num = num + 3;
sysout(num); //15
num += 3;
sysout(num); // 18
num -= 5;
sysout(num); //15
num *= 6;
sysout(num); //78
num /= 2;
sysout(num); //39
num %= 4;
sysout(num); //3
String str = "Hello";
str += "World!!"
sysout(str) //HelloWorld
다양한 산술연산자를 대입연산자와 붙여서 간편하게 쓰기 가능하다
중복을 매우 싫어하는 자바의 성향을 잘 반영한것같다...
변수하나 더 쓰기 귀찮아서 이케하는것 아임니꺼?
num +=3; // num이랑 3을 더해서 num에 대입
이건 간단실습하고 넘어감
삼항연산자
중요한 !!!!! 꼭 알아야할 !!!!! 삼항연산자라고 하셨다
이거 모르면 개발 못함이라고 못 밖으셨다
집에가서 꼭 복습하라고
삼항연산자 문제만 10개 넘게 한 것 같다
표현식
(조건식) ? 조건이true면 돌려줄 결과값(실행할코드) : 조건이 false(거짓)일경우 돌려줄 결과값 (실행할코드)
(조건식) ? 조건이true면 돌려줄 결과값(실행할코드) : 조건이 false(거짓)일경우 돌려줄 결과값 (실행할코드)
특이사항 물음표와 땡땡이가 들어간다!!!!!!
물음표를 기준으로 왼쪽에는 조건식 (true와false를반환하게작성) 을 적고 오른쪽에는 실행할 코드,문장을 적으면됨
사용이유?
true,false 값을 그대로 사용자에게 보여주기보다 알맞은 메세지를 출력하기 위해 많이 씀
▼입력받은 정수값이 양수인지 아닌지 판별 후 출력
public void method1(){
Scanner sc = new Scanner(System.in);
sysout("정수입력 : ");
int num = sc.nextInt();
//입력한 값이 0보다 클 경우 양수, 아닌경우 를 출력
String result = (num >0) ? "양수임" : "양수아님" ;
sysout(result);
//sysout(num+"은" + ((num>0)? "양수임" : "양수아님")); 라고 해도 되지만 가독성이
//떨어지기 때문에 변수에 넣어서 변수를 출력하는게 좋음
}
중첩 삼항 연산자☆☆☆☆☆☆☆
삼항연산자에서는 결과값이 2개만 설정할수 있었다면
중첩 삼항 연산자는 결과값을 3개이상로 정할 수 있음
대신 조건식이 더 붙음. 당연함.
첫번째 조건이 트루면 실행할 문장과
첫번째 조건이 트루가 아닐때 두번째 조건을 보고 맞으면 실행할 문장과, 두번째 조건이 틀리면 실행할 문장을 적는거임
(조건식1) ? true값 : (조건식2) ? truer값2 : false값2 ;
긍까 조건식1의 false값이 들어가야할 위치에 삼항연산자가 또 들어가는것임..
▼사용자가 입력한 정수값이 양수인지, 음수인지, 0 인지 판별 후 출력
public void method5(){
Scanner sc = new Scnner(System.in); //정수를입력받을수잇도록Scanner객체생성
sysout("정수입력:"); //콘솔에출력될 문장.
int num = sc.nextLine(); // 입력값을 받고 저장함
String result = (num>0)? "양수" : (num==0)? "0임" : "음수";
// (num이0보다크냐?) 맞으면 "양수"출력 : 아니면 (num이 0이냐?) 맞으면"0"출력 : 아니면 "음수" 출력
sysout(result);
//result에 들어온값을 출력함
}
출력값
0보다 큰 수 을 입력하면 "양수"
0을 입력하면 "0임"
둘다 아니면 "음수" 출력
진짜 친절하게 설명 다 달았다.
이거보고도 이해 못하면 바보
12시 반까지 한시간? 동안 실습문제를 풀고
점심시간 후 부터 2시간은 실습문제 풀이를 했다
근데 집에 돌아와서 오늘 수업한걸 보니 생각보다 선생님이 말로 한 수업내용을 주석에 많이 적지 않앗따!!!!
샘님이 적은것만 주석으로 적지말고 말로 한것 도 많이 적어두삼..
오늘 실습 문제 풀고 내가 주의해야할것~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
Scanner 객체 생성하고 출력문 적을때
자꾸 System.out.println() 문으로 해가지고 print()로 고치느라고 두번씩 일함
sysout이 익숙해져서..그렇긴 하지만 Scanner 객체 생성시에는 기억하라곳!!!
그리고
sc.nextInt(); 쓰고나서 sc.nextLine(); 쓸떄 엔터값 먹으니까
쓰기전에 sc.nextLine();
한번더써서 버퍼에 남아있는 엔터값 지우라구..
그리고 문제푸는데
위에 문제랑 코드가 비슷하면 일일이 다 쓰지말고 복붙하라굿...그것도 센스라구
그리고 중첩삼항연산자 쓸 때 3개의 조건을 쓸 수가 있다면 쉬운조건문을 골라서 작성하라고~~급하게 냅따리 작성하지말고 효율적인 코드를 생각하라고~~~~~~~~~
그리고 실습 문제 제대로 잘 꼼꼼히 읽으라고~~~ 대충 읽어서 자꼬 디테일에서 틀리지말라고~~~~
그리고 다 쓰고 실행하면서 값 확인 제대로하라고~~한두번하고 맞다고 넘기지말라고~~~ 문제 두번세번읽어서 진짜 제대로 맞는건지 확인하라고~~~ 다했다고 핸드폰하지말고 다시 한번 보라고~~~~
스캐너객체 사용 완전 끝났으면
센스있게 sc.close(); 붙이라고~~~~
'국비수업' 카테고리의 다른 글
[국비 Java 7일차] for문 뽀개기 구구절절 설명충 (1) | 2022.10.26 |
---|---|
[국비 Java 6일차] 조건문 if / switch (0) | 2022.10.26 |
[국비 Java 4일차] 연산자 (0) | 2022.10.21 |
[국비 Java 3일차] 과제 코드리뷰 / printf() 메소드/ 강제 자동 형변환 (0) | 2022.10.20 |
[국비 Java 2일차] 변수와 Scanner로 값 입력받기 (0) | 2022.10.19 |