Category»

Notice»

Statistics Graph
티스토리 모바일 블로그

 

'if문'에 해당되는 글 2

  1. 2013.02.20 7. if문
  2. 2012.11.22 17. 프로그래밍 문법 알아보기
 

1. 프로그램을 좌우하는 제어문


○ 제어문의 종류

- 조건문 : 어떤 조건에 따라 분기시키는 제어문(if문, switch문)

- 반복문 : 반복 처리를 수행하는 제어문(for문, while문)


○ 비슷하게 보이지만 제각각 용도와 쓰임새가 조금씩 틀림. 따라서 정확하게 이해할 필요가 있다.


2. if문


○ 사용환경

- 어떤 조건을 이용하여 참(True), 거짓(False)으로 나누어 분기처리하기 위해 사용

- 주로 조건의 대상이나 결과가 2개인 경우에 적합하고, 조건의 대상이나 결과가 2개 이상인 경우에는 if문 보다는 switch문을 사용하는 것이 좋다.


○ 사용방법

 if (조건)

 {

    조건이 참(True)일 때 분기처리

  }

 else

 {

    조건이 거짓(False)일 때 분기처리

  }


○ 일반적인 예제 : if_01.java

class if_01 

{

public static void main(String[] args) 

{

int jumsu = 85 ;

if ((jumsu > 80))

{

System.out.println("합격입니다.");

System.out.println("이제 놀아도 됩니다.");

System.out.println("내일까지 놀아도 됩니다.");

}

else

{

System.out.println("재시험 대상입니다.");

}

}

}


- 실행 결과



○ 같음 비교 예제 : if_02.java

 class if_02 

{

public static void main(String[] args) 

{

int aa = 30 ;

                int bb = 40 ;


if (aa == bb)

{

System.out.println("서로 같습니다.");

}

else

{

System.out.println("서로 틀립니다.");

}

}

}


- 실행 결과



○ 크기 비교 예제 : if_03.java

class if_03 

{

public static void main(String[] args) 

{

int aa = 10 ;

                int bb = 20 ;

                int cc = 30 ;


if (aa > bb && aa > cc)

{

System.out.println("aa가 제일 큰 수 입니다.");

}

else

{

System.out.println("aa가 제일 큰 수가 아닙니다.");

}

}

} 


- 실행 결과



○ char 타입 데이터형 비교 예제 : if_04.java

class if_04 

{

public static void main(String[] args) 

{

char aa = 'a' ;


if (aa == 'A')

{

System.out.println("비교한 문자가 서로 같습니다.");

}

else

{

System.out.println("비교한 문자가 서로 다릅니다.");

}

}

} 


- 실행 결과



○ 문자열 비교 예제 : if_05.java

class if_05

{

public static void main(String[] args) 

{

String name = "홍길동" ;


if (name.equals("홍길동"))

{

System.out.println("당신은 홍길동이 맞습니다.");

}

else

{

System.out.println("당신은 홍길동이 아닙니다.");

}

}

}  


- 실행 결과



○ else문의 생략 : 조건이 거짓인 경우 특별한 처리를 원하지 않는 경우 else문은 생략할 수 있다.


○ 다중 else문의 처리 : 실재는 else문을 여러개 사용하는 것보다는 switch문을 사용하는 것이 더 편리

 if(조건1)

 {

   조건1이 참(True)일 때 분기 처리

 }

 else if(조건2)

 {

   조건2가 참(True)일 때 분기 처리

 }

 else if(조건3)

 {

   조건3이 참(True)일 때 분기 처리

 }

 else

 {

   위의 조건들이 모두 맞지 않을 때 분기 처리

 }






저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

'프로그래밍 > 초보자를 위한 Java 프로그래밍 입문' 카테고리의 다른 글

8. switch문  (0) 2013.02.21
6. 다양한 연산 예제  (0) 2013.02.20
7. if문  (0) 2013.02.20
6. 다양한 연산 예제  (0) 2013.02.20
5. 연산자  (0) 2013.02.19
4. 변수의 할당 = 대입  (0) 2013.02.18

1. 변수 선언 및 데이터 형식


1) 변수 및 상수

○ 변수 :  프로그램 실행 중 변하는 값을 저장할 수 있는 컴퓨터의 메모리 공간

