배움 __IL/TIL 1기

TIL : 9번째- 221209 [12-1-금]

Mo_bi!e 2022. 12. 9. 21:51

※ Keep in mind

 본 내용은 웹개발과정의 강의 중 내용을 복습을 위해서 메모한 것에 불과한 것입니다. 이러한 연유로 강의내용을 오인한 나머지 오기재 및 불기재가 있을 수 있으니 '참고'만 해주시길 바랍니다. 저의 경우에도 본 내용을 단순히 읽은 것이 결코 저의 것이라고 생각하지 않습니다. 본 내용은 복습를 위한 초기 내지 중간 과정에 불과한 것이고, 이후에 내용을 보충 후 인출 및 설명하기 과정이 있어야 비로소 복습의 단추가 어느정도 마무리 되어간다고 볼 수 있습니다.

 따라서 당초에 본 내용은 비공개였습니다. 그럼에도 불구하고 본 내용을 공개한 점은 함께 공부하는 동료들과 나눔을 바탕으로 배움과 성장의 공진화라는 소기의 목적을 달성에 어느정도 도움이 될수 있기 때문이라고 생각합니다.

I. INTRO : 지난시간 복습

-지난 시간 복습

지난시간 제어구조를 다 끝냄

반복연습을 해보자

 

II. 제어구조

1. 반복흐름

(1) 반복되는 인덱스 활용하기

몇번 째 반복하는 횟수에대한 변수가 있다. (int i) 반복하는 횟수를 index라고 하고 주로 0부터 시작한다.

index로 출력할 수 있어야한다.

 

1) 

				for(int i = 0 ; i < 3 ; i++){ //for문안은 가급적 바꾸지 않는것이 바람직
					System.out.printf("-----------<%d>-----------\n", i+1); 
					System.out.printf("국어1 : %5d\n", kor1);
					System.out.printf("국어2 : %5d\n", kor2);
					System.out.printf("국어3 : %5d\n", kor3);
			                        
					System.out.printf("총점 : %5d\n", total);
					System.out.printf("평균 : %6.2f\n", avg);
//					System.out.printf("─────────────────────────\n");
					}

 

2)

인덱스를 건들이지 않고 접근 해 보아야한다.

			for(int i = 0 ; i < 3 ; i++){ //for문안은 가급적 바꾸지 않는것이 바람직 
					System.out.printf("-----------<%d>-----------\n", 3 - i);   //3-i로 변경
					System.out.printf("국어1 : %5d\n", kor1);
					System.out.printf("국어2 : %5d\n", kor2);
					System.out.printf("국어3 : %5d\n", kor3);
			                        
					System.out.printf("총점 : %5d\n", total);
					System.out.printf("평균 : %6.2f\n", avg);
//					System.out.printf("─────────────────────────\n");
					}

역순은 값을 차감하는 방식으로 접근해야한다.

 

 

 

 

 

 

 

 

(2) N번 반복한는 for문에사용하는 두가지 인덱스

index(i) VS num

index 는 0부터 선언해야하고

num 은 1부터로 선언해야한다

 

두가지를 용도에 따라서 다르게 사용해야한다

for (int i= 0 , n =1 ;  i<20 ; i++, n++)

인덱스를 증가해서 멈추는것이고 n은 수일 때 이렇게 이용해야한다

 

for( ; i< 20 ;)

이 경우 가독성위해 20번 반복하는 것을 명시적으로 보여주기 위해 고정이 가능하다.(반복횟수표현)

 

(3) 테스트 해보기  (반복문 필수패턴 암기 요망)

1 ) , 가 마지막이 아닐 때 만 출력하기 (마지막 조건 예외처리)

for(int i = 0 ; i < 5 ; i++) {
		System.out.printf("%d", i+1);
		
			if(i < 4) { // i != 4 도 가능
				System.out.print(",");
			}
		}

가급적 i != 4 를 추천

문제의 요구에 부합하게끔

 

 

2) 가운데 3번째가 출력안되게끔

package ex1;

public class ForTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		for(int i = 0 ; i < 5 ; i++) {
			
			if(i != 2) {
				System.out.print("☆");
				System.out.printf("%d", i+1);
				
				if(i != 4) { // i != 4
					System.out.print(",");
				}
			}
		}
	}

}

//이런경우 괄호 블럭크기가 클수록 바람직한 것은 아님

 

따라서

for(int i = 0 ; i < 5 ; i++) {
			
			if(i == 2)
				continue; //이걸로 조건문 블럭안을 최소화 가능 함
			
			System.out.print("☆");
			System.out.printf("%d", i+1);
				
				if(i != 4) { // i != 4
					System.out.print(",");
				}
			}

