7일차

개발개발/자바 2013. 9. 10. 17:21

7일차(추상화 정리,메서드 작성방법2,캡슐화)
==========================
하나의 파일->클래스작성은 하나
                  여러개 작성가능

=>매개변수가 있고,반환값(리턴값)=계산값
=>계산목적

 ==>직사각형의 면적을 구하는 프로그램 작성
                           j0903
 =>Nemo.java, NemoHandling.java
                            (main())
  /*
   int addResult=num1+num2;
   return addResult; */

  return (num1+num2);
======================
메서드를 이용해서 전의 만들예제를 내용수정
========================
1.j0830->WhileTest2.java
   j0829->IFTest2.java

    =>j0903에 복사할것.

     j0903
          WhileTest2.java
          IFTest2.java
========================
추상화->클래스 작성,,,
캡슐화->추상화의 단점을 보완
         ->올바른 데이터값만 입력을 받아서 저장할 수있도록
             설계하는 기법

  j0902->Car.java,CarHandling.java
                 |
             j0903
=========================
=>Car.java,CarHandling->캡슐화 기법
========================
=>Nemo.java,NemoHandling.java
=======================
=>1.객체명.멤버변수=저장할값;=>금지
접근지정자=>1.private멤버변수==>외부에서 접근차단
                   2.각각의 멤버변수에 값을 따로 저장할 수있는
                      메서드를 하나씩 작성
                      
                    =>데이터저장=>매개변수 존재한개
                                           반환형은 없다.
                    =>public void setXXX(자료형 매개변수명){
                                 멤버변수=매개변수명;
                        }
                    =>저장된 데이터를 꺼내오는 방법->getXXX
                    형식)public 반환형 getXXX(){
                                return 멤버변수명;
                        }                   
===================================
다형성->생성자의 개요,기능,메서드 오버로딩?
상속성
==========================
  public void accessAAA(){
      AA inst=new AA();
     //inst.num=20;
     inst.setNum(20);
  }

<과제>NemoHandling.java
->캡슐화기법을 적용시키시오.=>x,y->private
                                            setX(int a),setY(int b)
                                    =>음수는 입력불가입니다.
                                            getX(),getY()
=================================
p156->문제6-1
문제1)
문제2)
=================================
예습) 정적메서드->p152~
  ==>07장 p190->생성자의 개요,기능읽어오기
  ==>->p286~291=>메서드 오버로딩
=================================

 

 

 

 

 

 

 

'개발개발 > 자바' 카테고리의 다른 글

9일차  (0) 2013.09.10
8일차  (0) 2013.09.10
6일차  (0) 2013.09.03
5일차  (0) 2013.09.03
4일차  (0) 2013.08.29
Posted by 공돌공돌
,

6일차

개발개발/자바 2013. 9. 3. 09:10

6일차(중첩제어문,탈출문,객체지향프로그래밍(6,7장)

   c:\webtest
          java
              6일차(중첩제어문,탈출문,객체지향프로그래밍)
p131->p137->중첩제어문
 j0902
    |
     -ForTest2

=>탈출문(continue,break,return)
    (=분기문)

break->주로 반복문(while,do~while,for)에서
            특정한 조건이 만족->이 break문과 가장
            가까운 제어문을 탈출

 이클립스가 익숙하지않으면
 원래상태로 전환=>window->reset perspective

 break->1.레이블이 없는 break문(ForTest2.java)
             2.레이블이 있는 break문->p142
             =>특정 레이블(책갈피)가 있는 부위의 제어문을
                 탈출하고 싶을때 사용하는 방법(BreakTest.java)

 continue문=>skip문
                 =>특정조건에 만족하는 continue문을
                     만나게 되면 continue구문이하의 문장을
                     수행하지 않고(skip)
                 =>continue문과 가장 가까운 루프로 이동
                 =>for문의 경우->증감식으로 이동
                     while문의 경우->조건식으로 이동
================================
  =>BreakTest.java->Save As->ConTest.java
continue문
a=1,b=1
a=1,b=3
a=1,b=4
a=1,b=5
=======
a=2,b=1
a=2,b=3
a=2,b=4
a=2,b=5
=======
a=3,b=1
a=3,b=3
a=3,b=4
a=3,b=5
=======
a=4,b=1
a=4,b=3
a=4,b=4
a=4,b=5
=======
a=5,b=1
a=5,b=3
a=5,b=4
a=5,b=5
=======
for반복문 종료!

<문제>=>SumBreak.java저장

조건1:1~100까지의 합계를 구하시오.(int sum,int i)
조건2:3의 배수 또는 5의 배수의 경우에만 합계를 구하시오
                       ||  (for문 if문 사용)
조건3:->3의배수 또는 5의 배수값을 출력(i값을 출력)
             합계가 200이 넘어가는 i값의 최소값을 구하시오
            =>if(sum > 200) break;

   while(true){
        ...
   }

<문제>->Star1.java
--->별을 체크->j
--->행증가--->i

package j0902;

public class Star1 {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
       System.out.println("1.별을 출력");
      for(int i=1;i<=5;i++){ //행
         for(int j=1;j<=i ;j++){
     //  for(int j=5;j>=i;j--){
           System.out.print("*");//*****
         }
         System.out.println();//줄바꿈
      }//outer for
 }//main
}
==================
  *
  **
  ***
  ****
  *****

  *****
  ****
  ***
  **
  *