○ 상수 :  변수처럼 변하는 값이 아닌 항상 같은 값을 저장하는 공간


2) 변수(상수) 선언

○ 변수나 상수를 사용하려면 미리 코딩 창의 Sub Procedure나 모듈 상단에 사용할 변수나 상수를 선언해 놓아야 함

○ 선언 형식

키워드 변수(상수)명 As 데이터 형식

- 키워드 : Dim, Public, Private 등으로 지정 가능

- 변수(상수명) : 첫 문자는 반드시 영어 또는 한글(공백, 마침표, !, @, &, $, #, % 특수문자 사용불가)

-Ÿ 데이터 형식 : 생략 시, 모든 형식의 데이터를 저장할 수 있는 Variant 데이터 형식이 자동으로 지정


3) 변수 선언에 필요한 키워드

① Dim

- Dim은 변수를 프로시저 내부나 모듈부에 선언 가능

- 선언된 위치에 따라 해당 변수를 사용할 수 있는 범위가 달라짐

② Private, Public

- 모듈부에만 선언 가능

- Private : 해당 모듈의 전체 프로시저에서 사용 가능하나, 다른 모듈에서는 사용불가

- Public : 전체 모듈의 모든 프로시저에서 사용 가능


※ 다양한 데이터 형식의 의미


 데이터 형식

크기
(Byte) 

범위 

논리

Boolean

2

 TRUE, False

숫자

Byte 

0~255 

Integer

-32,768~32,767 

Long

-2,147,438,648~2,147,438,648 

Currency

 -922,337,203,685,477.5808~922,337,203,685,477.5808

Decimal

12 

+/-79,228,162,514,264,337,593,543,950,335 (소수점 이하가 없는 경우)

+/-7.9228162514264337593543950335 (소수점 아래 28자리)

+/-0.0000000000000000000000000001(0이하 가장 작은 수)

Single

 -3.402823E38~-1.401298E-45(음수의 경우)

1.401298E-45~3.402823E38(양수의 경우)

Double

-1.79769313486232E308~-4.94065645841247E-324(음수)

4.94065645841247E-324~1.79769313486232E308(양수) 

날짜 

Date

100년 1월 1일 ~ 9999년 12월 31일 

문자 

String(가변 길이)

 10

0 ~ 20억 개 

String(고정 길이)

 문자열

길이

1~65536개 

개체 

Object

 

모두 

Variant(문자열)

22 

String(가변 길이) 데이터 형식과 동일 

Variant(숫자)

16 

Double 형 범위 내의 모든 숫자 


※ 변수 선언 예


 Dim i As Integer  ‘i’라는 이름의 정수를 저장하는 변수 선언
 Private 계약일 As Date  해당 모듈의 모든 프로시저에서 사용할 수 있는 ‘계약일’ 이라는 이름의 날짜를 저장하는 변수 선언
 Public 매출액 As Double  모든 모듈의 프로시저에서 사용할 수 있는 ‘매출액’이라는 이름의 숫자를 저장하는 변수 선언 
 Const 할인율 As Single  ‘할인율’ 이라는 이름의 숫자를 저장하는 상수 선언
 Dim 교통비  Dim 교통비 As Variant 와 같은 의미로 모든 데이터 형식을 저장할 수 있는 ‘교통비’라는 이름의 변수 선언



4) 변수와 상수에 값 할당


① 변수 값 할당 형식

변수 명 = 할당할 값


▷ 예시

Dim i AS Integer

i =1

i = Activesheet.Range(“A1”).Value


② 상수 값 할당 형식

Const 상수 명 AS Single = 할당할 값


5) 개체 변수

○ 변수에 값이 아닌 개체(셀 범위, 워크시트, 차트 등)를 할당


① 개체 변수 값 할당 형식

Dim 변수명 As 개체

Set 변수명 = 개체


▷ 예시(1)

Dim 매출실적 As Range

Set 매출실적 = Activesheet.Range(“A1:E50”)

▷ 예시(2)

Dim Sh1 As Worksheet

Set Sh1 =Worksheets(“실적관리”)


6) 변수의 수명

○ 프로시저 실행 시작 → 초기화, 프로시저 종료 → 값을 상실함

○ Static 키워드 : 프로시저를 실행해도 변수 값이 초기화되지 않음