continue 이용

 

3) for문 조건식을 건들이지 않고 3번째 까지만 활용 되게끔

for(int i = 0 ; i < 5 ; i++) {
			
			if(i > 2)
				continue;
			
			System.out.print("☆");
			System.out.printf("%d", i+1);
				
				if(i != 4) { // i != 4
					System.out.print(",");
				}
			}

그러나 continue 보다는

break 쓰면된다

 

for(int i = 0 ; i < 5 ; i++) {
			
			if(i == 2)
				break;
			
			System.out.print("☆");
			System.out.printf("%d", i+1);
				
			if(i != 4)  // i != 4
				System.out.print(",");
				
			
			}

 

4) 3부터만 출력되게금

for(int i = 0 ; i < 5 ; i++) {
			
			if(i < 2)
				continue;
			
			System.out.print("☆");
			System.out.printf("%d", i+1);
				
			if(i != 4)  // i != 4
				System.out.print(",");
				
			
			}

(4) 테스트 해보기  (반복문 텍스트대체)

1) 5번째,6번째에 다른 문자로 출력하기 

		for(int i = 0 ; i < 10 ; i++) {
				
				if(i == 4) {
					System.out.printf("%c", '○');
				}
				else if(i == 5)
					System.out.printf("%c", '★');
				
				else { //기본출력으로 두기 (기본값)			
					System.out.printf("%c", '┼');
				}
				
				
			}
			
			System.out.println("\n\n switch 경우 ");
			
			for(int i = 0 ; i < 10 ; i++) {
				
				switch (i) {
				case 4 : 
					System.out.printf("%c", '○');
					continue;
				case 5:
					System.out.printf("%c", '★');
					continue;			
				default :
					System.out.printf("%c", '┼');
					
				}}

 

 

2) 짝수로 출력해보기

 

반복된 수로 패턴 만들어보기 > 등차수열 의미 함

	for(int i = 0 ; i < 10 ; i++) {
				
				if(i % 2 == 1)
					System.out.printf("%c", '★');
				
				else { //기본출력으로 두기 (기본값)			
					System.out.printf("%c", '┼');
				}
				
				
			}

위의 경우 등차수열이용하지 않고 하는 것은 운이 좋은 상황이다

가급적 수열을 이용해야 함

 

3) 10번째 마다 \n 넣어주기

	for(int i = 0 ; i < 10 ; i++) {
				
			for(int j = 0 ; j < 10 ; j++) {
						
						if(i == 2 && j == 2) 
							System.out.printf("%c", '○');				
						else
							System.out.printf("%c", '┼');
			}				
			System.out.println();
		}
				
//		}
//		System.out.println();
//		-----------------------------------

		System.out.println();
		for(int i = 0 ; i < 100 ; i++) {
			
			if(i == 22)
				System.out.printf("%c", '○');
			else 	
				System.out.printf("%c", '┼');
			
			
			if((i + 1) % 10 == 0) // 괄호로 우선순위 생각을 하지 못했음
				System.out.print("\n");
			
		}

III. git 

1. 중요성

git은 최근들어 중요함 (비대면 시공간초월)

 

다만 모든기업이 이용하지는 않음(모든기업이 비대면 시공간초월 X)

그러므로 모여서 하는 기업의 경우 바람직한 방식이 아님

 

2. Git 로컬 저장소 생성하기 (git init)

git bash 에다가 git init을 해서 저장소를 만든다.

3. Git 로컬 저장소 생성하기 (git init)

(1) git 이해하기 : 작업트리와 인덱스

work tree > index > .git 저장소

 

1)인덱스로

stage 에 올린다. /  stage index에 추가한다 라고 함 (+  add / - rm)

 

- 사용자 정보 설정하기

 

 

2) .git 저장소로

(+ commit / - 

commit 는 특정순간 사진찍기

 

git commit -am

a : add

m : message

 

git graph (확장으로 이용이 가능함)


1. 보충

 

 

 

 

2. 회고 

 

 

 

'배움 __IL > TIL 1기' 카테고리의 다른 글

TIL : 11번째- 221213 [12-2-화]  (0) 2022.12.13
TIL : 10번째- 221212 [12-2-월]  (1) 2022.12.12
TIL : 8번째- 221208 [12-1-목]  (0) 2022.12.08
TIL : 7번째- 221207 [12-1-수]  (0) 2022.12.07
TIL : 6번째- 221206 [12-1-화]  (2) 2022.12.06