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);
}
}
😂
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);
}
}
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());
}
}
😥 묵시적이나 명시적이나 메소드 다 사용가능
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);
}
}
😊
-- 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>
<%@ 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&A</li>
<li>시안 확인</li>
<li>고객 갤러리</li>
<li>공지사항</li>
</ul>
</body>
</html>
body
#logo
#top_menu
#main_menu