+조건문이 필요한 이유
+비교연산자
+만약 그렇다면 if
+만약 그렇지 않다면 else
+논리연산
챕터 5에서 계산기를 만들었다. 코드 자체에 입력받은 변수끼리의 덧셈계산을 명시해주었다.
그런데 코드에 연산자를 정해놓지 않고, 연산자를 키보드로 입력한다면??!
에휴 아쉽게도 연산자는 그냥 문자열정도다. 연산자 의미로 키보드 입력 못한다.
then, 입력한 연산자가 + 면 덧셈하고 -면 뺄셈하고 기타 등등
이렇게 입력한 연산자 모양에 맞는 계산을 하면 되는 것이다!!
이것이 바로 조건문
조건문에 들어가기 앞서, 비교연산자부터 복습하자
== : 같으면 참
!= : 다르면 참
위 코드는, 상수와 상수 사이 비교연산자를 사용했기 때문에 참거짓이 변하지 않는다.
하지만 변수와 상수 or 변수와 변수 사이에 비교연산을 하게 되면. 변수에 따라 참거짓이 달라진다.
아무튼 참과 거짓이 뜬다.
이 참과 거짓을 저장하는데 '논리 자료형(bool)' 이라는 변수의 종류를 사용한다.
논리 자료형 bool은.. 조건식의 결과를 저장하거나, 결과를 검사할 때 사용한다.
//두 변수가 같은지 다른지를 저장하는 bool변수
bool isSame = number1 == userInput1;
이런식으로 작성한다.
즉, isSame이라는 bool변수는, 넘버1과 유저인풋1이 같다는 명제가 참인지 거짓인지 저장하는 변수다.
이 조건식을 도대체 어떻게 조건문에서 사용하게 되는건지??
else
else if
if를 네번 쓸경우 - 네번 다 비교. 조건 만족하는지 다 비교..
else if - 그렇지 않고 다른거라면이기 때문에, '그렇지 않고'에 해당하지 않는다면 거기서 멈춤!(효율적)
숫자를 순서대로 정확히 입력해야 문이 열리는 도어락
그냥 여러 개의 숫자를 한 줄에 비교할 수 있다면 좋겠다.
이럴 때 사용하는 게 논리연산자
논리곱 논리합 .. 다 배웠던거!! and or이런거쥬
이제 논리합연산자!! 이건 or입니다
롤러코스터를 키 130이상 또는 14살 이상 되어야 탈 수 있다면
if (height >=130 || age >= 14)
{
Console.WriteLine("롤러코스터를 탈 수 있습니다.");
}
이런거죠~~~~~~~네~~~! or입니다
논리부정연산자!
>>참거짓결과를 역으로..
이거 해보자
>>14살 이상이거나 키 130 이상이면 입장 가능
>>14살 이하, 130이하면 입장 불가능
if (!(height >= 130 || age >=14))
{
Console.WriteLine("입장이 불가능합니다.");
}
야호~~ 숫자야구 시간~!
공격수가 입력한 숫자에 따라 스트라이크, 볼, 아웃을 출력하는 코드를 추가하겠습니다~
공격수가 첫번째 입력한 숫자, 두번째 입력, 세번째 입력한 숫자를 수비수의 숫자와 비교해야하기 때문에..
첫, 두, 세번째 입력한 숫자는 각각 if를 사용해 연결해준다.
각 경우에 대해서는, 입력한 숫자와 수비숫자 중 어떤 숫자가 같은 경우, 그 숫자의 자리까지 같냐 다르냐에 차이가 있으므로 else if로 구분해준다.
숫자가 없는 경우는 카운트되지 않으므로 카운트 세는 코드에 고려 안해도 상관 없다.
다음 챕터들에서 해결할 문제
>>반복하고 싶다
>>수비수가 숫자 고르는 게 랜덤으로 바뀌도록 하자.
'기타' 카테고리의 다른 글
Hello Coding 헬로코딩 프로그래밍 챕터7; 배열 (0) | 2020.01.07 |
---|---|
Hello Coding 헬로코딩 프로그래밍 챕터6; 기초문제 심화문제 (0) | 2020.01.06 |
Hello Coding 헬로코딩 프로그래밍 챕터5; 기초문제 심화문제 (0) | 2020.01.02 |
Hello Coding 헬로코딩 프로그래밍 챕터5; 키보드 입력 (0) | 2020.01.01 |
Hello Coding 헬로코딩 프로그래밍 챕터4; 기초문제 심화문제 (0) | 2019.12.31 |