C#/C#언어

3일차_수업_매서드(ReadLine)

minquu 2021. 3. 10. 13:06
반응형

문은 크게 세가지
선택문 자주쓰임 _ 이프 스위치
반복문 자주 쓰임 _ ,for 와일
점프문 _ break,  continue 문

if ()
{

}
가 기본구조 // () 가 트루면 블록을 진행

if에는 부울식(비교 연산자)을 사용 할 수있다. (안에 있는 값이 트루 / 폴스 같은 부울 값이 되면 된다.)

if - else
if ()
{
}
else
{
}

() true 일 경우 if 실행 false 경우 else실행

여러개를 분기가 있을 때
if()
{
}
else if()
{
}
else()
{
}
if 아니면 else if가 모두 아니면 else 분기로 


간단한것은 삼항연산자로도 쓴다.
conditon ? A : B /// 컨디션의 값이 true 일 경우 A false면 B

 

 

switch문 
후보 목록에서 실행할 섹션 하나를 선택하는 선택문
많이 사용된다. // 케이스 부분이 길어지면 블록을 사용한다.
블록쓰는 이유는 중복 변수를 쓸 수 있어서.

 

기본적 스위치문

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study00
{
    class Program
    {
        static void Main(string[] args)
        {
            int selectedCharacterId = 100;  //유저가 케릭터를 선택 

            switch (selectedCharacterId) {
                case 100:
                    Console.WriteLine("야만전사를 선택 했습니다.");
                    break;

                case 200:
                    Console.WriteLine("악마사냥꾼을 선택 했습니다.");
                    break;

                case 300:
                    break;
                case 400:
                    break;
                case 500:
                    break;

            }
        }
    }
}

블록안에 변수를 넣은 스위치문

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study00
{
    class Program
    {
        static void Main(string[] args)
        {
            int selectedCharacterId = 100;  //유저가 케릭터를 선택 

            //case문 안에 블록 사용시 지역변수 중복 이름 사용 가능 
            switch (selectedCharacterId) {
                case 100:
                    {
                        string name = "야만전사";
                        Console.WriteLine("야만전사를 선택 했습니다.");
                    }
                    break;

                case 200:
                    {
                        string name = "악마사냥꾼";
                        Console.WriteLine("악마사냥꾼을 선택 했습니다.");
                    }
                    break;

                case 300:
                    break;
                case 400:
                    break;
                case 500:
                    break;

            }
        }
    }
}

 

선택된 스위치 값에 따라서 name 변수가 출력되는 문

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace study02
{
    class Program
    {
        static void Main(string[] args)
        {

            int selectedCharacterId = 200; // 유저가 케릭터를 선택
            string name = "";
            switch (selectedCharacterId)
            {

                case 100:
                    {  // 케이스가 길어질 경우 안에 블록을 친다.
                       // 케이스 안에서 변수를 선언 할 수 있기도 해서
                       // 변수의 명을 중복해서 사용 하는 경우도 있어서

                        name = "야만";

                    }
                    break;


                case 200:
                    {

                        name = "호랑이";
                    
                    }
                    break;     
            }
            Console.WriteLine("{0}를 선택했습니다.", name);

        }
    }
}

 

ex)게임 캐릭터 선택 -> 유저가 100를 눌렀따면은... 유저가 200를 눌렀다면... 같은 걸로 많이 쓰인다.

 

 

 

 

-----

 

메서드

기능 = 매서드(ms에서 미리 만든 기능)

  마우스가져다대면 -> string Console.Readline()  // string은 기능 // ()은 비어있는 걸로
  ---> 즉 string 문자열 변수를 만들어서 사용 할 수있다.

 

간단한 예제

            string input = Console.ReadLine();
            Console.WriteLine(input);

 

while (true)
{

}
안에 넣으면 무한히 돌아간다. 대신 입력 대기를 한다

 

일정 횟수를 돌리고싶다

 for (int i = 0; i < 5; i++)
{

}
 // for문 안에 넣으면 5번 돌아간다.

 

종료를 하고 싶으면 break를 넣어라

 

선생님용어정리!
// 반환한다 = 매서드가 지정해주는 형식 (ex)readline -> string의 형식으로 만들어주는 걸 반환타입)
// 매서드를 호출한다 = 메서드를 사용한다. 매서드의 기능을 수행하세요.
// 매서드의 호출(사용)이 끝나면 그 매서드에서 값을 (반환) 만들어 줍니다.
// 사용 = 호출, 값을 만들다 = 반환한다.

 

 

readLine은 string 값인데 int 값으로 받고싶을떄
.ToString()를 붙이면 문자열로 바뀜

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study00
{
    class Program
    {
        static void Main(string[] args)
        {
            string input = Console.ReadLine();
            if (input == "100") { 

            }
            //string (숫자형 문자열) -> int 
            //ex) "1", "100"
            //int num = (int)input; (x)
            int num = Convert.ToInt32(input);
            if (num == 100) { 

            }

            //int -> string 
            string str = num.ToString();
            Console.WriteLine(str);
            if (str == "100") { 

            }
        }
    }
}

 

★ 유용한 핫 키

 

//컨트롤(hold) + K -> C 주석

//컨트롤(hold) + K -> U 주석 풀기

//컨트롤(hold) K -> F (자동 줄맞춤)

 

열 변환하기 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study00
{
    class Program
    {
        enum eItemType { 
            Weapon, Armor, Potion
        }
        static void Main(string[] args)
        {
            int selectedNum = 1;
            //int to enum
            eItemType itemType = (eItemType)selectedNum;
            Console.WriteLine(itemType);

            //enum to int 
            int itemNum = (int)eItemType.Armor;
            Console.WriteLine(itemNum);

            //string to int (숫자형)
            string str = "1";
            int num = Convert.ToInt32(str);
            Console.WriteLine(num);

            //int to string 
            string str2 = num.ToString();
            Console.WriteLine(str2);

        }
    }
}

 

 

반응형

'C# > C#언어' 카테고리의 다른 글

4일차_수업내용  (0) 2021.03.11
4일차_클래스 예제연습  (0) 2021.03.11
3일차 _ 메서드 연습 예제  (0) 2021.03.10
다양한 상황 만들기 연습  (0) 2021.03.10
2일차_수업내용  (0) 2021.03.09