================
A
AA
AAA
AAAA
AAAAA

package j0902;

public class Alpha {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
       System.out.println("1.별을 출력");
       char mun='A';
      
      for(int i=1;i<=5;i++){ //행
         for(int j=1;j<=i ;j++){
           System.out.print(mun);//*****
         }
         System.out.println();//줄바꿈
      }//outer for
 }//main
}

======
A
BC
DEF
GHIJ
KLMNO

package j0902;

public class Alpha {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
       System.out.println("1.별을 출력");
       char mun='A';
      
      for(int i=1;i<=5;i++){ //행
         for(int j=1;j<=i ;j++){
           System.out.print(mun);//*****
           mun++;//65->66->67...
         }
         System.out.println();//줄바꿈
      }//outer for
 }//main
}

=============================
객체지향 프로그래밍->Java,C#,Delphi,PowerBuilder,,,
=>윈도우에서 프로그램작성법

1.추상화->p176~190 클래스의 개요,작성,구성요소
                               메서드작성방법(6장~7장)
2.캡슐화->메서드작성방법(09장)
               접근제어 지시자,정보은닉
3.다형성=>p190 생성자,오버로딩(11장),메서드작성방법(6장)
4.상속성=>14~16장(클래스의 상속)

도스->C
======================================
p184
하나의 파일에 클래스가 한개만 작성된 예제->ConTest.java
==========================
하나의 파일에 클래스가 한개이상인 경우의 예제

class A(main())------->A.java
class B            B.java
class C            C.java
....=>갯수는 제한이 없다.

=============
1.하나의 파일에 클래스 여러개가 있어도->main()메서드를 가진 클래스를
                                                         파일명으로 부여

2.public class로 시작하는 클래스를 파일명으로 부여한다.
                                ->main()를 가진다
  하나의 파일에 public class로  시작하는 것은 하나만 가능
=================================
public class A(main())------->A.java
public class B            B.java
class C

3.class A
   class B
   class C
======================
  ->main()메서드도 없고,public class로 시작하는 클래스는 없는경우
=>1)A.java 2)B.java 3)C.java 4)그날의 컨디션 A,B,C.java부여
-----------------------------------------------------------------
 추상화->ppt자료
            현실세계에 존재하는 모든 사물(객체)의 공통적인 상태,특징과

            행동양식을 유추(->잘 생각해서) 클래스를 만들어내는
            일련의 과정들

   ex)  자동차(종류,회사별,이름,,키보드,연필,,,
   ===>8가지 자료형으로도 도저히 저장할 수 없는 대상->공통의특징,
                                                                               행동양식

  =>자동차,사람,컴퓨터,자판기,....
========================================
   자동차->Car.java,==>운전->CarHandling.java

//1.main()메서드 있는 클래스->실행목적
//2.main()메서드가 없는 클래스->데이터저장 목적

1.단순하고,반복적인 기능을 가진경우->메서드작성

  형식) 접근지정자 반환형(void) 메서드명(){

       }
=>클래스의 구성요소 메서드작성.ppt

 2.매개변수가 존재하고 반환형이 없는 메서드
=>데이터를 저장하거나 출력
    =============================

클래스-->새로운 자료형을 만들기위한 설계도(빵틀)
           ->자동차===================>공장
                                                                   대량생산
                                                                   사물(객체)

객체를 생성====>자동차를 저장하기위한 공간을 메모리상에
                           만들어라
===================================
Car.java->CarHandling.java->

 

'개발개발 > 자바' 카테고리의 다른 글

8일차  (0) 2013.09.10
7일차  (0) 2013.09.10
5일차  (0) 2013.09.03
4일차  (0) 2013.08.29
3일차  (0) 2013.08.28
Posted by 공돌공돌
,