7) 시스템 상수 (내장 상수)

○ 사용자가 선언하여 사용하는 상수 이외에 VBA와 엑셀에 미리 정의되어 있는 상수

○ VBA 상수 : 상수 앞에 ‘vb', 엑셀 개체 상수 :‘xl’가 표시됨

▷ 예) VBA에서 파랑색 사용 : vbBlue, 왼쪽 맞춤 지정 : xlLeft


 Msgbox의 구성 인수

▷ Prompt : 메시지 박스에 표시할 메시지입력

 Button Type : 메시지 박스에 표시할 버튼의 종류

▷ Title : 메시지 박스의 제목 표시줄에 표시할 텍스트

▷ Help File : 도움말 단추를 누를 때 표시할 도움말 파일 세부주소를 명시하는 곳

 Context : 도움말 파일의 연결할 항목 내용 번호


② Button Type 에 사용되는 상수 값



2. 조건문


1) 조건문 이란?

 지정한 조건에 만족할 때와 그렇지 않을 때, 반환하는 결과를 다르게 설정할 때 사용하는 명령문

예) 조건 : [지역] = ‘서울’

        참 : 교통비 ‘5만원’ 지급

     거짓 : 교통비 ‘10만원’ 지급


① IF문

 IF 문은 가장 기본적인 조건문으로 가장 많이 사용되며, 3가지 형식으로 사용 가능


가. 조건이 만족할 때만 실행

IF 조건식 Then

    조건식을 판단한 결과가 TRUE일 때 실행할 실행문

End If


예) 평균이 80 이상이면 ‘합격’ 출력

 Sub 합격여부1()

Sheet("조건문1").Select

If Range("e4").Valye >= 80 Then

Range("f4").Value = "합격"

End If

End Sub


나. 조건에 만족할 때와 조건에 만족하지 않을 때 다르게 실행

IF 조건식 Then

    조건식을 판단한 결과가 TRUE일 때 실행할 실행문

Else

    조건식을 판단한 결과가 FALSE일 때 실행할 실행문

End If


예) 평균이 80 이상이면 ‘합격’ 그렇지 않으면 '불합격' 출력

Sub 합격여부2()

Sheet("조건문1").Select

If Range("e4").Valye >= 80 Then

Range("f4").Value = "합격"

Else

Range("f4").Value = "불합격"

End If

End Sub



다. 2개 이상의 조건을 판단하여 각 조건의 판단 결과에 따라 다른 결과를 실행

IF 조건식1 Then

    조건식1의 판단 결과가 TRUE일 때 실행할 실행문

ElseIf 조건식2 Then

    조건식2의 판단 결과가 TRUE일 때 실행할 실행문

[ElseIf 문 조건식 만큼 반복]

Else

    지정한 조건식 모두를 만족하지 않았을 때 실행할 실행문

End If


예) 평균이 90 이상이면 ‘A’, 80점 이상이면, ‘B’, 70점 이상이면, ‘C’, 60점 이상이면, ‘D’, 나머지는 ‘F’ 표시


 Sub 학점1()

Sheet("조건문1").Select

If Range("e4").Valye >=90 Then

Range("g4").Value = "A"

ElseIf Range("e4").Valye >=80 Then

Range("g4").Value = "B"

ElseIf Range("e4").Valye >=70 Then

Range("g4").Value = "C"

ElseIf Range("e4").Valye >=60 Then

Range("g4").Value = "D"

Else

Range("g4").Value = "F"

End If

End Sub


※  IF 문의 조건 연산자

○ IF 문에서 조건식을 지정할 때 And, Or, Not 연산자를 사용 가능하다. 

 AND : 지정한 조건을 모두 만족하는 경우를 판단함

 OR : 지정한 조건 중, 하나만 만족해도 되는 경우를 판단함

 NOT : 지정한 조건 아닌 경우를 판단함


 Select Case문

▷ 조건의 판단 결과에 따라 다른 동작을 수행하는 조건문 

 여러 개의 조건을 처리해야 하는 경우 더 적합함


가. Select Case 문의 형식

