Point : #데이터 #변수 #타입 #형-변환 #이름-짓기 #본격적인-프로그램-제작
데이터의 흐름
을 파악하고 제어하는 것변수
: 사용자의 행위 혹은 프로그램이 실행하는 동안의 행위를 기록하는 일매개변수란, 프로그램이 동작할 때, 함수 등과 같은 기능이 동작할 때, 보조적으로 데이터를 전달하는 기능을 수행합니다. 여기서 함수란, Console.WriteLine
과 같은 문법들을 함수라고 합니다.
함수가 제대로 동작하기 위한 '전달 값'
매개변수는 함수의 기능에 따라 1개가 될 수도 있고, 2개가 될 수도 있고, n개가 될 수도 있다. 프로그램은 0,1,2와 같이 시작한다.
세미콜론의 의미는 프로그램에게 하나의 명령을 완료하겠다는 의미
(1 + 2 == 1) & (1 + 2 == -1) vs (1 + 2 == 1) && (1 + 2 == -1)
연산자 하나 쓴 경우(&), 1+2 = 1 거짓임에도 불구하고 1+2 = -1에 대한 참/거짓을 검사한 후에 로직으로 넘어간다.
연산자 두개 쓴 경우(&&), 1+2=1 이 거짓이기 때문에 그 다음 전제 조건이 아무리 참 이어도 거짓임이 드러났으므로 다음 로직으로 빠르게 넘어간다.
ToString : 해당 변수 값을 string형으로 변환하겠다는 의미
object는 데이터에 관계없이 저장 가능. 이 데이터가 정확히 무슨 타입인지 모르는 것..
var, dynamic : 데이터 관계없이 저장 가능, 데이터가 무슨 타입인지 판단 가능
1) 만능 변수 타입인 object의 단점을 보완해서(데이터는 아무거나 담을 수 있지만, 똑똑하게 타입을 구별 못한다는 단점) var 타입이 등장!
2) var 타입은 한번 데이터를 지정하면 다른 데이터 타입으로 변경이 불가능하다는 것이 아쉬운 점으로 dynamic 타입 등장!
암시적인 형 변환
korean, math가 모두 정수 타입이더라도 이 데이터를 double 변수에 할당한다면 값은 double 형으로 인식된다.
명시적인 형 변환
괄호안에 특정 타입을 명시적으로 선언
string형은 int로 '명시적인 형 변환'을 할 수 없다. string과 같은 숫자 형태의 변수 타입이 아닌 것들을 숫자 타입으로 변환하기 위해서는 convert 기능 또는 parse()와 같은 함수를 서용해야 한다.
string strNumber = "10";
int convertNumber = Convert.ToInt32(strNumber);
int parseNumber = Int32.Parse(strNumber);
Convert.ToDouble("10");
Double.Parse("10");
NULL의 의미 : 변수에 값이 할당되어 있지 않은 상태를 말합니다. 즉, 껍데기로 싸여 있을 뿐 속에는 아무것도 없는 상태를 말합니다.
여러 함수들 바깥에 명시된 변수는 '전역변수', 하나의 함수 안에 명시된 변수는 '지역변수'
사용자에게 두개의 수를 입력 받아, 처음 입력한 값이 두번째 입력한 값보다 클 경우 True를 출력하는 프로그램
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace RoadBook.CsharpBasic.Chapter02.Examples
{
class test
{
public void Run()
{
/*
// 내가 작성한 코드
Console.WriteLine("숫자를 입력해 보세요!");
string str1 = Console.ReadLine();
string str2 = Console.ReadLine();
int convertStr1 = Convert.ToInt32(str1);
int convertStr2 = Convert.ToInt32(str2);
Console.WriteLine("당신이 입력한 값은: {0}, {1}", convertStr1, convertStr2);
if (convertStr1 > convertStr2)
{
Console.WriteLine("True");
}
*/
//교재
int number01;
int number02;
Console.WriteLine("숫자를 두개 입력하세요 : ");
number01 = Convert.ToInt32(Console.ReadLine());
number02 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("{0}은 {1}보다 큽니다. (참/거짓 : {2}", number01, number02, (number01 > number02));
}
}
}