목차
- C# 변수 특징
- 기본 자료형
- 숫자 (int, float, double)
- 참거짓 (bool)
- 단일문자 (char)
- 문자열 (string)
- 자료형 변환 종류 (Type Casting)
- 자료형 확대 변환 (= 암묵적 변환 Implicit Casting)
- 자료형 축소 변환 (= 명시적 변환 Explicit Casting)
- 자료형 변환 메서드 종류
C# 변수 특징
C#에서 변수는 자료형이 지정되어 있어야 함.
[예제]
using System;
namespace Homzzang
{
class Program
{
static void Main(string[] args)
{
int a = 2; // 정수
float b = 3.56f; // 부동소수
double c = 7.89d; // 부동소수
char d = 'A'; // 단일문자
bool e = true; // 참거짓
string f = "Homzzang.com"; // 문자열
Console.WriteLine(a); // 2
Console.WriteLine(b); // 3.56
Console.WriteLine(c); // 7.89
Console.WriteLine(d); // A
Console.WriteLine(e); // True
Console.WriteLine(f); // Homzzang.com
}
}
}
기본 자료형
※ 자료형은 소문자로 기재. (※ C++도 마찬가지.)
cf. Java 경우, String 자료형은 첫 글자가 대문자임.
int ★
4 bytes 크기. 정수.
※ 예제: 3
※ 범위: -2,147,483,648 ~ 2,147,483,647
long
8 bytes 크기. 정수.
※ 예제: 3L
※ 범위: -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
float
4 bytes 크기. 부동소수. (=실수)
※ 예제: 3.45f, 3.45F
※ 10진수 6~7자리 저장에 충분.
※ 소수점 6~7 자리 가능.
double ★
8 bytes 크기. 부동소수. (=실수)
※ 예제: 3.45, 3.45d, 3.45D
※ 10진수 15자리 저장에 충분.
※ 소수점 15 자리 가능.
※ float 보다 정밀도가 높아, 정밀한 계산에 적합.
bool
1 byte 크기. 참거짓 (boolean).
※ 예제: true, false
char
1 byte 크기. 단일문자(character) (예) 'H', 'Z'
※ 단일문자 저장.
※ 작은따옴표로 묶음.
string
문자 당 2bytes 크기. 문자열.
※ 예제: "Hz"
※ 큰따옴표로 묶음.
※ Java와 달리 첫 글자도 소문자로 기재.
숫자 (int, float, double)
정수는 int 자료형, 실수는 double 자료형이 자주 사용됨.
[int : 정수형 (4 bytes)] ★
using System;
namespace Homzzang
{
class Program
{
static void Main(string[] args)
{
int num = 999999;
Console.WriteLine(num); // 999999
}
}
}
[long: 정수형 (8bytes)]
using System;
namespace Homzzang
{
class Program
{
static void Main(string[] args)
{
long num = 12345678901L;
Console.WriteLine(num); // 12345678901
}
}
}
[float : 부동소수형]
using System;
namespace Homzzang
{
class Program
{
static void Main(string[] args)
{
float num = 3.45F;
Console.WriteLine(num); // 3.45
}
}
}
[double : 부동소수형] ★
using System;
namespace Homzzang
{
class Program
{
static void Main(string[] args)
{
double num = 3.35D;
Console.WriteLine(num);
}
}
}
PS. 부동소수는 e (또는 E : 과학적숫자. 10의 승수) 사용 가능.
using System;
namespace Homzzang
{
class Program
{
static void Main(string[] args)
{
float a = 34e2F; // 3400
double b = 56E3D; // 56000
Console.WriteLine(a);
Console.WriteLine(b);
}
}
}
참거짓 (bool)
bool 키워드로 boolean (참거짓) 자료형 지정.
※ boolean 경우, true와 false 취할 수 있음.
※ true 경우, True 반환. (cf. C++ 경우, 1 반환.)
※ false 경우, False 반환. (cf. C++ 경우, 0 반환.)
※ 1 byte 크기.
※ 조건문에서 자주 사용.
[예제]
using System;
namespace Homzzang
{
class Program
{
static void Main(string[] args)
{
bool isHzGood = true;
bool isHzBad = false;
Console.WriteLine(isHzGood); // True
Console.WriteLine(isHzBad); // False
}
}
}
단일문자 (char)
단일문자 저장에 사용.
※ 작은따옴표로 묶음. (예) 'H', 'z'
※ 1 byte 크기.
[예제] 단일문자 저장.
using System;
namespace Homzzang
{
class Program
{
static void Main(string[] args)
{
char myGrade = 'A';
Console.WriteLine(myGrade); // A
}
}
}
cf.
단일문자 나타내는 ASCII 값 저장 경우,
C++은 가능한데, C#은 불가능.
문자열 (string)
string 자료형은 기본 자료형은 아니며, 큰따옴표("")로 묶음.
[예제]
using System;
namespace Homzzang
{
class Program
{
static void Main(string[] args)
{
string hz = "홈짱닷컴 Homzzang.com";
Console.WriteLine(hz);
}
}
}
결과값: 홈짱닷컴 Homzzang.com
자료형 변환 종류 (Type Casting)
확대 변환 (= 암묵적 변환 Implicit Casting)
※ 정의: (小 → 大) 경우, 자동 변환.
※ 예제: char -> int -> long -> float ->double
축소 변환 (= 명시적 변환 Explicit Casting) :
※ 정의: (大 → 小) 경우, 수동 변환.
※ 예제: double -> float -> long -> int ->char
자료형 확대 변환 (= 암묵적 변환 Implicit Casting)
(小 → 大) 자료형 변환 경우, 할당 시 바로 자동 변환.
[예제]
using System;
namespace Homzzang
{
class Program
{
static void Main(string[] args)
{
int a = 9;
double b = a;
Console.WriteLine(a.GetType()); // System.Int32
Console.WriteLine(b.GetType()); // System.Double
}
}
}
자료형 축소 변환 (= 명시적 변환 Explicit Casting)
(大 → 小) 자료형 변환 경우, 수동 변환.
※ 값 앞에 소괄호 이용해 (Type) 기재.
[예제]
using System;
namespace Homzzang
{
class Program
{
static void Main(string[] args)
{
double a = 3.45;
int b = (int) a;
Console.WriteLine(a.GetType()); // System.Double
Console.WriteLine(b.GetType()); // System.Int32
}
}
}
자료형 변환 메서드 종류
Convert.ToBoolean() : bool형으로 변환.
Convert.ToDouble() : double형으로 변환.
Convert.ToString() : string형으로 변환.
Convert.ToInt32() : int형으로 변환.
Convert.ToInt64() : long형으로 변환.
주의:
Convert.ToFloat() 메서드는 존재 안 함.
대신, Convert.ToSingle() 메서드 사용하며,
Convert.ToSingle().GetType() 결과값은 System.Single임.
[예제]
using System;
namespace Homzzang
{
class Program
{
static void Main(string[] args)
{
int a = 7;
double b = 3.14;
bool c = true;
Console.WriteLine(Convert.ToString(a).GetType());
// System.String
Console.WriteLine(Convert.ToSingle(a).GetType());
// System.Single
Console.WriteLine(Convert.ToDouble(a).GetType());
// System.Double
Console.WriteLine(Convert.ToInt32(b).GetType());
// System.Int32
Console.WriteLine(Convert.ToString(c).GetType());
// System.String
}
}
}
최신댓글