<html>
<head>
<title>JavaScript</title>
</head>
<body>
<script type="text/javascript">
<!--
var a=10;
var b=3;
var c=a%b;
document.write("나머지 : "+c);
-->
</script>
<br>
<xmp>
1100(2) -> 10진법 : 14-2=12; 자릿수 변경될때 그만큼 감산/
11(10) -> 1 011 -> 13(8) 1 001 -> 1 011
111(10) -> 1 101 011 -> 153(8) -> 1101011 ::91
1111(10) -> 10 001 101 011 -> 2153
4c(16) -> 100 c(12-8:4)=> 1100 => 1001100

1110(2) 1 6 -2 -> 14(10)
1110111011(2) 1 110 111 011 -> 1673(8)
1110110101(2) 11 1011 0101 -> 3b5(16)
db9(16) -> 1101 1011 1001 -> 110110111001(2)
734(8) -> 111 011 100 -> 111011100(2)
abc(16) -> 1010 1011 1100 -> 101 010 111 100 -> 5274(8)
472(8) -> 100 111 010 -> 1 0011 1010 -> 13a(16)

*.보수(complement)
1.컴퓨터에서 음수를 표현하기 위하여 사용
1의 보수 : 0->1, 1->0;
2의 보수 : 1의보수에 1더함;

*.컴퓨터 내부의 data표현
1.문자 : char
2.숫자
 1)정수 : byte,short,int,long
 2)실수 : flat,double
3.논리 : boolean

1byte..
부호비트 : 0(양수), 1(음수)
0 0001101 : +13
1 1110010 : -13(1의 보수)
1 1110011 : -13(2의 보수)

+35표현
100011 -> 00100011

-27표현
010 111 -> 00011011 -> 11100100
    100
011 011
00011011
11100100

00101101 -> 5 5 -10 -> +45

11110100 -| 1보수
00001011 -| 2보수
00001100 -> 1 4 -2 -> -12

11111111 -| 1보수
00000000 -| 2보수
00000001 -> -1

10000000 -| 1보수
01111111 -| 2보수
10000000 -> -128

*.실수형(4byte)
부호비트 지수부 소수부

*.시프트연산
<< 2 새로들어오는 비트는 연산자 동일비트.
<<< 새로들어오는 비트가 0.
</xmp>
</body>
</html>

Posted by 말없제이
,
<html>
<head>
<title>JavaScript</title>
<script type="text/javascript">
<!--
document.write("자바스크립트");
-->
</script>
<script src="060501.js" />
</head>
<body>
<script type="text/javascript">
<!--
document.write("<br>자바스크립트<br>"); // 출력.
document.write("타이틀 : "+document.title); // document.title은 제목.
alert("안녕하세요 \n 반갑습니다."); //확인창
var yn = confirm("좋은날씨?"); //선택창: 확인->true/취소->false값 리턴.
document.write("<br>당신의 선택은 : "+yn);
var age = prompt("당신의 나이는 ?","0"); //질문창
document.write("<br>나이는 "+age+"입니다.");
-->
</script>
<br>
파일하나 생성후 .js로 저장<br>
document.write("&lt;br&gt; 외부파일 : 주로 .js 표시<br>");<br>
alert("경고창");<br>
파일로된 .js호출방법<br>
head부분에..<br>
&lt;script src="060501.js" &gt; &lt;/script &gt;<br>
<br>
</body>
</html>


****** 060501.js *******
document.write("&lt;br&gt;자바스크립트 외부파일 : 주로 .js 표시<br>");
alert("경고창");

*** 경고창 뜰때마다 해제하기 귀찮을때.. ****
사용자 삽입 이미지
사용자 삽입 이미지
Posted by 말없제이
,

css연습2

DevTool/CSS 2009. 6. 5. 10:13
<html>
<head>
<style>
 #top {background :black;color:white;width:760px;height:100px }
 #left{background:blue;color:white;width:150px;height:500px;float:left;}
 #content {background:yellow;color:blue;width:510px;height:400px;vertical-align:top;float:left;overflow:hidden}
 #right{background:green;color:yellow;width:100px;height:400px;vertical-align:top;float:left;overflow:hidden}
 #bottom{background:gray;color:white;width:610px;height:100px;float:left}
 #page {width:760px;overflow:visible;}
</style>
</head>
<body >
 <div id="top"> 상단 로고 </div>
<div id="page">
     <div id="left">좌측메뉴 </div>
     <div id="content">컨텐츠</div>
     <div id="right">오른쪽 </div>
     <div id="bottom">하단</div>
 </div>
