C# 문법 종합반 1주차 

1.C#의 char은 2byte 이다.

C/C++ 에서는 1byte , C#은 단일문자인 char이 유니코드를 포맷하고있기에 2byte로 처리

 

C/C++
1.ASCII(아스키코드) 인코딩 사용 0 - 127까지 값으로 표현 할 수 있는 문자를 저장 가능
2.다국어 지원을 위해 wchar_t 타입을 사용하여 2바이트 이상 문자로 제어 가능

C#
1.UTF-16 인코딩을 사용하여 유니코드 문자를 저장 가능
2.유니코드 문자(UTF-16의 코드유닛)를 저장하기 위한 자료형으로 전 세계 다양한 문자집합 사용가능

 

2.리터럴 상수 : C#에서는 컴파일러에 의해 상수 값으로 처리 되며, 
변수나 상수에 할당되거나 연산에 사용

프로그램에서 직접 사용되는 상수 값  또는 소스코드에 직접 기록되어 있는 값을 의미함

ex) int num = 10  , int 0x10 (16진수 int) , 0b10 (2진수 int) ,3.14(double), 3.14f(float) , 문자열내 따옴표 사용하기 등등...

 

(중요)

3. 변수란 ? : 데이터(숫자,문자)를 저장하고 사용하기 위해 할당받은 공간

int num; //변수를 선언 ->데이터 저장을 위한 '공간'을 할당 받음)
num = 10; // 변수 초기화 (변수에 데이터를 대입,저장함)

 

(중요)

4.코드컨벤션 : 협업시 코드 작성시 지키는 약속

(밑에 예시대로 꼭 할 필요는 없음, 밑에는 대부분 이렇게 많이함)

4-1.식별자 표기법
PascalCase : 클래스 메서드 프로퍼티 , 단어의 첫글자는 대문자 이후에도 단어 첫글자 대문자
ex)ClassName,MethodName,
cameCase : 변수 , 매개변수, 로컬변수 ,단어의 첫글자는 소문자 이후로는 대문자
ex)variableName,paremeterName
대문자 약어 : 전부 대문자를 사용 , ID , HTTP,FTP 
4-2.들여쓰기 : 탭 또는 스페이스 4칸
4-3.중괄호 위치 항상 새로운 줄에 시작
4-4.빈줄 사용 : 관련 없는 코드 사이에는 빈줄을 사용하여 구분
메서드,클래스 등의 블록 사이에는 두줄을 띄어 씀

 

5.형변환 : 명시적 형변환 , 암시적 형변환

5-1.명시적형변환
int num1 = 10;
long num2 = (long)num1;

 

5-2.암시적 형 변환
1.작은 데이터 타입에서 더 큰 데이터 타입으로 대입
byte num1 = 10;
int num2 = num1;
2.리터럴 값
float result = 1;
3.정수형과 부동소수점 연산 수행 : 결과는 부동소수점으로 변환됨
int num1 =10;
float num2 = 3.14f;
float result = num1 + num2;

 

6.입력받은 문자열 Split으로 바로 분리하기

namespace Test
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.Write("이름을 입력하십시오 : ");
            string name = Console.ReadLine();
            Console.WriteLine("반갑습니다. 휴먼 - {0} ", name);

            Console.Write("두개의 숫자를 입력하십시오 : ");
            string input = Console.ReadLine();
			
            //문자열 입력 받아서 바로 분리해서 배열로 사용하기
            string[] numbers = input.Split(' '); // 문자열을 공백으로 구분하여 배열로 만듬
            int num1 = int.Parse(numbers[0]); //첫번째 값을 정소루 변호나하여 저장
            int num2 = int.Parse(numbers[1]); //두번째 값을 정소루 변호나하여 저장
			//
            
            int sum = num1 + num2;

            Console.WriteLine("{0} + {1} = {2}", num1, num2, sum);
        }
    }
}

 

7.var 키워드 : 변수를 선언시에 변수의 자료형이 컴파일러에 의해 자동으로 결정

사용 이유 :

1.변수 선언시 초기화 하는값의 자료형에 따라 변수의 자료형이 결정될때

2.변수 선언 시점에 자료형을 정확히 알 수 없는 경우

 

8.비트 연산 : 유니티에서 마스크레이어 체크할때 사용되기에 알아둬야함

(플래그 연산이라고도 함)

 

9.String 메서드 확인하기

Split('분리할 단일문자') : 문장을 분리자에 의 분리
IndexOf("검색할 단어") : 문장에서 해당 단어 검색 후 해단 문자열의 index 반환
Replace("검색 단어" , "대체 단어") : 검색한 단어위치를 대체 단어로 변경
문자열 -> 숫자 : int.Parse(string 변수);
숫자->문자열 : 숫자 변수.ToString();
비교1(문자열 값 비교) : str1 == str2 (bool 값 리턴)
비교2(문자열 대소 비교) : Compare(str1,str2) (int 값 리턴)
변수가 0보다 작으면 str1 < str2 / 변수가 0보다 크면 str1 > str2 

 