5일차

개발개발/자바 2013. 9. 3. 09:09

5일차(제어문2(switch,while,do~while,for~))

=>p118
              ->다중if문 대용
              switch~case=>다중 if문==>속도가 느림
                                if(조건식)
                                   문장1
                                else if(조건식2)
                                    문장2
                                ...
           형식)                                 조건의 결과->숫자
                              su%2==0
                    switch(조건식){ //수식,변수==>상수

                    case 값1: 실행문장;
                                    break;
                    case 값2: 실행문장2;
                                    break;
                            ..
                     default:->조건에 만족하는것이 없을때
                     }
         j0830
     =>SwitchTest
================
          SwitchTest3

=>반복문=>특정조건이 거짓이 될때까지
                  계속해서 실행이 되는 구문

 for,while,do~while
==================
 while->do~while->for문

변수가 필요로하는 경우

1.계산하는 문제->ex)1~100합계

             1+2+3+....100=? int sum
               반복할 횟수->int repeat

// ======================
2.입력을 받아서 처리해주는 프로그램
3.현재 프로그램의 상태를 기억할 필요가 있을때->변수
=>ex)=>그림판
    boolean mouseclicked=false;
    if(mouseclicked==true){ // if(mouseclicked){
      그림그리는 코딩...
    }                                         }
=============================
      while(조건식) //조건식이 참인동안
        실행할 문장;=>하나이상 실행시 블럭처리

       do{
           반복해서 실행할 구문;//(1)먼저 무조건 실행
          }while(조건식)//(2)조건체크
 =>먼저 실행할 문장부터 구현하고 나서 나중에 조건식체크
 =>누적의 개념->게시판의 글목록보기에서 실행
 
 =>WhileTest2.java

1.반복할 횟수가 정해져있는 경우=>for,while
 =>WhileTest.java

2.반복할 횟수가 정해져있지 않은 경우
   =>while,do~while
   =>ex)파일메뉴->외부에서 파일불러오기
   =>파일입출력
============================
<문제>WhileTest2.java

1)변수 2개를 이용해서
   int start=20,end=40
        //시작      종료값
2)결과)
           start=20
           start=21
           start=22
           ...
           start=40

   int start=40, end=20
   ->첫번째수는 두번째수보다
       클수가 없습니다.
=============================
형식)=>ForTest

  ex)for(초기값 설정;조건식;증감식)
                반복해서 실행할 구문;
            (1)      (2)(5)
     for(int i=0;i<3;i++)(4)
                (3)->실행문장(6)

for문->초기값은 생략가능
      ->for문 밖에 선언가능
      ->증감식은 생략이 가능
      =>for문 안쪽에 코딩
 
i=1=>sum=sum+i;
                     0+1=1
          gop=gop*i;
                    1*1=1
===============
i=2일때 sum=sum+i
                       1+2=3
            gop=gop*i;
                      1*2=2
================
i=3일때  sum=sum+i(3+3)
             gop=gop*i(2*3)
================
i=4일때  sum=sum+i(6+4)
             gop=gop*i(6*4)
=================
<문제>=>짝수들의 합을 구하기
1~100까지 합계->5050

2의 배수이면서 7의 배수들의
합계를 구하기

for(int i=0;i<=100;i+=2){ //0,2,4,6,,,
   //짝수인 경우에만 합계를 구하기
     //if(i%2==0)//2,4,6,8,10
 sum+=i;//sum=sum+i;
 gop*=i;//gop=gop*i;
  }
   
1.참조형 변수와 같은 자료형의 크기
->int,float
=====================
2. byte b=10;
    char ch='A';
     int i=100;
    long l=1000L

==>자동형변환
a) b=(byte)i;//4->1byte->생략
                                        불가
b)ch=(char)b;//1byte->2byte
 -128~127==>0~65535
   =>양수때문에 생략불가
c)short s=(short)ch;
 -32768~32767<--0~65535
==================
d,e

d)float f=(float)l; //long->float
=>float f=l;
e)i=(int)ch;//2byte->4byte
=>생략가능
==================
4번.
a,b,c,d
================
byte b=256;//-128~127
char c='';//에러유발
char c=' '//빈문자->가능
char answer="no";
float f=3.14F; //(float)3.14;
double d=1.4e3f;//->float->double

 

'개발개발 > 자바' 카테고리의 다른 글

7일차  (0) 2013.09.10
6일차  (0) 2013.09.03
4일차  (0) 2013.08.29
3일차  (0) 2013.08.28
2일차  (0) 2013.08.28
Posted by 공돌공돌
,