어? 이게 되네
2022.03.30. 수요일 이공계 전문기술 연수사업 3일차 본문
오늘 배운 것
제어문
ㄴ프로그램의 흐름을 제어하기 위한 문장들
선택문, 반복문, break,continue
---------------------------------------------
선택문
ㄴ상황에 따라 실행코자 하는 명령어들을 선택시킬 때 사용하는 문장
ㄴ종류는 if와 switch가 있음
----------------------------------------------
switch의 구조
switch(항){
case 값1:
명령어(들);
case 값2:
명령어(들);
case 값3:
명령어(들);
....
case 값n:
명령어(들);
default:
명령어(들);
}
항에는 변수가 오거나 변수를 이용한 수식이 오거나 메소드 호출문이 올 수 있음.
반드시 각각의 case문 끝에 break가 있어야 하는 것은 아님.
해결해야 할 문제에 따라서 적절한 곳에 break를 둘 수 있음.
각각 케이스의 값이 순서대로 올 필요는 없음.
하지만 케이스의 값이 중복되어선 안됨.
같은 처리를 하는 케이스들을 한 줄로 표현할 수 있음.
------------------------------------------------------------------------------------------------------------
반복문
ㄴ특정 명령어들을 조건을 만족할 동안 계속해서 반복 실행코자 하는 문장을 말함.
ㄴ종류는 for, while, do~while 세 가지가 있음.
------------------------------------------------------------------------------------------------------------
반복문 - for 문의 형태
for(조건식1;조건식2;조건식3){
반복 실행시킬 명령어(들)
}
반복실행시킬 명령어가 한 개밖에 없으면 중괄호를 생략할 수 있음.
그러나 반복실행시킬 명령어가 두 개 이상이면 반드시 중괄호로 묶어줘야함.
조건식1 : 초기값
조건식2 : 최종조건식
조건식3: 증감식
반복문에서 필요한 변수를 미리 선언할 수도 있고 필요한 곳에서 바로 선언하여 사용할 수도 있음.
또, 필요하다면 반복문에서 선택문을 표현할 수 있음.
------------------------------------------------------------------------------------------------------------------
중첩반복문
ㄴ반복문 안에 또 다른 반복문이 올 수 있음.
중첩반복문의 구조
for(int i=1; i<=3; i++){
명령어;
}
위의 반복문은 명령어가 3번 동작함.
i가 각각 1,2,3일 때 동작함.
for(int i=1; i<=3; i++){
for(int j=1; j<=4; j++){
명령어
}
}
위의 반복문은 명령어가 12번 동작함
---------------------------------------------------------------------------------------------------------
String의 문자열이 정확히 일치하는지 판별하고 싶을 때는
(String으로 선언한 문자열변수).equals("판별할 문자열")기능을 사용함.
오늘 헷갈린 것
- 사용자에게 양수인 정수 n을 입력받아서 짝수의 갯수, 짝수의 합, 홀수의 갯수, 홀수의 합을 for문 출력해서 간단하게 구하는 방법이 떠오르질 않아서 당황했음ㅠ
- 변수를 if문이나 for문 밖에서 정의/선언하는지 안에서 정의/선언하는지에 따라 오류가 날 수 있음을 깨달았다. 아직 정확하게 숙지한 건 아니지만 더 알아봐야겠다.
- for문 (반복문) 탈출 후에 선언한 변수 i가 뭘로 찍히는지 정확히 판별하는 것이 아직도 헷갈린다.
- 자바에서 스트링의 기능 중에 charAt(); 기능 다시 숙지하기.
- 변수가 있고 선언을 한 후에 초깃값을 설정해야 비로소 그 변수가 무엇인지 정의내릴 수 있음
오늘 한 생각
오늘은 분명 피곤한데 잠이 안와서 잠을 조금 설쳤더니 더 피로가 누적된 기분이다.
그래서 그런지 센터 와서 코드 치는데 좀 집중이 안된다. ㅠㅠ 앞에 분 키보드 소리도 거슬리기도 하고..ㅎ(핑계)
그리고 컴퓨터적으로 사고하는 것이 아직은 좀 익숙하지 않다. ㅠ 수학과의 고질병.. 공식병..
최대한 코드를 칠 때 어떻게 하면 간단하게 칠 수 있는지 고민하고 치는 연습이 많이많이 필요하다.
그리고 생각보다 기록은 정말정말 중요한 것 같다.
다른 사람들의 블로그를 참고하면서 나도 하루하루 배운 것들 꼼꼼하게 기록해놓는 습관을 들여야겠다.
'TIL' 카테고리의 다른 글
2022.04.07. 목요일 이공계 전문기술 연수사업 9일차 (0) | 2022.04.07 |
---|---|
2022.04.06. 수요일 이공계 전문기술 연수사업 8일차 (0) | 2022.04.06 |
2022.04.05. 화요일 이공계 전문기술 연수사업 7일차 (0) | 2022.04.05 |
2022.04.04. 월요일 이공계 전문기술 연수사업 6일차 (0) | 2022.04.04 |
2022.03.29. 화요일 이공계 전문기술 연수사업 2일차 (0) | 2022.03.29 |