Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- c#string
- #csharp #조건연산자 #삼항연산자 #논리연산자 #단락평가 #ifelse축약 #조건문 #프로그래밍기초 #csharp세미나
- #csharp #연산자우선순위 #결합성 #operatorprecedence #연산자결합 #오른쪽결합 #왼쪽결합 #csharp세미나
- c#
- #csharp #기본값 #definiteassignment #default키워드 #초기화규칙 #구조체초기화 #null값 #csharp세미나
- 무노동수입
- 빛썸
- #csharp #부동소수점 #nan #infinity #특수값 #ieee754 #수치계산 #double #float #decimal #csharp세미나
- #csharp #bool #boolean #논리연산자 #부울연산자 #단락평가 #조건문 #csharp기초 #삼항연산자 #csharp세미나
- #csharp #double #decimal #실수형 #정밀도 #부동소수점 #고정소수점 #금융계산 #과학계산 #csharp세미나 #닷넷기초
- #csharp #부동소수점 #반올림오차 #실수계산 #float #double #decimal #mathround #정확도비교 #csharp세미나
- #csharp #산술연산자 #arithmeticoperators #기초프로그래밍 #csharp기초 #연산자우선순위 #정수연산 #실수연산 #math클래스 #나눗셈예외 #csharp세미나 #닷넷개발 #프로그래밍입문
- #csharp #배열 #다차원배열 #가변배열 #배열초기화 #indexrange #span #배열비교 #csharp기초 #배열세미나
- 빗썸api
- #csharp #var키워드 #타입추론 #암묵적형식지정 #익명형식 #linq #지역변수 #csharp세미나
- #csharp #관계연산자 #상등연산자 #equals #비교연산 #null비교 #float비교 #csharp기초 #csharp세미나 #문자열비교
- 파이썬
- #csharp #스택과힙 #메모리구조 #값형식 #참조형식 #박싱 #가비지컬렉션 #힙메모리 #메서드스택 #csharp세미나
- #csharp #문자열 #문자 #string #char #문자열보간 #문자열연결 #문자열비교 #형식지정자 #문자변환 #csharp세미나
- #csharp #수치형식 #numerictypes #리터럴 #형식추론 #접미사 #decimal #float #double #프로그래미링기조 #그래피포뷰
- #csharp #표현식 #배정표현식 #void표현식 #연산자 #산술연산자 #조건연산자 #표현식기초 #csharp세미나
- #csharp #매개변수 #ref #out #params #명명된인수 #선택적매개변수 #메서드전달 #csharp세미나
- c#bool
- 자동매매
- 테더
- #csharp #산술오버플로우 #checked #unchecked #overflowexception #정수연산 #오버플로우처리 #csharp세미나 #디버깅 #성능최적화
- #csharp #널연산자 #nulloperator #널조건부연산자 #널접합연산자 #nullcheck #csharp세미나 #nullsafe #코드안정성
- USDT
- #csharp #비트연산자 #bitwiseoperators #flagsenum #masking #시프트연산 #비트연산 #성능최적화 #csharp세미나 #하드웨어제어
- #csharp #수치변환 #형식변환 #자동변환 #명시변환 #convert #parse #tryparse #csharp세미나
Archives
- Today
- Total
맛있는 개발노트 (맛과 개발을 함께)
C# 세미나 자료: 부울 형식과 연산자 (Boolean Type & Operators) 본문
1. 개요
C#에서 bool은 참/거짓을 나타내는 부울(boolean) 형식입니다. 조건문, 반복문, 논리 연산 등에 필수적으로 사용되며, 프로그래밍의 흐름 제어에 핵심 역할을 합니다.
이 세미나에서는 C#의 부울 형식과 논리 연산자, 사용 패턴과 주의사항을 초급부터 고급까지 단계별로 설명합니다.
2. 기본 이론
2.1 bool 형식
- true 또는 false 두 가지 값만 가질 수 있는 데이터 타입
- 조건문, 반복문, 플래그, 반환값 등에 자주 사용
bool isActive = true;
bool isLoggedIn = false;
2.2 주요 논리 연산자
연산자의미설명예시
&& | 논리 AND | 둘 다 true일 때만 true | a && b | ||||
` | ` | 논리 OR | 둘 중 하나라도 true면 true | `a | b` | ||
! | 논리 NOT | true → false, false → true | !a |
2.3 부울 표현식의 평가 방식
- &&, ||는 **단락 평가(short-circuit evaluation)**를 따름
- a && b에서 a가 false면 b는 평가하지 않음
- a || b에서 a가 true면 b는 평가하지 않음
bool result = (x != 0) && (10 / x > 1); // x가 0이면 오른쪽 연산은 생략됨
3. 단계별 설명
3.1 초급: 조건문과 bool 사용
bool isAdult = age >= 18;
if (isAdult)
{
Console.WriteLine("성인입니다.");
}
- 비교 연산 결과는 모두 bool 타입 반환
- if, while, for 등에서 bool 조건이 요구됨
3.2 중급: 복합 조건과 논리 연산자 활용
bool hasId = true;
bool hasTicket = false;
if (hasId && hasTicket)
{
Console.WriteLine("입장 가능");
}
else
{
Console.WriteLine("입장 불가");
}
- 복수 조건을 &&, ||로 연결하여 복합 논리 판단 가능
3.3 고급: 부울 반환 메서드와 삼항 연산자 활용
bool IsEven(int number)
{
return number % 2 == 0;
}
string message = IsEven(4) ? "짝수" : "홀수";
Console.WriteLine(message);
- 삼항 연산자(?:)는 bool 조건에 따라 값을 선택할 수 있음
- bool 반환 메서드는 가독성과 재사용성 향상
4. 주의사항 및 팁
- C#에서는 0, 1 같은 숫자는 bool로 자동 변환되지 않음 → if (1) 같은 표현은 오류
- bool.Parse("true") 또는 Convert.ToBoolean("True")로 문자열을 bool로 변환 가능
- 삼항 연산자는 가독성을 위해 짧은 표현에 사용하는 것이 좋음
- 단락 평가를 활용하면 불필요한 연산을 줄일 수 있음
5. 결론
- bool은 조건 제어와 프로그램 흐름의 핵심 형식이며, 논리 연산자와 함께 사용됩니다.
- &&, ||, ! 등의 연산자는 복합 조건을 간결하고 논리적으로 표현하는 데 필수입니다.
- 안전하고 효율적인 코드를 위해 단락 평가와 bool 반환 함수를 적극 활용합시다.
6. Q&A
Q1. C에서처럼 if (1)을 쓸 수 있나요?
A1. 아니요. C#은 bool 타입만 조건식에 허용하므로 if (true) 또는 if (x == 1)처럼 명확히 작성해야 합니다.
Q2. 문자열을 bool로 바꾸려면?
A2. bool.Parse("true"), Convert.ToBoolean("true") 등으로 변환 가능합니다.
Q3. 삼항 연산자는 꼭 bool 조건만 가능한가요?
A3. 네. 조건 ? 참일 때 값 : 거짓일 때 값에서 조건은 bool이어야 합니다.
Q4. 단락 평가가 왜 중요한가요?
A4. 불필요한 연산을 방지하고, 예외 발생 가능성이 있는 표현식을 안전하게 보호할 수 있기 때문입니다.
'C# 학습 > C# 언어의 기초' 카테고리의 다른 글
C# 세미나 자료: 조건 논리 연산자와 조건 연산자 (삼항 연산자) (0) | 2025.04.08 |
---|---|
C# 세미나 자료: 상등 및 관계 연산자 (Equality & Relational Operators) (0) | 2025.04.08 |
C# 세미나 자료: 실수 반올림 오차 (Floating-Point Rounding Error) (0) | 2025.04.08 |
C# 세미나 자료: double과 decimal의 차이 (0) | 2025.04.08 |
C# 세미나 자료: 문자열과 문자 (String & Char) (0) | 2025.04.07 |