본문 바로가기
TIL

11.07 (TIL)

by 오랑이귀엽다 2023. 11. 7.

형변환

C#에서는 자료형이 다른 변수 간에 값을 할당하거나 연산을 수행할 수 있다. 

이때, 자료형이 다른 변수 간에 값을 할당하거나 연산을 수행하려면

명시적 형변환(explicit casting) 또는 암시적 형변환(implicit casting)을 해주어야 한다

 

명시적 형변환(explicit casting)

(자료형) 형식으로 수행할 수 있다.

int num1 = 10;
long num2 = (long)num1;   // int를 long으로 명시적 형변환

 

암시적 형변환(implicit casting)

1. 작은 데이터 타입에서 더 큰 데이터 타입으로 대입하는 경우

byte, short, char 등 작은 데이터 타입에서 int, long, float 등 더 큰 데이터 타입으로 대입할 때 암시적 형변환이 발생

 

byte num1 = 10;
int num2 = num1;  // byte형에서 int형으로 암시적 형변환

 

2. 리터럴 값이 대입되는 경우

C# 컴파일러는 리터럴 값의 데이터 타입을 판별하여 변수에 암시적으로 형변환

 

float result = 1;  // 1은 int형 리터럴 값이지만 float형으로 암시적 형변환

 

3. 정수형과 부동소수점형 간의 연산을 수행하는 경우

정수형과 부동소수점형의 연산 결과는 부동소수점형으로 변환

 

int num1 = 10;
float num2 = 3.14f;
float result = num1 + num2;  // int형과 float형의 덧셈에서 float형으로 암시적 형변환

 

Console.ReadLine

C#에서 콘솔 입력을 받을 때는 Console.ReadLine 메소드를 사용

ReadLine 메소드는 사용자가 입력한 값을 문자열로 반환

숫자나 논리값을 입력받을 때에는 적절한 형변환을 해야함

 

코드사용

// input은 사용자가 입력한 값을 저장하는 변수

string input = Console.ReadLine();

 

Console.ReadLine 메소드를 호출하면 사용자가 입력한 값이 문자열로 반환되어 input 변수에 저장

 

Split

사용자로부터 여러 개의 값을 한 줄에 입력받고 싶을 때에는 Console.ReadLine 메소드를 사용하여 입력받은 값을 문자열로 받은 후, string.Split 메소드를 사용하여 문자열을 나누어서 처리

 

 

var

C# 3.0부터는 var 키워드를 사용하여 변수를 선언할 수 있다.

var 키워드를 사용하여 변수를 선언하면 변수의 자료형이 컴파일러에 의해 자동으로 결정

즉, 초기화하는 값의 자료형에 따라 변수의 자료형이 결정

 

산술, 관계, 논리 연산자

1) 산술연산자

산술 연산자는 숫자를 대상으로 사용

2) 관계연산자

관계 연산자는 두 값을 비교하여 참(True) 또는 거짓(False) 값을 반환

3) 논리연산자

논리 연산자는 참(True) 또는 거짓(False) 값을 대상으로 사용

 

비트 연산자

비트 연산자는 데이터의 비트(bit) 단위로 연산을 수행하는 연산자

https://untiystudy.tistory.com/5

 

비트 연산

 

untiystudy.tistory.com

 

 

복합 대입 연산자와 증감 연산자

1) 복합 대입 연산자

C#에서는 변수에 값을 할당하는 대입 연산자(=) 외에도, 다양한 복합 대입 연산자를 제공

복합 대입 연산자는 변수에 연산을 수행한 결과를 저장하는 연산자

2) 증감 연산자

증감 연산자는 변수의 값을 1 증가시키거나 감소시키는 연산자

 

연산자 우선순위

연산자 우선순위는 수식 내에서 연산자가 수행되는 순서를 결정

연산자 우선순위에 따라 연산의 결과가 달라질 수 있으므로 중요한 개념

 

1.괄호 (): 괄호로 감싸진 부분은 가장 높은 우선순위로 먼저 계산

2.단항 연산자: 단항 연산자들(++, --, +, -, ! 등)은 괄호 다음으로 높은 우선순위를 가진다

3.산술 연산자: 산술 연산자들(*, /, %, +, -)은 단항 연산자보다 우선순위가 낮다.

4.시프트 연산자: 시프트 연산자(<<, >>)는 산술 연산자보다 우선순위가 낮다.

5.관계 연산자: 관계 연산자들(<, >, <=, >=, ==, !=)는 시프트 연산자보다 우선순위가 낮다.

6.논리 연산자: 논리 연산자들(&&, ||)는 관계 연산자보다 우선순위가 낮다.

7.할당 연산자: 할당 연산자들(=, +=, -=, *=, /= 등)는 논리 연산자보다 우선순위가 낮다.

 

 

연습해보기

1-1 사용자로부터 입력 받기

이름과 나이를 입력 받고 출력하는 코드를 작성

 

1-2 간단한 사칙연산 계산기 만들기

두 수를 입력 받고 사칙연산의 결과를 출력

 

1-3 온도 변환기 만들기

사용자로부터 섭씨온도를 입력받아, 화씨온도로 변환

공식은 화씨 = (섭씨 * 9/5) + 32

 

1-4 BMI 계산기 만들기

사용자로부터 키(m)와 체중(kg)를 입력받아, BMI 지수를 계산

공식은 BMI = 체중(kg) / 키(m)^2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'TIL' 카테고리의 다른 글

11.09 (TIL)  (0) 2023.11.09
11.08 (TIL)  (0) 2023.11.08
11.06 (TIL)  (0) 2023.11.06
11.03 (TIL)  (0) 2023.11.03
11.02 (TIL)  (0) 2023.11.02