</body>
</html>
Posted by 말없제이
,

css 연습1

DevTool/CSS 2009. 6. 5. 10:12

<HTML>
<HEAD>
<TITLE> 스타일시트 활용 </TITLE>
<STYLE>
<!--
 body,table,input {font-size:9pt;}  /* body,table,input 태그에 글자 크기, 색상 지정 */

 textarea {color:#009933;      /* textarea 글자 색상 지정 */
 height:200px}         /* textarea 높이 지정 */

 .tb {border-style:double;    /* 테두리선 모양 지정 */
 border-color:#DB7100;     /* 테두리선 색상 지정 */
 margin-top:40px;       /* 브라우저와의 위쪽 간격 지정 */
 margin-left:30px;}       /* 브라우저와의 왼쪽 간격 지정 */

 .re {color:#CC3300;}      /* 글자 색상 지정 */

 .box {border:1 solid orange;   /* 테두리 두께와 선모양, 색상 지정 */
 color:#3366CC;        /* 글자 색상 지정 */
 height:20px;}         /* 높이 지정 */

 .td1 {width:70px;       /* 넓이 지정 */
 background-color:#FFCC66;   /* 배경색상 지정 */
 padding:5px}         /* 문단 안쪽의 여백 지정 */

 .td2 {width:300px;       /* 넓이 지정 */
 background-color:#FFAA01;   /* 배경색상 지정 */
 padding:3px}         /* 문단 안쪽의 여백 지정 */

 A:link, A:visited {color:#6633CC; text-decoration:none} /* 하이퍼링크의 기본링크와 방문 링크의 색상과 모양 지정 */

 A:hover {color:#66FF66; text-decoration:underline} /* 하이퍼링크의 롤오버 링크의 색상과 모양 지정 */
-->
</STYLE>
</HEAD>

<BODY>
<TABLE WIDTH="500" class="tb">
<TR>
 <TD class="td1">아이디</TD>
 <TD class="td2">
  <INPUT class="box" type="text" name="id" size="20">
  <A HREF="#">[중복확인]</A>
 </TD>
</TR>
<TR>
 <TD class="td1">비밀번호</TD>
 <TD class="td2"><INPUT class="box" type="password" name="pw" size="20"></TD>
</TR>
<TR>
 <TD class="td1">이름</TD>
 <TD class="td2"><INPUT class="box" type="text" name="kor_na" size="20"></TD>
</TR>
<TR>
 <TD class="td1">이메일</TD>
 <TD class="td2"><INPUT class="box" type="text" name="email" size="20"></TD>
</TR>
<TR>
 <TD class="td1">연락처</TD>
 <TD class="td2"><INPUT class="box" type="text" name="tel" size="20"></TD>
</TR>
<TR>
 <TD class="td1">자기소개</TD>
 <TD class="td2"><TEXTAREA  cols=50></TEXTAREA></TD>
</TR>
</TABLE>
</BODY>
</HTML>

Posted by 말없제이
,
사용자 삽입 이미지
메소드 일일이 구현하기 물론 되지요..
방법 1. 3줄 옆 x표시 클릭.
사용자 삽입 이미지
요렇게 보일때... 메소드 추가하면.
그냥 생성되지요.

방법2 위에서 오른쪽 마우스.. >> 소스 >> 메소드 대체/구현. >> 사용할것들 체크하고 다음.
사용자 삽입 이미지
Posted by 말없제이
,

package ch07;

import ch05.sub.*;

public class Ch0710
{
 public String message="멤버변수";
// 내부무명클래스 : 클래스는 클래스이데 이름이 없는 무명의 클래스로
// 한줄의 프로그래밍 코드안에 구현된 클래스이다.
// 용도는 새로운 클래스의 생성을 할 수 없으며,
//대부분 기존클래스의 오버라이딩이나 추상클래스의 추상메서드 구현 또는
//인터페이스에서 추상메서드의 구현을 목적으로 삼는다.
//(당연한 이야기지만 내부무명클래스 역시 메인클래스의 멤버변수, 멤버함수의 접근이
//자유롭다. 또한 모듈화 역시 불가능하다.)
 
 public Ch0710()
 {
  // TODO 자동 생성된 생성자 스텁
  RacingCar car = new RacingCar()
  {
   public void sayHello()
   {
    System.out.println("반가워요");
   }
  };
  car.sayHello();
 
  Protoss protoss = new Protoss()
  {
   public void shieldUpgrade()
   {
    System.out.println("천하무적 업그레이드");
   }
  };
  protoss.shieldUpgrade();
 
  //인터페이스에서의 추상메소드 구현예.
  Unit u =new Unit()
  {
   public void attackUpgrade()
   {
    // TODO 자동 생성된 메소드 스텁
    System.out.println("attackUpgrade");
   }

   public void defenseUpgrade() {
    // TODO 자동 생성된 메소드 스텁
    System.out.println("defenseUpgrade");
   }

   public void print() {
    // TODO 자동 생성된 메소드 스텁
   
   }

   public void shieldUpgrade() {
    // TODO 자동 생성된 메소드 스텁
    System.out.println("shieldUpgrade : "+message);
   }
   
  };
  u.attackUpgrade();
  u.defenseUpgrade();
  u.shieldUpgrade();
 }
 
 public static void main(String[] args)
 {
  new Ch0710();
 }
 
}

Posted by 말없제이
,

package ch07;

public /* final */ class Father //final 상속시키지 않겠다고 명시한것.
{
 //0604추가
 public int money = 50000;
 
 //Farmer에게 줄때는 계승관계가 아니니 소유..
 public void giveMoney()
 {
  Farmer farmer = new Farmer(this);
  farmer.receiveMoney();
 
  Uncle uncle = new Uncle();
  uncle.receiveMoney();
 }
 
// 내부클래스 : 클래스안의 클래스의 형태로 본질은 외부에 클래스가 존재하는것과 다르지 않다.
// 멤버변수도 둘수 있으며, 멤버함수도 사용 가능하다.
// (다만 이너클래스가 존재하는 메인클래스에서만 사용이 가능하므로
// 모듈화 용도에는 적합하지 않다.)
//장점은 메인클래스의 멤버변수를 내것처럼 자유로이 참조하여 쓸 수 있다.
 
 public /* final */ void work()  // final 하위클래스에서 오버라이딩 허용안함.
 {
  System.out.println("아버지께서 일하셔"); //상속과 클래스 레퍼런스 관계 위해...  
 }
 
 class Uncle
 {
//  public int a; //자유롭게 쓸수 있다.
//  public void print()
//  {
//  
//  }
  public void receiveMoney()
  {
   money = money-20000;
  }
 }
 
 
}


***** ps.
내부 클래스 사용시.. 파일이름 저장방법.
"외부클래스이름$내부클래스이름.class"

Posted by 말없제이
,

package ch07;

public class Ch0709
{
 public static void main(String[] args)
 {
  Father f= new Father();
  f.giveMoney();
  System.out.println(f.money);
 }
}

***** Farmer.java ******
package ch07;

public class Farmer //옆집에 사는 농부 ..
{
 public Father father;
 
 public Farmer()
 {
  // TODO 자동 생성된 생성자 스텁
 }
 
 public Farmer(Father father) //로컬변수 -> 멤버변수로 선언하고 대입하는 절차 걸쳐야함.
 {
  // TODO 자동 생성된 생성자 스텁
  //멤버변수에 대입(이유 : 매개변수는 로컬변수이므로 아래의 receiveMoney에서 인식못함.
  this.father = father;
 }
 
 //외부사람이 아버지돈 가져갈때.
 public void receiveMoney()
 {
  father.money -= 10000;
 }
}

**** Father.java *****
package ch07;

public /* final */ class Father //final 상속시키지 않겠다고 명시한것.
{
 //0604추가
 public int money = 50000;
 
 //Farmer에게 줄때는 계승관계가 아니니 소유..
 public void giveMoney()
 {
  Farmer farmer = new Farmer(this);
  farmer.receiveMoney();
  }
 
// 내부클래스 : 클래스안의 클래스의 형태로 본질은 외부에 클래스가 존재하는것과 다르지 않다.
// 멤버변수도 둘수 있으며, 멤버함수도 사용 가능하다.
// (다만 이너클래스가 존재하는 메인클래스에서만 사용이 가능하므로
// 모듈화 용도에는 적합하지 않다.)
//장점은 메인클래스의 멤버변수를 내것처럼 자유로이 참조하여 쓸 수 있다.
 
 public /* final */ void work()  // final 하위클래스에서 오버라이딩 허용안함.
 {
  System.out.println("아버지께서 일하셔"); //상속과 클래스 레퍼런스 관계 위해...  
 }
 
 class Uncle
 {
//  public int a; //자유롭게 쓸수 있다.
//  public void print()
//  {
//  
//  }
  public void receiveMoney()
  {
   money = money-20000;
  }
 }
 
 
}

Posted by 말없제이
,

인터페이스..

DevTool/Java 2009. 6. 4. 17:46

package ch07;

public class Ch0708
{
 public static void main(String[] args)
 {
  //인터페이스 예제.. Terran.java, Zerg.java, Protoss.java 포함.
  //Unit unit = new Unit(); //안될경우 2가지 : 추상클래스거나 인터페이스
 
//  Unit marin = new Terran();
//  marin.attackUpgrade();
//  marin.print();
 
  Unit unit[] = new Unit[] {new Terran(), new Zerg(), new Protoss()};
  for(int i=0;i<unit.length;i++)
  {
   unit[i].attackUpgrade();
   unit[i].defenseUpgrade();
   unit[i].shieldUpgrade();
   unit[i].print();
  }
 }
}
**** Unit.java ******
package ch07;

public interface Unit
{
//인터페이스 : 오로지 추상메서드만 가질 수 있으며
// 멤버변수, 멤버함수는 가질 수 없다.
// 그러나 클래스처럼 계승시킬 수 있는 성격을
// 가지며 인터페이스의 계승은 클래스의 상속과
// 다르게 다중상속이 허용된다.
 
// public int attack; //안됨..
// public int defence; //안됨..
 
 //public void sayHello(){} //안됨
 //public abstract void sayHello(); //작동됨.
 
 //public void sayHello(); //abstract이 자동으로 작동되어.
 //final int a=10;
 
 //가상으로 starcraft라 생각하고.
 public void attackUpgrade();
 public void defenseUpgrade();
 public void shieldUpgrade();
 
 public void print();
}


**** Terran.java *****
package ch07;

//인터페이스의 상속은 implements를 사용한다.
public class Terran implements Unit
{
 public int attack;
 public int defense;
 
 public void attackUpgrade()
 {
  // TODO 자동 생성된 메소드 스텁
  attack+=2;
 }
 
 public void defenseUpgrade()
 {
  // TODO 자동 생성된 메소드 스텁
  defense+=1;
 }
 
 public void shieldUpgrade()
 {
  // TODO 자동 생성된 메소드 스텁
 
 }
 
 public void print()
 {
  // TODO 자동 생성된 메소드 스텁
  System.out.println("태란유닛의 공격력 : "+attack+", 방어력 : "+defense);
 }
}

***** Zerg.java ******
package ch07;

public class Zerg implements Unit
{
 
 public int attack;
 public int defense;
 //공격력 +1, 방어력 +1;
 
 public void attackUpgrade()
 {
  // TODO 자동 생성된 메소드 스텁
  attack+=1;
 }
 public void defenseUpgrade()
 {
  // TODO 자동 생성된 메소드 스텁
  defense+=1;
 }
 public void shieldUpgrade()
 {
  // TODO 자동 생성된 메소드 스텁
 
 }
 
 public void print()
 {
  // TODO 자동 생성된 메소드 스텁
  System.out.println("저그유닛의 공격력 : "+attack+", 방어력 : "+defense);
 }
}

****** Protoss.java ******
package ch07;

public class Protoss implements Unit
{
 public int attack;
 public int defense;
 public int shield;
 //공격력 +1, 방어력 +1, 쉴드 1;
 
 public void attackUpgrade() {
  // TODO 자동 생성된 메소드 스텁
  attack+=1;
 }

 public void defenseUpgrade() {
  // TODO 자동 생성된 메소드 스텁
  defense+=1;
 }

 public void shieldUpgrade() {
  // TODO 자동 생성된 메소드 스텁
  shield+=1;
 }
 
 public void print()
 {
  // TODO 자동 생성된 메소드 스텁
  System.out.println("프로토스 유닛의 공격력 : "+attack+", 방어력 : "+defense+", 쉴드 : "+shield);
 }

}

Posted by 말없제이
,

package ch07;

public class Ch0707
{
 public static void main(String[] args)
 {
//  Car car[] = new Car[3]; //인스턴스의 생성이 아니라, 배열의 선언.
//  car[0] = new RacingCar();
//  car[1] = new Truck();
//  car[2] = new Taxi();
 
  //아래 방법이 abstract..
  Car car[] = new Car[] {new RacingCar(), new Truck(), new Taxi() };
  for(int i=0;i<car.length;i++)
  {
   car[i].SpeedUp();
   car[i].print();
  } 
 }
}

Posted by 말없제이
,