9월 13일

Yullgiii·2023년 9월 13일
0
post-thumbnail

ADsP

모의고사 1회차 풀이와 정답확인....아직 부족하다 허허허허이러다 답을 그냥 외우는것은 아니련지 싶다.

앞으로 어찌해야할지 하는일은 많아지는데 슬슬감당하기 힘들정도로 늘어가는거 같아서 조금 두렵다

내일 배움 캠프

어제 완료한 SQL 1주차에 이어 2주차를 들어볼것이다.

SQL

오늘 할것은 통계:최대 최소 평균 갯수 등을 구해볼것이다
그룹에 관하여도 해볼것이다.
정리하는 법도 배울것이다.

Group by


뜻: users 를 group by name 으로 묶어줘!그리고 name으로 묶이는 것을 세어줘!!!

통계

1.갯수 구하기

각 주차별로 그룹을 묶어서 갯수 구하기!

  1. 최솟값 구하기(min)

    각 주차별로 like의 갯수의 최솟값 구하기!

  2. 최댓값 구하기(max)

각 주차별로 like의 갯수의 최댓값 구하기!

  1. 평균값 구하기(avg)

여기사 결과값이 소수점이 많이 나오므로 반올림을 해주려면 round()!!!

  1. 합계 구하기 (sum)

    각 주차별로 like의 갯수의 합계 구하기!

Order by


원하는 항목으로 정렬

기본 값은 오름차순(asc)으로 되어있지만 내림차순 약자:desc 를 붙혀주면 제정렬 가능
(오름차순은 굳이 써줄필요없음)

문자열과 시간순으로도 정렬이 가능하니 꼭 참고 할것!!!!!!!!!

어제 배운 where 와 함께 적용해보기

웹개발 종합반의 결제수단별 주문건수 세어보기!!!

Gmail 을 사용하는 성씨별 회원수 세어보기

Alias(알리아스)

별칭으로 쓰임

위 사진은 orders 의 별칭은 O 이니까 o에 있는 course_title이야 라고 명시 해줌


as 뒤에 붙은 이름을 count(*) 이란 것을 대신하여 써주는 별칭으로 사용

2주차 마무리 퀴즈!!

네이버 이메일을 사용하여 앱개발 종합반을 신청한 주문의 결제수단별 주문건수 세어보기

회고

아직 까지는 재미가 있는데 순서를 정확하게 아는 법을 알아야할것같다
줄바꿈의 의미와 정확한 위치지정과 조금의 오차로 많은 것들이 바뀌는 것 같아서
복잡해지면 조금 어려울것같다!

Java

오늘도 얄코님의 강의를 들으러 가보는데 메소드...개념이 아직 이해가 어렵고 힘들다
여기서 막혀서야..나아갈수 있을지 걱정이되지만 해봐야지!!!!!!!!

4섹션 메소드 더 알아보기
메소드 오버로딩!!!!!

		static int add(int a, int b) { return a + b; }

    //  매개변수의 개수가 다름
    static int add(int a, int b, int c) { return a + b + c; }

    //  매개변수의 자료형이 다름
    static double add(double a, double b) { return a + b; }

    //  매개변수의 자료형 순서가 다름
    static String add(String a, char b) { return a + b; }
    static String add(char a, String b) { return a + b; }

    //  ⚠️ 반환 자료형이 다른 것은 오버로딩 안 됨 - 다른 함수명 사용
    //  static double add(int a, int b) { return (double) (a + b); }

위의 조건들을 만족한다면 메소드 오버로딩(쉽게 해서 겹치기)가 가능하다

원시형 매개변수 vs 참조형 매개변수

		//  ⭐️ 원시값은 '복사해서' 가져옴
    //  메소드 내부에서 값을 변경해도 원본에 영향 끼치지 않음
    static void modifyIntArg (int num) {
        System.out.printf("수정 전: %d%n", num++);
        System.out.printf("수정 후: %d%n", num);
    }

    //  ⭐️ 참조값은 주소값이므로 원본 그 자체를 가리킴
    static  void modifyAryElem (int[] ary) {
        System.out.printf("수정 전: %d%n", ary[1]++);
        System.out.printf("수정 후: %d%n", ary[1]);
    }
  • 실행 후 값들 디버깅으로 확인할 것
  • ⭐ 참조형 변수를 인자로 사용할 때는 이 점을 유의할 것!

재귀 메소드

  • 스스로를 호출하는 메소드

  • 호출시마다 메모리에 스택이 축적 - 초과시 스택오버플로우 stack overflow 에러

  • 다른 메소드를 호출한 메소드는 호출된 메소드가 종료될 때까지 메모리에 남아 있음

    • 호출이 반복될수록 위와 같이 메소드들이 쌓이게 됨

    꼬리 재귀 최적화

  • 재귀 코드를 내부적으로 루프 형태로 바꿔서 스택이 쌓이지 않도록 함

  • ⚠️ 자바에서는 현재 기본적으로 제공하지 않음 (보안 등 문제…)

  • 반복 횟수가 너무 많아지는 작업에는 사용하지 말 것!

4섹션의 마지막
키보드 입력 받기

  • Scanner : 키보드 입력이나 파일 등로부터 텍스트 값을 받아오기 위한 클래스
  • [System.in](http://System.in) : InputStream 의 인스턴스, 입력받은 값들의 흐름
				Scanner sc = new Scanner(System.in);

        while (sc.hasNextInt()) {
            int repeatCount = sc.nextInt();

						//  ⚠️ nextInt를 아래에서 바로 사용하면 루프마다 받음
						//  repeatCount 변수에 담은 이유
            for (int i = 0; i < repeatCount; i++) {
                //  💡 print (ln이 붙지 않은) : 같은 줄에 이어 출력
                System.out.print("호우 ");
            }
            System.out.println("");
        }
        
        sc.close();
				//  문자열 바로 입력하여 사용하기

				String [] strInputs = new String [5];

        for (int i = 0; i < strInputs.length; i++) {
            strInputs[i] = sc.nextLine();
        }

        sc.close();

        for (String str : strInputs) {
            System.out.println(str);
        }

실습으로는 이렇게 사용된다

회고

드디어 내일 부터는 클래스를 듣게 되는데 복습한 내용들이 도움이 굉장히 많이 되었다.
복습의 중요성을 알게되며 진도를 나가게 되어서 뿌듯한 기분이다!!!

profile
개발이란 무엇인가..를 공부하는 거북이의 성장일기 🐢

0개의 댓글