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

문이빈·2023년 6월 19일
0

Java

package ex6;

public class Example03_1 {

public static void main(String[] args) {
	
	int[] num = {10, 20, 30, 40, 50, 60, 70};
	// num 배열의 값을 출력하라는 의미
	
	// 일반적인 for문
	for(int i=0; i<num.length; i++) {
		System.out.println(num[i]);
	}
		
	// 확장형 for문
	for(int n: num) {
		System.out.println(n);
		}
	}
}

😊


package ex6;

public class Example03_2 {

public static void main(String[] args) {
	// 정수형으로 수를 배열 10개의 방에 저장
	// 100, 200....1000까지 저장

	int num[] = new int[10];
	
	// for문을 이용하여 작성해보기
	for(int i=1; i<11; i++) {
		
		num[i-1] = i*100;
	}
	for(int n: num) {
		
		System.out.print(n+"\t");
		}
	}
}

😂


package ex6;

import java.util.Scanner;

public class Example03_3 {

public static void main(String[] args) {
	// 입력을 5번 받아서 배열에 저장
	// 정수만 받기
	
	int num[] = new int [5];
	Scanner s = new Scanner(System.in);
	
	System.out.println("정수를 5개 입력하시오");
	
	for (int i=0; i<num.length; i++) {
		num[i] = s.nextInt();
	}
	int sum = 0;
	// 받은 정수의 합을 구하고 출력
	for(int i=0; i<num.length; i++) {
		sum += num[i];
	}
	System.out.println("받은 정수의 합: "+sum);
	}
}

😂


2차원 배열

package ex6;

public class Example04 {

public static void main(String[] args) {
	int myArr[][] = {{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15}};
	
	for (int i=0; i<3; i++) { //행에 해당
		for (int j=0; j<5; j++) { //열에 해당
			System.out.print(myArr[i][j]+" ");
		}
		System.out.println();
	}
	System.out.println("myArr[0][1] 값: " + myArr[0][1]);
	}
}

😂
i<5 는 i<myArr.length 로 j<myArr[i].length로 대체할 수 있다.


배열의 합 구하기

package ex6;

public class Array04 {

public static void main(String[] args) {
	int rows = 2, columns = 3;
	int[][] firstMatrix = {{2,3,4}, {3,2,1}};
	int[][] secondMatrix = {{1,2,3}, {-4,-2,1}};
	
	int[][] sum = new int [rows][columns];
	
	for (int i=0; i< rows; i++) {
		for (int j=0; j<columns; j++) {
			sum[i][j] = firstMatrix[i][j] + secondMatrix[i][j];
		}
	}
	System.out.println("두 행렬의 합: ");
	for (int i=0; i<rows; i++) {
		for (int j=0; j<columns; j++) {
			System.out.print(sum[i][j] + "   ");
		}
		System.out.println();
		}
	}
}

😊


문자열

문자열은 쉽게 말해 문자의 배열이라고 생각하면 된다.

package ex6;

public class Example05_1 {

public static void main(String[] args) {
	String s1 = "안녕하세요";
	String s2 = "안녕하세요";
	
	System.out.println("두 문자열의 레퍼런스: " + (s1==s2));
	System.out.println("두 문자열의 값 비교: " +(s1.equals(s2)));
	
	s2="반가워요";
	}
}

😊묵시적인 방식


package ex6;

public class Example05 {

public static void main(String[] args) {
	String s1 = "Java";
	String s2 = "Java";
	String s3 = new String("Java");
	String s4 = new String("Java");
	
	System.out.println(s1);
	System.out.println(s2);
	System.out.println(s3);
	System.out.println(s4);
	
	System.out.println(s1==s2);
	System.out.println(s3==s4);
	}
}

출처 : http://www.journaldev.com/797/what-is-java-string-pool

package ex6;

public class Array05 {

public static void main(String[] args) {
	String s1 = "Java Programming";
	String s2 = new String("Java Programming");

	
	System.out.println(s1);
	System.out.println(s2);
	
	// s1 객체의 메소드 실행
	System.out.println("s1.length() : " + s1.length());
	System.out.println("s1.charAt(1) : " + s1.charAt(1));
	System.out.println("s1.substring(6) : " + s1.substring(6));
	System.out.println("s1.substring(5,13) : " + s1.substring(5,13));
	System.out.println("s1.indexOf('P') : " + s1.indexOf('P'));
	System.out.println("s1.toLowerCase() : " + s1.toLowerCase());
	System.out.println("s1.toUpperCase() : " + s1.toUpperCase());
	
	// s2 객체의 메소드 실행
	System.out.println("s2.length() : " + s2.length());
	System.out.println("s2.charAt(1) : " + s2.charAt(1));
	System.out.println("s2.substring(6) : " + s2.substring(6));
	System.out.println("s2.substring(5,13) : " + s2.substring(5,13));
	System.out.println("s2.indexOf('P') : " + s2.indexOf('P'));
	System.out.println("s2.toLowerCase() : " + s2.toLowerCase());
	System.out.println("s2.toUpperCase() : " + s2.toUpperCase());
	} 
}


