Cloud 기반 웹 DevOps 프로젝트 개발자 과정

문이빈·2023년 6월 14일
0

반복문

do~while문

  • while문과for 문처럼 조건식에 의해 반복 실행된다는 점은 비슷함
  • 하지만 조건식을 확인하기 전에 코드 블록의 코드가 한 번 실행된다는 점이 다름

한번은 실행하고 싶을 때 쓴다.


package ex4;

public class Example09 {

public static void main(String[] args) {
	int i = 1;
	do {
		System.out.println("Hello World");
		i++;
	}while(i<6);
  }
}

😃위와 같은 결과 값이 나온다.


package ex4;
import java.util.Scanner;
public class Loop03 {

public static void main(String[] args) {
	System.out.println("10보다 큰 숫자를 입력하세요.");
	int sum = 0;
	int x;
	do {
        Scanner s = new Scanner(System.in);
		x = s.nextInt();
		
		sum += x;
		x--;
	}while (x>=10);                   //10보다 작은 수도 같이 더함
	System.out.println("합계 : "+sum);
  }
}

😃10보다 큰 수를 입력하다 10이하의 수가 나오면 모든 값을 합치는 결과 값이 나온다.(10보다 작은 수도 같이 더한다.)


위에 이어서) 10보다 큰 수만 더하고 싶으면 if문을 써서 바꿔줄 수 있다.

package ex4;
import java.util.Scanner;
public class Loop03 {

public static void main(String[] args) {
	System.out.println("10보다 큰 숫자를 입력하세요.");
	int sum = 0;
	int x;
	do {
		Scanner s = new Scanner(System.in);
		x = s.nextInt();
		
		if(x>10) sum += x;
		x--;
		
	}while (x>=10);                  //10보다 작은 수도 같이 더함
	System.out.println("합계 : "+sum);
  }
}

😃10보다 큰 수만 더하고 싶으면 if문을 써서 바꿔줄 수 있다.


중첩 반복문

  • 반복문 안에 또 다른 반복문을 원하는 만큼 포함한 것

    	package ex4;
    
    	public class Example10 {
    
    	public static void main(String[] args) {
    	
    	for (int i = 2; i <= 4; i++) {
    		System.out.println("구구단"+ i + " 단");
    		
    		for(int j = 1; j <=10; j++) {
    			System.out.println(i + "*" + j + " = " + (i*j));
    		}
    	  }
       }
    }

    😃이와 같은 결과 값이 나온다.


package ex4;
import java.util.Scanner;
public class Loop04 {

public static void main(String[] args) {
	Scanner s = new Scanner(System.in);
	System.out.print("길이 : ");
	
	int len = s.nextInt();
	
	for (int i=0; i<len; i++) {
		for (int j=0; j<i; j++) {
			System.out.print(" ");
		}
		for(int j=0; j<(2*len)-1-(i*2); j++) {
			System.out.print("*");
		}
		System.out.println(""); //줄바꿈 ""이 없이 ()만 써도 가능
	  }
   }
}

😃이와 같은 결과 값이 나온다.


위에 이어서) 직각 삼각형을 만들고 싶을 경우 - 스스로 만들어 보기!

int len = s.nextInt();
	
	for (int i=0; i<len; i++) {
		for (int j=0; j<=i; j++) {
			System.out.print("*");
            }
            System.out.print("");
        }
    }
}

😃이와 같이 나왔다.


위에 이어서) 아래로 직각 삼각형을 만들고 싶을 경우 - 스스로 만들어 보기!

int len = s.nextInt();
	
	for (int i=0; i<len; i++) {
		for (int j=0; j<len-i; j++) {
			System.out.print("*");
		}
		System.out.println(""); // 줄바꿈 
      }
   }
}

😃이와 같이 나왔다. 어려웠다..😥


분기문

원할 때마다 반복문에서 벗어나거나 반복문을 시작하도록 실행 흐름을 직접 제어할 수 있는 제어문

  • break문
  • continue문
  • retun문

break 문

package ex4;

public class Example11 {

public static void main(String[] args) {
	
	for (int n=1; n<=5; n++) {
		System.out.println("*");
		if(n==2) {
			break;
		 }
	  }
   }
}

😃이와 같은 결과 값이 나온다.


