spring_2기[사전캠프]

Spring 2기 4일차 [사전캠프]

minwoo95 2025. 11. 14. 19:56

JAVA

//반복문

//public[접근 제한자]    어디서든 접근 가능하다는 뜻. 프로그램이 실행될 때 자바가 접근할 수 있어야 하므로 public을 붙임.
//class[클래스 정의] 자바 프로그램의 기본 단위(모든 코드는 클래스 안에 존재해야 함).
//Main[클래스 이름]  파일 이름과 같아야 함 (Main.java → Main 클래스).
//static[정적 메서드]    객체를 만들지 않고 바로 실행할 수 있도록 함. 프로그램 시작점이라 필요함.
//void[반환형] “아무 값도 리턴하지 않는다”는 뜻. (예: int면 숫자 반환, String이면 문자열 반환)
//main[메서드 이름]  프로그램이 실행될 때 가장 먼저 호출되는 메서드 이름. 반드시 이 이름이어야 함.
//(String[] args)   매개변수   실행 시 전달받을 문자열 배열. 콘솔에서 인자를 받을 때 사용됨. 대부분은 그냥 놔둬도 됨.

//자바는 “모든 실행은 main 메서드에서 시작한다.”
//그리고 main 메서드가 “객체 생성 없이 바로 실행되려면” → public static void main(...)이 꼭 필요하다.

import java.util.Scanner; // Scanner를 사용하려면 import 필요
public class LoopExample {
    public static void main(String[] args) {
        //학습 키워드 for(break,while)/while 조건이 참이면 반복실행/do-while 최소 한번 실행후 조건검사

        //일반적인 방법으로 안녕하세요를 10번 시켜보기
        /*
        System.out.println("안녕하세요");
        System.out.println("안녕하세요");
        System.out.println("안녕하세요");
        System.out.println("안녕하세요");
        System.out.println("안녕하세요");
        System.out.println("안녕하세요");
        System.out.println("안녕하세요");
        System.out.println("안녕하세요");
        System.out.println("안녕하세요");
        System.out.println("안녕하세요");
        */

        System.out.println("for 사용예제");
        //i의 최초값은 1이고 1씩 증가 시켜 10이될때까지 출력시키고 10이되면 종료
        //for(시작조건; 종결조건; 조건변화수식)
        //종결조건이 false가 되면 종료 아래 예제는 11이 되었으때 false 되어 종료 (11번 동작)
        for(int i=1; i<=10; i++){
            System.out.println("안녕하세요!"+i);
        }

        System.out.println("for + 종결조건 변수사용 사용예제");
        //종결조건에 변수 대입 사용이 가능하다
        int customers =5;
        for(int i=1; customers>=i; i++){
            System.out.println("안녕하세요!"+i);
        }


        System.out.println("for+break 사용예제");
        //for + break 와 함께 사용
        //반복을 벗어날때 사용
        //ex)손님이 아무리 많이 오더라도 3명의 손님까지만 인사를 해야하는 경우
        for(int i=1; customers>=i; i++){
            if(i==4){
                break;
            }
            System.out.println(i + "번째 손님, 안녕하세요!");
            /*
            //if 문이 아래에 위치할때 4번째 손님까지 인사함[문제]
            //4번째때, 출력을하고 break if문에 진입하기 떄문[원인]
            //if을 출력문 위로 위치 시켜 4번째 손님을 출력하기 전에 break를 활용할수 있도록 재배치[해결]
            if(i==4){

                break;
            }
            */
        }
        System.out.println("continue문 사용예제");
        //continue문 (건너뛰기 skip 버튼)
        //특정 회차의 반복을 건너뛸때 사용 합니다.
        //ex)2번째 손님에게 인사하고 싶지 않을때 continue문을 활용할수 있습니다.
        for(int i=1; customers>=i; i++) {
            if (i == 4) {
                break;
            }
            if(i==2){
                continue;//아래 출력을 하지않고 바로 for의 조건식으로 돌아가 i가 증가하는 작업을 수행한다
            }
            System.out.println(i + "번째 손님, 안녕하세요!");
        }


        System.out.println("while문 사용예제");
        //while문
        //while 반복문은 종결조건만 가지고 있다
        //종결조건식이 true 일때 반복
        //종결조건이 false가 될때까자 명령문 반복->무한루프 조심하기

        /*
        while(종결조건){
            반복할 명령문;
        }
        */
        //종결조건에 트루만 작성한다면 무한루프 상태->꼭 false가 될수 있는 조건도 넣어야함!
        int i=1;
        while(i<=10){
            System.out.println("안녕하세요");
            i++;
        }
        System.out.println("do-while문 사용예제");
        //do-while문
        //while문과 비슷하지만 종결조건을 반복전이 아닌 반복후에 체크를 한다.(차이점)
        int g=0;//최초선언시 변수 초기화 권장
        do{
            System.out.println("안녕하세요");
            g++;
        }while(g<=10);

        //실습과제
        //2단부터 9단까지 구구단을 출력하는 프로그램(중첩 for 문 활용)
        for(int f=2; f<=9; f++){
            System.out.println("====="+f+"단=====");
                    for(int t = 1; t<=9; t++ ){
                        System.out.println(f+"*"+t+"="+f*t);
                    }
        }
    }
}

//★ 반복에 대한 함수들은 증감에 대한 조건의 위치와 탈출하는
//   명령어의 위치에 따라 출력하는 횟수의 차이가 발생할수 있다.[주의하기]

SQL

/* WHERE 절이란*/

/*전체 데이터 중에서 원하는 데이터만 필터링 할수 있다*/

/*select *

* from 테이블

* where 필터링 조건

*/

select *

from customers

where age = 21

/*고객 테이블에서 나이가 21인 고객들의 정보를 불러오기*/

 

select *

from customers

where gender = 'male' /*기본 조건은 = 을활용하여 설정할수있다*/

/*성별이 여성분인 고객의 정보를 불러오기*/

 

/*예제1*/

select *

from food_orders

where cuisine_type='Korean'

/*예제2*/

select *

from payments

where pay_type='card'

/* 비교연산*/

select *

from customers

where age >= 21

/*고객정보 중에 21세 이상의 고객들의 정보를 불러오기*/

 

select *

from customers

where gender<>'male'/*male과 같지 않은 정보 불러오기*/

 

 

/*BETWEEN*/

/*between a and b a와 b사이의 값을 찾는 명령어*/

select *

from customers

where age between 21 and 23 /*나이가 21부터 23인 고객들의 정보를 불러오기*/

 

/*IN*/

/*in ( a, b, c) 원하는 특정값을 abc 자리에 입력하여 필터링이 가능*/

select *

from customers

where age in (21, 25, 27)

 

select *

from customers

where name in ('윤주아','정현준' )/*() 자리에 ★문자사용이 가능★하다*/

 

/*LIKE*/

/*완전히 똑같지는 않지만, 비슷한 값을 찾을수 있는 명령어*/

/*기본문법 : like '시작하는문자%' / like '%포함하는문자%' / like '%포함하는문자' 앞 양옆 뒤 모두 가능*/

select *

from customers

where name like '김%'

 

 

/*실습1*/

 

select *

from customers

where age >= 40

 

/*실습2*/

select *

from food_orders /*어떤 컬럼을 조회할지 모른다면 생각하지말고 from 까지 입력하고 조회후 테이블 컬럼을 확인하고 추가 명령어 작성하기*/

where price < 15000

 

/*실습3*/

select *

from food_orders

where price BETWEEN 20000 and 30000

 

/*실습4*/

select *

from food_orders

where restaurant_name like 'B%'