포멧팅 :
1. 문자열 형식화 : Format("{0} + {1}" ,num1 , num2);
2. 문자열 보간 : string message = $"{num1} + {num2}";

 

위에 메서드를 활용한 예시 코드

namespace Test
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string str1 = "Hello,World";
            string str2 = new string('h', 5);

            string str3 = str1 + " " + str2;
            Console.WriteLine(str3);

            string[] str4 = str1.Split(',');
            Console.WriteLine(str4[0]);
            Console.WriteLine(str4[1]);

            int index = str1.IndexOf("World");
            Console.WriteLine(index); //단어가 문장의 어디에 있는지 index로 반환함

            string newStr = str1.Replace("World", "Universe");
            Console.WriteLine(newStr);
            Console.WriteLine(str1);

            string str5 = "123";
            int num = int.Parse(str5);
            Console.WriteLine(num);

            num += 10;

            Console.WriteLine(num.ToString());
            Console.WriteLine(str1 == str2);
            Console.WriteLine(string.Compare(str1 ,str2)); // str1 - str2
            //대소비교시 아스키코드의 정수값을 가져오기에 소문자가 더욱 크다.

            string name = "John";
            int age = 30;
            string message = string.Format("My Name is {0} and {1}", name, age);
            Console.WriteLine(message);

            message = $"My Name is {name} and {age}";
            Console.WriteLine(message);
        }
    }


}

 

C# 문법 종합반 1주차 과제 제출

더보기
더보기
//1.이름과 나이를 입력 받고 출력하는 코드를 작성하세요
//namespace Test
//{
//    internal class Program
//    {
//        static void Main(string[] args)
//        {
//            Console.Write("이름을 입력 하십시오 : ");
//            string name = Console.ReadLine();
//            Console.Write("나이를 입력 하십시오 : ");
//            string age = Console.ReadLine();

//            Console.WriteLine("이름 : {0} / 나이 : {1} ", name, age);
//        }
//    }
//}

//2.두 수를 입력 받고 사칙연산의 결과를 출력하세요
//namespace Test
//{
//    internal class Program
//    {
//        static void Main(string[] args)
//        {
//            string[] numbers;
//            do
//            {
//                Console.Write("두 수를 입력해 주십시오 : ");
//                numbers = Console.ReadLine().Split(' ');

//                if(numbers.Length != 2)
//                {
//                    Console.WriteLine("\n문제 발생");
//                    Console.WriteLine("1.숫자가 두개 초과 및 미만입니다.");
//                    Console.WriteLine("2.숫자를 스페이스바로 분리하여 주십시오.");
//                    Console.WriteLine("다시 입력해주십시오.\n");
//                }

//            } while (numbers.Length != 2);



//            float num1 = float.Parse(numbers[0]);
//            float num2 = float.Parse(numbers[1]);

//            string result;

//            Console.WriteLine("덧셈 : {0} ", num1 + num2);

//            Console.WriteLine("뺄셈 : {0} ", num1 - num2);

//            result = string.Format("{0:N2}", num1 * num2);
//            Console.WriteLine("곱셈 : {0} ", num1 * num2);

//            result = string.Format("{0:N2}", num1 / num2);
//            Console.WriteLine("나눗셈 : {0} ", num1 / num2);
//        }
//    }
//}

//3.섭씨온도를 화씨온도로 변환하는 프로그램을 만들어주세요
//namespace Test
//{
//    internal class Program
//    {
//        static void Main(string[] args)
//        {
//            Console.Write("섭씨(C) 온도를 입력하십시오 : ");
//            float celsius = float.Parse(Console.ReadLine());

//            float fahrenheit = (celsius * 9 / 5) + 32;

//            string message = $"화씨(F) 온도 : {fahrenheit}";
//            Console.WriteLine(message);
//        }
//    }
//}

//4.BMI 지수를 계산하는 프로그램을 만들어봅시다
//BMI = 체중 / (신장^2)
//namespace Test
//{
//    internal class Program
//    {
//        static void Main(string[] args)
//        {
//            Console.Write("체중을 입력 하십시오 : ");
//            float weight = float.Parse(Console.ReadLine());

//            Console.Write("신장을 입력 하십시오 : ");
//            float height = float.Parse(Console.ReadLine());

//            float BMI = weight / (height * height) * 10000;

//            string result = string.Format("{0:N2}",BMI);
//            Console.Write("당신의 BMI 지수 : {0}", result);
//        }
//    }
//}

+ Recent posts