package ex4;

public class Break01 {

public static void main(String[] args) {
	for(int i=0; i<10; i++) {
		if(i==5)
			break;
		System.out.println("i: "+i);
	  }
   }
}

😃이와 같은 결과 값이 나온다.


continue문

  • 특정 조건을 건너뛰고 나머지를 계속 실행하려는 경우에 사용함.
  • 반복문의 블록 내부에서 for문의 증감식 또는 while문의 조건식으로 이동하는 역할
package ex4;

public class Example12 {

public static void main(String[] args) {
	for(int i = 0; i <=10; i++) {
		if(i==3|| i==6||i==9) {          // (i%3==0)도 가능
			continue;
		}
		System.out.print(i+" ");
	   }
     }
  }

😃이와 같은 결과 값이 나온다.


package ex4;

public class Continue01 {

public static void main(String[] args) {
	for(int i=1; i<=4; i++) {
		for(int j=1; j<=3; j++) {
			if(i==3 && j==2) {
				continue;
			}
			System.out.println(i + "*" + j);
		 }
	  }
   }
}

😃이와 같은 결과 값이 나온다.
for문 안에 for문이 있으면 안에 있는 for문 먼저 끝내고 밖으로 돌아간다...


메소드(method)

프로그램에서 특정 작업을 수행하기 위한 코드의 집합을 말함 -> ( )

package ex5;

import java.util.Scanner;

public class Exsample00 {

public static void main(String[] args) {
	int num;
	Scanner s = new Scanner(System.in);
	
	System.out.println("정수를 입력하시오.");
	num = s.nextInt();
	// 짝수이면 짝수라 출력하고 홀수면 홀수라고 출력
	method1(num);
	
	System.out.println("정수를 입력하시오.");
	num = s.nextInt();
	// 짝수이면 짝수라 출력하고 홀수면 홀수라고 출력
	method1(num);
	
	System.out.println("정수를 입력하시오.");
	num = s.nextInt();
	// 짝수이면 짝수라 출력하고 홀수면 홀수라고 출력
	method1(num);
	}

public static void method1(int num) {
	if(num%2==0) {
		System.out.println(num+"은 짝수 입니다.");
	}else{
		System.out.println(num+"은 홀수 입니다.");
	  }
   }
}

😃이와 같은 결과 값이 나온다.


위에 이어서)

package ex5;
import java.util.Scanner;
public class Exsample00_1 {

public static void main(String[] args) {		
	for(int i=0; i<3; i++) {
		method1();
	}
}
public static void method1() {
	int num;
	System.out.println("정수를 입력하시오");
	Scanner s = new Scanner(System.in);
	num = s.nextInt();
	if(num%2==0) {
		System.out.println(num+"은 짝수 입니다.");
	}else{
		System.out.println(num+"은 홀수 입니다.");
	  }
   }
}

Exsample00에서 반복적인 것을 따로 빼서 위와 같이 적어주는 것이 가독성과 유지 보수성이 좋다.


메소드 유형

표준 라이브러리 메소드

  • 자바 클래스 라이브러리에 이미 정의되어 있느 메소드 이다.
  • 사전 정의 메소드 또는 내장 메소드라고도 한다.
  • 언제든 프로그램에서 호출하기만 하면 사용할 수 있음

접근제한자 : public
반환유형 : void
메소드명 : main
매개변수 목록 : (String[] args)


메소드 호출

package ex5;

public class Example01 {

public static void method() {
	System.out.println("static 메소드입니다.");
	System.out.println(5+6);
}
public static void main(String[] args) {
	method();
  }
}

😃이와 같은 결과 값이 나온다.
★먼저 선언해도 되고 나중에 선언해도 상관없다~
public은 어디서도 가능하고 privat static~~은 이 파일에서만 불러올 수 있음


CSS

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style>
li {
    list-style-type:square};
    }
</style>
</head>
<body>
<h3>★ 녹색문화 체험여행</h3>
<ul>
   <li>숲 체험 : 수목원 탐방 + 숲 선생님과 생생 오감 활동</li>
   <li>곤충 체험 : 살아 있는 곤충 생태 관찰 + 체험 학습</li>
   <li>생태 체험 : 동물들 먹이 주기 + 생태 게임 + 자유 관람</li>