😥 묵시적이나 명시적이나 메소드 다 사용가능


String 클래스의 메소드

package ex6;

public class Array06 {

public static void main(String[] args) {
	String s = " Java Programming ";
	String s1 = "Java";
	String s2 = " Programming";
	String s3 = s1.concat(s2);
	String s4 = s.trim();
	
	System.out.println("s3"+s3);
	System.out.println("s4"+s4);
    
	System.out.println("s3.equals(s4) : "+s3.equals(s4));
	}
}

😊

  • concat 앞에 문자열에 ()문자열을 붙여라
  • trim 양쪽의 필요없는 빈칸을 제거하라.

package ex6;

public class Example07 {

public static void main(String[] args) {
	String s1 = "Java";
	String s2 = "Java";
	String s3 = "Java";
	System.out.println(s1==s2);
	System.out.println(s1!=s2);

	System.out.println(s2==s3);
	System.out.println(s2!=s3);
	String s4 = s2 + s3;
	System.out.println(s4);
	}
}

😊


MySQL

-- temp 테이블의 사원번호, 사원명, 생년월일, 부서명, 지역, 직급, 급여 를 출력 (join이 들어가야됨)

select emp_id,emp_name , birth_date, DEPT_NAME, AREA, lev, salary
from tdept, temp
where tdept.DEPT_CODE = temp.DEPT_CODE; -- equi조인

or

select emp_id,emp_name , birth_date, DEPT_NAME, AREA, lev, salary
from tdept d
inner join
temp e
on d.DEPT_CODE = e.DEPT_CODE;

위와 같은 결과로 방법만 다르게 진행함.
tdept as d , temp as e => d로 부르겠다, e로 부르겠다.


-- temp에서 직급별로 그룹을 짓고 그룹별 사원수
select count(*), lev
from temp
group by lev;


-- self join
-- emp 테이블에 있는 empno와mgr을 이용하여 서로의 관계를 출력하라.'smith의 매니저는 ford이다'.

select a.ename as 사원, b.ename as 매니저
from emp a/사원정보 테이블/, emp b/매니저 정보 확인 테이블/
where b.empno = a.mgr;

or

select a.ename as 직원, b.ename as "해당직원 상사"
from emp a
inner join emp b
on b.empno = a.mgr;


-- 이름이 'ALLEN'인 사원의 부서명을 출력하라. 사원명과 부서명
select empno, ename, dname
from emp, dept
where emp.deptno = dept.deptno
and ename = 'ALLEN';

or

select empno, ename, dname
from (select empno, ename, deptno
from emp
where ename ='ALLEN') as e, dept as d
where e.deptno = d.deptno;

from emp
inner join dept
on emp.deptno = dept.deptno
and ename = 'ALLEN';
과 같이 inner join으로 바꿔서 써줄 수 있다.


select	A.DEPT_CODE 부서코드,
		A.DEPT_NAME 부서명,
        A.PARENT_DEPT 상위부서코드,
        B.DEPT_NAME 상위부서명
FROM TDEPT A, TDEPT B
WHERE B.DEPT_CODE = A.PARENT_DEPT

->
FROM TDEPT A JOIN TDEPT B
ON B.DEPT_CODE = A.PARENT_DEPT


-- EMP Table에 있는 DATA와 JOIN하여 모든 사원의 이름, 부서번호, 부서명, 급여를 출력하라.

select a.ename, a.deptno, b.dname, a.sal
from emp a
right outer joindept b
on a.deptno = b.deptno;


-- 'ALLEN'의 직무(job)와 같은 사람의 이름, 부서명, 급여, 직무를 출력하라.(서브쿼리)

select ename, dname, sal, job
from (select deptno, ename, sal, job
      from emp
      where emp.job = (select job
				       from emp
                       where ename='ALLEN')) e 
join dept d
on e.deptno = d.deptno;


