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 공돌공돌
,