</ul>
</body>
</html>


😃위와 같은 결과 값이 나온다.


+위에 응용으로 스타일 대신 사진을 첨가
li {
list-style-image: url(../images/dot_blue.gif);};
}
😃위와 같은 결과 값이 나온다. (자세히 보면 점이 파란색)


박스모델

- 콘텐츠 : 박스에 들어가는 텍스트나 이미지 등의 내용물
- 패딩 : 코텐츠와 경계선 사이의 간격
- 경계선 : 컨텐츠와 패딩을 포함한 경계를 나타내는 선
- 마진 : 경계선과 외부 요소 사이의 간격

출처:http://www.tcpschool.com/css/css_boxmodel_margins

> <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>연습</title>
<style type="text/css">
   p{ width : 500px;
      border: solid 5px #00ffff;  /*선을 그리는 데 실선으로 5px 굴기로 하늘색/
    }
</style>
</head>
<body>
<p>
   봄빛 식물원은 2017년 12월 개원한 이래 방문한 고객들에게 자연과 더불어 사는
   즐거움을 선사하고 자연과의 만남을 통해 삶의 여유와 행복을 제공하고 슬니다.
</body>
</html>

😃위와 같은 결과 값이 나온다.


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>선 연습</title>
<style type="text/css">
       h3 { width: 600px;
       }
       #border1{
       border: solid 1px #ff0000;}
       
       #border2{
       border: double 5px #00ff00;}
       }
       
       #border3{
       border-top: dotted 1px #0000ff;
       border-bottom: dashed 1px #0000ff;
       }
       
       #bordr4{
       border-left: sloid 3px #ff0000;
       border-right: sloid 3px #ff00ff;
       }
</style>
</head>
<body>
<h3  id= "border1"> 봄빛 식물원 안내</h3>
<h3  id= "border2"> 봄빛 식물원 안내</h3>
<h3  id= "border3"> 봄빛 식물원 안내</h3>
<h3  id= "border4"> 봄빛 식물원 안내</h3>
</body>
</html>

😃위와 같은 결과 값이 나온다.


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>박스 연습</title>
<style type="text/css">
#login_box{
     width:200px;
     height:150px;
     background-color:#eeeeee;
     border: solid 1px #aaaaaa;
     border-radius:15px;            /*박스 모서리 둥글게*/
     box-shadow:6px 6px 5px #888888;
     /*박스 그림자 가로, 세로, 번짐, 색상, 그림자 크기, 선택(내부 그림자 표현)*/
     /*[h-offset],[v-offset],[blur],[spread],[color]*/
     text-align:center;				
}
</style>
</head>
<body>
<div id="login_box">로그인 화면</div>
</body>
</html>

😃위와 같은 결과 값이 나온다.


Padding n Margin

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>padding, Margin 연습</title>
<style type="text/css">
    p{width: 600px;
      border: solid 5px #00ffff;
      
      margin: 50px 40px 60px 80px;
      padding: 10px 20px 30px 40px;
     }
</style>
</head>
<body>
<p>
   봄빛 식물원은 2017년 12월 개원한 이래 방문한 고객들에게 자연과 더불어 사는
   즐거움을 선사하고 자연과의 만남을 통해 삶의 여유와 행복을 제공하고 슬니다.
</p>
</body>
</html>

😃위와 같은 결과 값이 나온다. (위 부터 시계 방향순으로 설정됨)


마진과 패딩에 기본 값이 적용된 북 배너 만들기

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>마진과 패딩에 기본 값이 적용된 북 배너 만들기</title>
<style type="text/css">
  #banner{
      width:185px;
      height:236px;
      background-image: url("../images/banner_bg.jpg");
      border: solid 1px #cccccc;
  }
  #banner img{
      margin: 202px 0 0 50px;
  }
</style>
</head>
<body>
   <h3>PHP 책소개</h3>
   <ul>
       <li>저자: 황재호</li>
       <li>출판사: 한빛미디어</li>
       <li>가격: 30,000원</li>
   </ul>
    <div id="banner">
       <img alt="책이미지" src="../images/buy.png">
    </div>
</body>
</html>

😃위와 같은 결과 값이 나온다.