Select Case 식 (또는 변수)

    Case조건1

        조건1이 만족할 때 실행할 실행문

    Case조건2

        조건2가 만족할 때 실행할 실행문

    Case조건3

        조건3이 만족할 때 실행할 실행문

    [Case 조건 반복]

    Case Else

        지정한 조건이 모두 만족하지 않았을 때 실행할 실행문

End Select


예)  평균이 90 이상이면 ‘A’, 80점 이상이면, ‘B’, 70점 이상이면, ‘C’, 60점 이상이면, ‘D’, 나머지는 ‘F’ 표시


 Sub 학점2()

Sheet("조건문2").Select

Select Case Range("e4")

    Case Is >= 90

        Range("g4") = "A"

    Case Is >= 80

        Range("g4") = "B"

    Case Is >= 70

        Range("g4") = "C"

    Case Is >= 60

        Range("g4") = "D"

    Case Else

        Range("g4") = "F"

End Select

End Sub


나. 조건을 지정하는 다양한 방법

▶ 숫자 값의 범위를 조건으로 지정하는 경우

- To 키워드를 사용

Select Case Range(“A1”).Value

    Case 1 To 10

        Msgbox “1~10 사이 값입니다.”

    Case11 To 20

        Msgbox “11~20 사이 값입니다.”

    CaseElse

        Msgbox “0~20 이외의 값입니다.”

End Select

▶ OR 조건을 지정하는 경우

- 조건에 쉼표(,) 사용

Select Case Range(“A1”).Value

    Case 1, 3, 5

        Msgbox “1, 3, 5 중 하나의 값입니다.”

Case 2, 4, 6

        Msgbox “2, 4, 6 중 하나의 값입니다.”

Case Else

        Msgbox “1,2,3,4,5,6 이외의 값입니다.”

End Select

▶ 비교 연산자를 사용하는 경우

- 연산자 앞에 Is 사용

Select Case Range(“A1”).Value

    Case Is >10

        Msgbox “10보다 큰 값입니다.”

Case Is <30

        Msgbox “30보다 작은 값입니다.”

Case Else

End Select



3. 반복문


1) 반복문이란?

○ 작성한 코드를 반복해서 실행할 때 사용하는 명령문

예) 합격 여부를 마지막 영역까지 반복 출력하고자 할 때


 For Next 문

▷ 지정한 횟수만큼  코드를 반복해서 실행하고자 할 때 사용

  

For 카운터변수 = 시작수 To 끝수 [Step 증감값]

        반복해서 실행할 실행문

Next [카운터변수]


예) 평균이 80 이상이면 ‘합격’, 그렇지 않으면 ‘불합격’

                          <코드1>                                                              <코드2>

Sub 합격여부1()

'For Next 문

 Dim i As Integer


 Sheet("반복문1").Select

 For i = 4 To 13 Step 1

 If Range("e" & i).Value >= 80 Then

 Range("f" & i).Value = "합격"

 Range("e" & i).Font.Color = vbBlue

 Else

 Range("f" & i).Value = "불합격"

 Range("e" & i).Font.Color = vbRed

 Enf If

 Next i

 End Sub

 

 Sub 합격여부1_1()

'For Next 문

 Dim i As Integer

 Dim rCnt As Integer


rCnt = Range("b4").CurrentRegion.Rows.Count +2

 Sheet("반복문1").Select

 For i = 4 To rCnt

 If Range("e" & i).Value >= 80 Then

 Range("f" & i).Value = "합격"

 Range("e" & i).Font.Color = vbBlue

 Else

 Range("f" & i).Value = "불합격"

 Range("e" & i).Font.Color = vbRed

 Enf If

 Next i

 End Sub


       For Each Next문

 셀 영역,워크시트, 여러 통합 문서처럼 개체들의 집합(컬렉션)의 개별 요소에 대한 반복 작업을 실행 해야 할 때 사용(예 : 워크시트를 반복하면서 각 시트명을 셀에 입력하는 경우, 선택한 범위의 각 셀을 순환하면서 원하는 셀 서식을 지정하는 경우)


For Each 개체 변수 In 컬렉션

        실행문

Next


③ Do Loop 문

 Do While Loop : 지정한 조건이 만족하는 동안 실행문을 반복

 Do Until Loop : 지정한 조건이 만족할 때까지 실행문을 반복


Do While 조건식

        실행문

Loop




저작자 표시 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
 

티스토리 툴바