1. ์ฌ์ฉ์๋ก๋ถํฐ ์ฌ๊ฐํ์ ๋๋น์ ๋์ด๋ฅผ ์ ๋ ฅ๋ฐ์ ๋์ด๋ฅผ ๊ณ์ฐํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
using System;
namespace RectArea
{
class MainApp
{
public static void Main(string[] args)
{
Console.WriteLine("์ฌ๊ฐํ์ ๋๋น๋ฅผ ์
๋ ฅํ์ธ์.");
string width = Console.ReadLine();
Console.WriteLine("์ฌ๊ฐํ์ ๋์ด๋ฅผ ์
๋ ฅํ์ธ์.");
string height = Console.ReadLine();
int area = Convert.ToInt32(width) * Convert.ToInt32(height);
Console.WriteLine("์ฌ๊ฐํ์ ๋์ด๋ : {0}", area);
}
}
}
2. ๋ค์ ์ฝ๋์์ ์๋ชป๋ ๋ถ๋ถ์ ์ฐพ๊ณ , ๊ทธ ์ด์ ๋ฅผ ์ค๋ช ํ์ธ์.
int a = 7.3;
float b = 3.14;
double c = a*b;
char d = "abc";
string e = 'ํ';
- int๋ ์ ์๋ง ์ ์ธ์ด ๊ฐ๋ฅํ๋ค. => double a = 7.3 ํน์ int a = (int)7.3
- float๋ ๋ฆฌํฐ๋ด ๊ฐ ๋ค์ ์๋ฌธ์ f๋ ๋๋ฌธ์ F๋ฅผ ๋ถ์ฌ์ ํด๋น ๊ฐ์ด float ํ์ ์ผ๋ก ํด์๋์ด์ผ ํจ์ ์๋ ค์ค์ผ ํ๋ค.๋ง์ฝ f ๋๋ F๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉด, ๊ฐ์ ๊ธฐ๋ณธ์ ์ผ๋ก double ํ์ ์ผ๋ก ํด์๋๊ธฐ ๋๋ฌธ์ ์ค๋ฅ๊ฐ ๋ฌ๋ค. => float b = 3.14f;
- ์ฌ๊ธฐ์ a๋ int์ด๊ณ b๋ float์ด๋ฉฐ, int์ float ๊ฐ์ ์ฐ์ฐ์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ int๋ float์ผ๋ก ์๋ ํ ๋ณํ๋๋ค. ์ดํ์ float์ float ์ฐ์ฐ ๊ฒฐ๊ณผ๋ double๋ก ์๋ ํ ๋ณํ๋๋ค. => ์์ ํ ๋ถ๋ถ ์์
- char์ ๋จ์ผ ๋ฌธ์๋ฅผ ํํํ๋ ๋ฐ์ดํฐ ํ์ ์ด๊ธฐ ๋๋ฌธ์ ์ํ๋ฒณ ๊ธ์๋ ์ซ์, ํน์ ๋ฌธ์ ๋ฑ ํ ๊ธ์๋ง ์์ ๋ฐ์ดํ(')์์ ๋ค์ด๊ฐ๊ฒ ๋๋ค. ๋ง์ฝ char d = 'abc';๋ผ๊ณ ์ ๋ ฅํ๊ฒ ๋๋ฉด, ๋ฌธ์ ๋ฆฌํฐ๋ด์ ๋ฌธ์๊ฐ ๋๋ฌด ๋ง๋ค๋ ์๋ฌ๊ฐ ๋จ๊ฒ ๋๋ค. => char d = 'a'; ํน์ string d = "abc";
- string์ ํฐ ๋ฐ์ดํ(")์์ ๋ค์ด๊ฐ๊ธฐ ๋๋ฌธ์, ์์ ๋ฐ์ดํ๋ฅผ ์ฐ๋ฉด char ํ์์ผ๋ก ์ธ์๋์ด ์๋ฌ๊ฐ ๋จ๊ฒ ๋๋ค. = > string e = "ํ"; ํน์ char e = 'ํ';
3. ๊ฐ ํ์๊ณผ ์ฐธ์กฐํ์์ ์ฐจ์ด๋ ๋ฌด์์ธ๊ฐ์?
๊ฐ ํ์: ๋ฐ์ดํฐ๊ฐ ๋ณ์ ๋ด์ ์ง์ ์ ์ฅ๋๋ฉฐ ๋ณต์ฌ๋์ด ์ ๋ฌ
int a = 5;
int b = a; // ๊ฐ์ด ๋ณต์ฌ๋จ
a = 10; // b์๋ ์ํฅ์ ์ฃผ์ง ์์
Console.WriteLine($"a: {a}, b: {b}");
//=>a๋ 10, b๋ ๊ทธ๋๋ก 5
์ฐธ์กฐ ํ์: ๋ฐ์ดํฐ์ ๋ฉ๋ชจ๋ฆฌ ์์น๋ฅผ ๊ฐ๋ฆฌํค๋ ์ฐธ์กฐ๊ฐ ๋ณ์์ ์ ์ฅ๋๋ฉฐ, ๋ฐ์ดํฐ ์์น๋ฅผ ๊ณต์ ํ๋ฉฐ ์ ๋ฌ
int a = 5;
ref int b = ref a; // a์ ์ฐธ์กฐ๋ฅผ b์ ํ ๋น
a = 10; // b๋ ๊ฐ์ ๊ฐ์ ์ฐธ์กฐํ๋ฏ๋ก b์ ๊ฐ๋ ๋ณ๊ฒฝ๋จ
Console.WriteLine($"a: {a}, b: {b}");
//=> a์ b ๋ชจ๋ 10
4. ๋ฐ์ฑ๊ณผ ์ธ๋ฐ์ฑ์ ์ค๋ช ํ์ธ์.
๋ฐ์ฑ (Boxing): ๊ฐ ํ์ -> ์ฐธ์กฐ ํ์์ผ๋ก ๋ณํํ๋ ๊ฒ
์ธ๋ฐ์ฑ (Unboxing): ์ฐธ์กฐ ํ์ -> ๊ฐ ํ์์ผ๋ก ๋ณํํ๋ ๊ฒ
int value = 42; // ๊ฐ ํ์ ๋ณ์
object boxedValue = value; // ๊ฐ ํ์์ ๋ฐ์ฑํ์ฌ object ๋ณ์์ ํ ๋น
value = 1000;
Console.WriteLine($"boxedValue: {boxedValue}"); //42
// ๋ฐ์ฑ๋ ๊ฐ์ ๋ค์ ์ธ๋ฐ์ฑํ์ฌ ์๋์ ๊ฐ ํ์์ผ๋ก ๊ฐ์ ธ์ค๊ธฐ
int newValue = (int)boxedValue;
Console.WriteLine($"newValue: {newValue}"); //42
5. ๋ค์ ์ฝ๋๋ฅผ ์ปดํ์ผํ ํ์ a์ b๋ ๊ฐ๊ฐ ์ด๋ค ๋ฐ์ดํฐ ํ์์ด๊ฒ ์ต๋๊น?
var a = 2020;
var b = "double";
- var a = 2020;์์ 2020์ intํ์ด๊ธฐ ๋๋ฌธ์ a๋ intํ์ด ๋๋ค.
- var b = "double";์์ "double"์ stringํ์ด๊ธฐ ๋๋ฌธ์ stringํ์ด ๋๋ค.
'๐ฅ๏ธ > C#' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ด๊ฒ์ด C#์ด๋ค] Chapter4 ์ฐ์ต๋ฌธ์ (0) | 2023.08.16 |
---|---|
[C#] null ์กฐ๊ฑด๋ถ ์ฐ์ฐ์, ๋ณํฉ ์ฐ์ฐ์ (0) | 2023.08.16 |
[C#] ๋ฌธ์์ด ์์ ๋ง์ถ๊ธฐ (Format(), ๋ฌธ์์ด ๋ณด๊ฐ) (0) | 2023.08.15 |
[C#] ๋ฌธ์์ด(string) ๋ค๋ฃจ๊ธฐ (0) | 2023.08.15 |
[C#] ๋ฐ์ดํฐ ํ์ ๊ณผ ๋ฐ์ดํฐ ํ์ ๊ฐ์ ๋ณํ (0) | 2023.08.15 |