마진과 패딩을 초기화 하고, 북 배너 만들기

<title>마진과 패딩에 기본 값이 적용된 북 배너 만들기</title>
<style type="text/css">
/*마진과 패딩 초기화*/
*{ margin: 0;
   padding: 0;
   }
  #banner{~~~~~~

😃위와 같은 결과 값이 나온다.


MySQL

SHOW TABLES;
->현재 스키마에 있는 모든 테이블 종류가 다 나옴

-- dept 테이블의 모든 정보 출력
select *
from dept;
😃

-- emp 테이블의 모든 정보 출력
select * from emp;
😃

-- salgrade 테이블의 모든 정보 출력
select * from salgrade;
😃


-- emp테이블에서 ename이 k로 시작하는 사원의 ename, empno, sal, deptno를 출력하라
-- 모든 의미 %, 한글자만 표시하는것은_(underbar)
select ename, empno, sal, deptno
from emp
where ename like 'k%';
😃


-- emp테이블에서 ename이 k로 시작하는 사람보다 알파벳이 뒤에 있는 사람의 ename, empno, sal, deptno를 출력하라
select ename, empno, sal, deptno
from emp
where ename >= 'k%';
😃


-- emp테이블에서 ename이 m로 시작하고 이름 스펠링 갯수가 6글자인 사원의 ename, empno, sal, deptno를 출력하라
select ename, empno, sal, deptno
from emp

where ename like 'm_____';*

😃


-- emp테이블에서 ename이 s로 시작하고 이름 스펠링 갯수가 5글자인 사원의 ename, empno, sal, deptno를 출력하라
select ename, empno, sal, deptno
from emp

where ename like 's____';

😃


-- ename이 B와 J 사이의 모든 사원의 ename이름을 출력하라(>=고 <=)
select ename
from emp
where ename >= 'B%'
and ename <= 'J%';

😃


-- job이 manager와 salesman인 사람의 모든 정보를 출력하라.(-- ~~이거나 or)
select *
from emp
where job = 'MANAGER'
or job = 'SALESMAN';

😃


-- deptno가 20, 30번을 제외한 모든 사람의 ename, empno, deptno를 출력하라.
select ename, empno, deptno
from emp
where deptno != '20'
and deptno != '30';

😃


-- ename 중간에 S자가 들어가 잇는 사람만 모든 정보를 출력하라.
select *
from emp
where ename like '%S%';
😃


-- ename 중간에 S자로 시작하고 T로 끝나는 사람의 모든 정보를 출력하라.
select *
from emp
where ename like 'S%T';
😃


-- emp테이블에서 comm이 정의되지 않은 사원의 empno, ename, comm을 출력하라.
select empno, ename, comm
from emp
-- where comm = null; -- <=comm의 값이 null인것 이렇게 하면 안됨 틀림
where comm is null;
😃null 을 찾을 때는 is


-- emp테이블에서 comm이 null이 아닌 사원의 empno, ename, comm을 출력하라.
select empno, ename, comm
from emp
-- where comm = null; -- comm의 값이 null인것 이렇게 하면 안됨 틀림
where comm is not null;
😃null 을 찾을 때는 is not


-- deptno가 30번 sal이 1,500이상인 사람의 ename, deptno, sal을 출력하라.
select ename, deptno, sal
from emp
where deptno = '30'
and sal >= '1500';
😃


-- ename이 k로 시작하거나 30번 부서의 사원 들이 empno, ename, deptno를 출력하시오.
select empno, ename, deptno
from emp
where ename like 'K%'
or deptno = '30';
😃


  • 정렬 order by 필드명 -> 해당되는 필드명의 순서대로 정렬됨 / 오름차순(ASC) or 내림차순(DESC)
    오름 차순이 기본 값

-- emp 테이블에서 사원명 단위로 정렬하여 출력
select *
from emp
order by ename;
😃


-- emp 테이블에서 부서번호로 정렬하여 출력
select *
from emp
order by deptno;
😃


-- 중복되서 나오는 경우 중복을 제거하여 한번만 나오게 하는 방법 distinct
-- 실무에서 자주 사용하는 것은 비추
select distinct deptno
from emp;
😃


-- 급여가 많은 순으로
select *
from emp
order by sal desc;
😃


0개의 댓글