Eclipse 설치

지금까지는 EditPlus를 이용해서 java를 사용해왔다. EditPlus는 컴파일과 class 실행을 따로 설정하고 진행해야했다.

www.eclipse.org 에 들어가서 eclipse를 설치하고 나중에 Spring과 JSP 등을 사용하기 위해서 Eclipse IDE for Enterprise Java Developers를 다운 받는다.

다운로드 완료한 후 실행하면 작업공간을 설정하라고 한다. 
원하는 폴더를 설정하고 실행하면 정상적으로 작동한다.



Eclipse 사용법

project를 만들고
          (개발을 위해서 jre가 아닌 jdk 폴더로 경로를 바꿔준다.) -> UI가 JAVA 작업을 하기 좋게 바뀐다.
          src가 java코드(원시코드)를 만드는 곳이다. 여기에
package를 만들어준다
package 내에서 class를 만들어서 사용한다.

font size 를 바꾸고 싶으면 window - preference 에서 font 검색하면 된다.

저장을 하면 자동으로 comfile 되어서 자동으로 class가 생성된다. workspace src에는 코드가 bin에는 class가 있다.
ctrl + f11을 누르면 코드가 실행된다.

Eclipse 단축키

Ctrl + f11 : 실행
Ctrl +  +  : 글자 크게
Ctrl +  D  : 현재 커서 라인 delete
Ctrl +  /   : 현재 커서 주석 처리
Ctrl + Shift + / : 드래그한 부분 주석처리
Ctrl + Shift + | :  블럭 주석 해제
Ctrl + Shift + F : 코드 정리
Ctrl + Spacebar : 축약코드 자동 나옴   (main , syso);

배열
동종의 데이터들을 묶어 저장해놓은 자료구조
비슷한 구조의 것을 하나의 데이터 구조에 번호를 매겨 저장하는 방식을 의미
이런 방법은 데이터의 저장, 정렬, 검색을 매우 유용하게 할 수 있어 편리하다.

int a;  // 정수형(기본자료형)

// 1. 선언
int b[];// 배열 선언(참조형)
int []b;                                c같은 경우는 배열 크기를 잡아준다. java는 그냥 비워둔다.

// 2. 메모리 할당
b = new int[3];                 int b는 stack 에 잡히고 메모리 할당을 하면 heap에 올라가면서 주소를 가르킨다.

// 3. 초기화
b[0] = 10;
b[1] = 20;
b[2] = 30;

package day09;

public class ArrayTest {
	public static void main(String[] args) {
		System.out.println("1. 1차원 배열 ㅡㅡㅡㅡㅡㅡ");
		
		//1. 선언
		int arr[]; //정수형을 저장할 수 있는 1차원 배열 선언
		//2. 메모리 할당
		arr = new int[3];//배열의 크기: 3
		//=>3개의 요소(element)를 저장할 수 있는 메모리 공간이 잡힌다.
		
		//3. 초기화
		//배열은 index를 갖는데 0부터 시작해서 배열크기보다 1작은 값까지 갖는다.
		arr[0]=10;
		arr[1]=20;
		arr[2]=30;
		System.out.println("arr[0]= "+ arr[0]);
				
		System.out.println("2. ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ");
		//1. 선언과 동시에 메모리 할당
		double [] b = new double[4];
		//3. 초기화
		b[0] = 1.23;
		b[1] = 0x15;
		b[2] = 'A';
		b[3] = 3e-2;
		for(int i=0;i<4;i++) {
			System.out.println(b[i]);
		}
		System.out.println(b.length);
		System.out.println(arr.length);
		System.out.println("3. ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ");
		//1.2.3. 배열 선언과 동시에 메모리 할당 및 초기화
		char ch[] = {'J','A','V','A','!'};
		System.out.println(ch.length);
		//ch에 저장된 값들을 for루프 이용해서 출력
		for(int i=0;i<ch.length;i++) {
			System.out.print(ch[i]);
		}
		
		
	}
}


int [] a = new int[3];
a[0]=88;
a[1]=77;
a[2]=66;

int b[] = a;

 * 기존 비열 b를 a로 초기화 
 * 이 때 b는 새로운 배열을 참조하는 것이 아니라 
 * a가 참조하는 배열을 같이 참조하는 형태가 된다.
 * 이럴 경우 a나 b의 배열요소값을 변경하면
 * a,b 모두 함께 변경 된다.

2차원 배열

행의 크기는 a.length
열의 크기는 a[i].length 로 구할 수 있다.

package day09;

