본문 바로가기

분류 전체보기

(50)
7. 조건문 ✔️ 조건의 필요성 프로그램의 행동이 매번 다르려면? 특정 상황에 따라 프로그램의 행동을 바꾸어야 한다! 그렇기 위해서 필요한 문법이 "조건문"✔️ 조건문 - if 문 조건이 만족하면 if 문 아래에 있는 중괄호 안의 코드를 실행if(조건식){ 조건에 만족할 때만 실행하는 코드}조건이란? x 와 같은 변수의 값에 따라서 '참' 또는 '거짓' 을 판별할 수 있는 식이나 문장 이러한 조건식을 불리언 표현식(boolean Expression) 이라고 부른다. > 구문(Statement) 과 표현식(Expression) 의 관계 표현식은 평가(evaluate) 되며 값을 반환함 (void 포함)그러나 일부 표현식은 단독으로 사용될 수 없음 구문은 한 줄 이상의 코드로 실행되는 집합 구문 안에는..
6. 문자열과 키보드 입력 ✔️ 문자열 (string)문자열이란?여러 개의 문자가 모인 집합체string 이라는 단어에서 알 수 있듯, 문자가 줄줄이 연결된것이라 생각하면 된다.문자열은 큰 따옴표("") 로 감싸야 한다.문자열 끼리 사칙 연산이 가능할까?문자열과 문자열을 + 연산자로 더하면 두 문자열은 합쳐진다.또한 문자열과 숫자를 + 연산자로 더하면 문자열로 합쳐진다.단, + 연산자를 제외한 산술 연산자로 연산하는것은 불가능하다.두 문자열이 같은지 확인하기== 연산자를 이용하여 확인할 수 있다.두 문자열이 같은지 확인하는 연산자 이며, 결과값으로는 Boolean 형 변수가 나오게 된다.단, 일부 다른 프로그래밍 언어에서는 쓰지 못하거나 다른 결과가 나올 수도 있다.이렇게 언어마다 동작 방식이 다른 이유는 문자열이 기본 자료형이 ..
5. 연산자2 ✔️ 비트 연산자&(and) 연산자12 & 9위 식을 2진수로 풀어써보면, 1100 & 1001 이 되며, & 연산자를 이용하여 연산하면 같은 자리의 두 비트를 비교하여 둘 다 1일 경우만 1이 되는 연산.즉, 결과값은 1000|(or) 연산자12 | 9위 식을 2진수로 풀어써보면, 1100 & 1001 이 되며, | 연산자를 이용하여 연산하면 같은 자리의 두 비트를 비교하여 둘 중 하나만 1이면 1이 되는 연산.즉, 결과값은 1101^(xor) 연산자12^9위 식을 2진수로 풀어써보면, 1100 & 1001 이 되며, ^ 연산자를 이용하여 연산하면 같은 자리의 두 비트를 비교하여 두 값이 다를 경우만 1이 되는 연산.즉, 결과값은 0101~(not) 연산자~12위 식을 2진수로 풀어써보면, ~1100 ..
4. 형변환과 연산자 묵시적 변환 ( Implicit Conversion )기본 자료형 간의 변환을 컴파일러가 "알아서" 해줌모든 기본 자료형 간의 변환이 가능한것은 아니다!특별한 문법이 따로 필요하지는 않다.보통 비트수가 작은 변수들은 비트 수가 큰 변수로 묵시적 변환이 가능하다. 반대로, 비트수가 큰 변수는 작은 변수로 묵시적 변환은 불가능하다.단, int 와 float의 경우에는 좀 다르다. int 를 float 으로 묵시적 변환하게 되면 자료 손실이 일어나게 된다.이를 정밀도 손실이라고 하며, int/long 에서 float 으로, long 에서 double 로 변환할 때 발생한다.승격 ( Promotion )컴파일러가 자동으로 실수형이나 부동소수형 자료의 이진 표현을 확장산술 연산자나 논리 연산자가 제대로 동작하게 ..
3. 변수와 기본자료형 변수란?어떠한 상태를 저장하는곳이 변수이며 변할 수 있는 값을 의미!변수는 mutable , 상수는 immutable 이라고도 부른다선언(Declaration) 과 대입(Assignmanet)선언은 변수 및 상수의 자료형과 이름을 컴퓨터에게 알려주는 작업대입은 변수 및 상수의 실제 값을 컴퓨터에게 알려주는 작업선언과 대입은 동시에 처리할 수 있음!변수를 왜 사용하는가?어딘가에 저장한 값을 "재사용" 하기 위하여해당 값이 의미하는것이 어떤 의미인지 명확하게 알 수 있음!변수명 작성 팁 및 Const코딩 스탠다드 : 변수명은 명확하게 짓자!명사로 정확하게 어떤 정보를 담는지 알려주는 단어를 사용여러 명사가 들어간다면 두번째 단어의 첫 글자는 대문자로 작성 (CamelCasing)여러 명사가 들어갈 경우, 단..
2. 출력과 상수 Hello World메인함수 ( Entry Point )C# 프로그램은 반드시 어떤 함수에서부터 실행되야함.그 어떤 함수가 바로 Main 함수exe 파일을 실행하면 해당 함수부터 실행됨string[] args메인 함수가 외부로부터 받는 데이터 ( 메서드 인자 )커맨드 라인으로부터 인자를 받음cmd 창에서 프로그램을 실행할 때, 추가적으로 정보를 넣어 파일을 실행할 수 있는데, 이때 인자를 추가할 수 있음반환형 ( Return Type )모든 함수는 반환형이 존재실제로 값을 반환할 수도 있고, 아무런 값도 반환하지 않을 수 있음.Main 함수의 경우 정수형으로 값을 반환하는것이 가능하며, 0을 반환하면 해당 프로그램이 정상적으로 실행되었음을 의미Console.WriteLine()컴퓨터에서는 명령 프롬프트가..
1. 프로그래밍 언어의 분류 컴파일 언어 vs 인터프리터 언어컴파일 언어소스코드 -> 기계어 에서 사용되는 도구가 컴파일러기계어로 만들어진 프로그램이 exe 이며, 이를 통해 몇번이고 실행이 가능하다.대표적인 컴파일 언어가 C, C++오프라인 컴파일러가 고수준 언어를 네이티브 코드로 컴파일 해주며, 다양한 최적화가 가능하다는 장점이 있다.단, 최적화를 통해 최종 실행 파일의 실행시간은 줄어들지만, 컴파일 시간이 오래걸릴 수 있다는 단점과 플랫폼 (모바일, 데스크탑 등) 마다 다른 exe 파일을 만들어줘야 한다는 단점도 있다.JIT 컴파일 언어소스코드 -> 기계어로 변환을 할 때, 컴파일러는 중간 언어코드로 한번 컴파일을 하고, 이후 최종적으로 실행이 될 때, 가상머신이 최종 컴파일을 담당하게 된다.대표적인 JIT 컴파일 언어는 C#..
[C# 문법] - 클래스 모든 클래스는 복합 데이터 형식이며 복합 데이터 형식은 참조 형식 생성자와 소멸자 생성자는 인스턴스의 멤버들을 초기화 할 수 있는 가장 좋은 메서드 소멸자는 인스턴스가 소멸할 때 호출되는 메소드. 즉, 가비지 컬렉터가 인스턴스를 소멸시킬 때 호출됨. 단, 호출 타이밍을 알 수 없기 때문에 사용하는것이 바람직하지는 않다. static 은 프로그램 전체에서 사용할 변수에 할당하는것이 바람직하다. 얕은 복사와 깊은 복사 얕은 복사 : 객체를 복사할 때 참조만 복사하는 것. 그래서 값을 변경하면 원본과 복사본 모두의 값이 변경됨. 깊은 복사 : 객체를 복사해 별도의 힙 공간에 보관하는것. 즉, 값 변경이 독립적으로 일어남. C# 의 경우 자동으로 깊은 복사를 해주는 기능은 없고, 커스텀해서 사용해야함. 접근 한..