-- 'JONES'가 속해있는 부서의 모든 사람의 사원번호, 이름, 입사일, 급여를 출력하라.

select empno, ename, hiredate, sal
from emp
where deptno = (SELECT deptno
			    from emp
			    where ename = 'JONES'); 


-- 전체 사원의 평균 임금보다 많은 사원의 사원번호, 이름, 부서명, 입사일, 지역, 급여를 출력하라.

select empno, ename, dname, hiredate, loc, sal
from emp
join dept
on emp.deptno = dept.deptno
and sal > (select avg (sal)
		   from emp);


-- 10번 부서 사람들 중에서 20번 부서의 사원과 같은 업무(job)를 하는 사원의 사원번호, 이름, 부서명, 입사일, 지역을 출력하라.
select empno, ename, deptno, hiredate /dname, loc/
from emp
where deptno = 10;
10번 부서 가지고 옴

select empno, ename, d.deptno, hiredate, dname, loc
from emp e, dept d
where e.deptno = 10
and e.deptno = d.deptno
and job in (select job
			from dept
			where deptno = '20');


페이지 레이아웃

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>float 없이 사용</title>
<style>
div{
	width:150px;
	height:80px;
	border:solid 1px #00ff00;
	}
</style>
</head>
<body>
	<div>박스 A</div>
	<div>박스 B</div>
</body>
</html>


float

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>float 연습</title>
<style>
div{
	width:150px;
	height:80px;
	border:solid 1px #00ff00;
	}
#box_a{
	float:left;
	}
#box_b{
	float:right;
	}
</style>
</head>
<body>
	<div id="box_a">박스 A</div>
	<div id="box_b">박스 B</div>
</body>
</html>

float를 사용하자 박스가 양 옆으로 갔다.


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>이미지 레이아웃 연습1</title>
<style type="text/css">
.items{
	border:solid 3px #000000;
	float:left;
	margin:5px;
	}
</style>
</head>
<body>
<div>
	<img src="../Jsp Images/image1.jpg" width= "120">
</div>

<div class="items">
	<img src="../Jsp Images/image2.jpg" width= "120">
</div>

<div class="items">
	<img src="../Jsp Images/image3.jpg" width= "120">
</div>

<div class="items">
	<img src="../Jsp Images/image4.jpg" width= "120">
</div>

<div class="items">
	<img src="../Jsp Images/image5.jpg" width= "120">
</div>

<div class="items">
	<img src="../Jsp Images/image6.jpg" width= "120">
</div>
</body>
</html>

class=items를 주지 않은 것은 기본으로 입력됨.

.items{
	border:solid 3px #000000;
	float:left;
	margin:5px;
	}
.items img{display: block;}
</style>

items img{display: block;}을 추가하니 사진 아래에 하얀 부분이 사라졌다.

.clear{clear: left;} float를 해지하는 용도이다.


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>float속성으로 레이아웃 작업</title>
<style type="text/css">
	*{
	  margin:0;
	  padding:0;
	 }
body{
	 background-color:#f2f0f0;
	 font-family:"맑은 고딕";
	 font-size:12px;
	 color:#444444;
	 }
ul{
	list-style-type:none;
	}
.clear{ 		/* float 클리어 방법 */
	clear:both;
	}
#logo{
	padding:30px 0 0 30px;
	float:left;
	}
#top_menu{
	margin:40px 10px 0 0;
	float:right;
	}
#top_menu li{
	display: inline;
	}
#main_menu{
	font-size:12px;
	color:#ffffff;
	background-color:#4e4c4d;
	margin-top:15px;
	padding:12px;
	text-align:center;
	}
#main_menu li{
	padding:0 20px 0 20px;
	display:inline;
	}
</style>
</head>
<body>
	<div id="logo">
		<img alt="logo" src="../Jsp Images/logo.gif">
	</div>
	  <ul id="top_menu">
		<li>로그인 |</li>
		<li>회원가입 |</li>
		<li>마이페이지 |</li>
		<li>주문배송 조회 |</li>
		<li>장바구니 |</li>
		<li>이용안내 |</li>
		<li>고객센터</li>
	  </ul>
	
	<div class="clear"></div>
	  <ul id="main_menu">
		<li>다연아트 소개</li>
		<li>상품 Q&amp;A</li>
		<li>시안 확인</li>
		<li>고객 갤러리</li>
		<li>공지사항</li>
	  </ul>
</body>
</html>


body
#logo
#top_menu
#main_menu

0개의 댓글