public class ArrayTest3 {
	public static void main(String[] args) {
		System.out.println("1.ㅡㅡㅡㅡㅡㅡㅡㅡㅡ");
		
		int a[][];
		
		a= new int[3][2];
		
		a[0][0] =10;
		a[1][0] =20;
		a[2][0] =30;
		a[0][1] =40;
		a[1][1] =50;
		a[2][1] =60;
		
		for(int i=0;i<a.length;i++) {
			for(int j=0;j<a[i].length;j++) {
				System.out.print(a[i][j]+" ");
			}
			System.out.println();
		}
        
        
		System.out.println("2.ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ");
		//선언과 동시에 메모리 할당, 초기화
		float b[][]= {{1,2},{012},{'a','b','c'}};
		
		for(int i=0;i<b.length;i++) {
			for(int j=0;j<b[i].length;j++) {
				System.out.print(b[i][j]+" ");
			}
			System.out.println();
		}
		
	
	}
}

 

java에서는 행의 크기는 먼저 잡아놓고, 열의 크기는 필요한 시점에 가변적으로 할당할 수 있다.

char ch[][] = new char[3][];
ch[0] = new char[2];
ch[1] = new char[4];
ch[2] = new char[3];
//char 의 기본값은 '\u0000'

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

border 속성

<!DOCTYPE html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>ex27외각선.html</title>
  <style >
      .cls{
          width : 150px;
          height : 150px;
          border-width : 5px;
          border-style : double;
          border-color : blue;
      }
      	#tb1{
		border: 3px dashed #003333;
		margin-top : 20px;
	}
	#tb2{
		margin : 20px;
		border-top : thick dotted blue;
		border-left : 10px inset orange;
	}

  </style>

 </head>
 <body>
  <h1>border style</h1>
  <table id="tb1" style="width: 100px; height:100px">
	<tr>
	<td>1행 1열</td>
	</tr>
	</table>
 	 <table id="tb2" style="width: 100px; height:100px">
	<tr>
	<td>2행 1열</td>
	</tr>
</table>
  <div class="cls">div 영역</div>
 </body>
</html>

 하이퍼링크 스타일

a : 특성
a가 링크에 걸렸을 때
a:link{
       text-decoration : none;
}
a링크를 방문한 후에
a:visited{
       color : green;
}
a링크에 마우스를 올렸을 때
a:hover{
       color : pink;
       font-size : 3em;
       cursor: crosshair;
}
a를 마우스 클릭 시
a:active{
     background-color : yellow;
}

<!DOCTYPE html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>ex28하이퍼링크스타일.html</title>
	<style>
		body *{
			font-size : 2em;
		}
		a:link{
			text-decoration : none;
			color : navy;
		}
		a:visited{
			color : green;
		}
		a:hover{
			   color : pink;
			   font-size : 3em;
			   cursor: crosshair;
		}
	</style>
 </head>
 <body>
  <h1>하이퍼링크 스타일</h1>
  <a href="http://www.naver.com">네이버</a><p></p>
  <a href="http://www.daum.net">다음</a><p></p>
  <a href="http://www.google.com">구글</a><p></p>
 </body>
</html>
<!DOCTYPE html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>ex29목록스타일.html</title>
  <style>
  #menu>li{
	width : 100px;
	height : 25px;
	background-color : #ccccff;
	margin : 3px;
	list-style-position : inside;
	padding : 10px;
	list-style-type : none;
	color : navy;
	font-weight : bold;
	text-align : center;
	float : left;
  }
  #menu>li:hover{
	background-color:navy;
	color: white;
  }
  </style>
 </head>
 <body>
  <h1>목록 스타일</h1>
  <ul type="square" style = "list-style-type:upper-roman">
  <li>HTML</li>
  <li>CSS</li>
  <li>JAVA</li>
  </ul>
  <hr>  
  <ul id="menu"style="list-style-image: url('C:/html/images/little.PNG'); border: 1px solid blue; margin: 40px; list-style-position:inside;">
  <li>HTML</li>
  <li>CSS</li>
  <li>JAVA</li>
  </ul>
  </hr>

 </body>
</html>

button 속성

visibility는 영역은 그대로 차지하고 사라지고
display는 영역도 사라진다.
opacity : 0 투명도 0~1에 값을 가진다. 0에 가까울수록 투명 1에 가까울 수록 불투명

<!DOCTYPE html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>ex30표현효과스타일.html</title>
  <style>
  .btn{
	width: 200px;
	height : 70px;
	margin : 10px;
	background-color : ivory;
	color : olive;
	border : 1px solid silver;
  }
  .hide{
	/*visibility : hiddn, visible 감추거나 보여줄 때
		영역은 그대로 차지하고 다만 보여주지 않는다.
	*/
	visibility : hidden;
  }
  .hide2{
	display : none;
	/*display : none, block, inline-block
			영역도 사라진다.
	*/
  }
  .show2{
	opacity : 0
  }
  </style>
 </head>
 <body>
  <button class="btn show">Click me1</button>
  <button class="btn hide">Click me2</button>
  <button class="btn show2">Click me3</button>
  <button class="btn hide2">Click me4</button>
  <button class="btn">Click me5</button>
 </body>
</html>

+ Recent posts