WIL(6/6 ~ 6/12)

정성현·2022년 6월 11일
0
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
/*
 * C# 공부
 */
namespace CSharp
{
    class Program
    {    
        //주석을 달 수 있음
        /* 주석은 이것도 됨 이것은 주석을 한번에 할 게 많을 때 주로 씀*/
        static int Factorial(int n)
        {
            if (n <= 1)
                return 1;
            return n * Factorial(n - 1);
        }
        static void Main(string[] args)
        {
            //데이터 + 로직 프로그램의 기본
            //변수 : 변하는 수 , 데이터를 담을 그릇
            int hp = 0;
            hp = 100;
            short level = 100;
            //int형 hp라는 변수에 0을 담았음.=>;이것은 문장이 끝났다라는 의미

            // byte(1바이트 0 ~ 255), short(2바이트 -3만 ~ 3만), int(4바이트 -21억 ~ 21억), long(8바이트)     

            // sbyte(1바이트 -128 ~ 127), ushort(0 ~ 6만), uint(0 ~ 43억), ulong(8바이트) //s는 음수까지 표현한다는 의미

            // 10진수 

            // 00 01 02 03 04 05 06 07 08 09

            // 10

            // 2진수

            // 0 1

            // 0b00 0b01 0b10 0b11 0b100 0b101 0b110 0b111 0b1000 0b1001 0b1010

            // 0b10001111 = 0x8F 2진수에서 16진수로 변환이 쉽다.

            // 16진수

            // 0 1 2 3 4 5 6 7 8 9 A B C D E F

            // 0x00 0x01 0x02 ...0x0F 0x10

            //bool형 타입
            //bool은 1바이트인가?? => 컴퓨터가 연산을 할 때 1비트보다는 1바이트가 더 편해서
            bool b;//참/거짓을 나타냄
            b = true;
            b = false;

            //소수
            //float 4바이트
            float f;
            f = 3.14f;

            //double 8바이트 float보다 더 소수를 표현할 때 정밀도가 뛰어남.

            double d = 3.14;

            //char 2바이트
            char c = 'a';
            //char형을 일자로 쭉 이은 자료형이라 볼 수 있다.
            string str = "hellow World";

            //형변환
            //1. 바구니 크기가 다른경우
            int a = 0x0FFFFFFF;
            short b = (short)a;//캐스팅 강제로 데이터가 손실을 감안해서라도 바꾸겠다.

            //2. 바구니 크기는 같지만, 부호가 다를 경우
            byte c = 255;
            sbyte sb = (sbyte)c;

            //3. 소수
            float f = 3.1414f;
            double d = f;

            //데이터 연산
            //+ - * / %
            int mp = 100;
            mp = 100 + 1 * 2;
            mp = 100 - 5;
            mp = 100 / 2;
            mp = 100 % 2;

            //증감 연산자 ++, --
            //전위 후위 먼저 하냐 안하냐의 차이
            hp++;
            ++hp;

            //비교연산자
            //<, >, =<, =>, !=, == 결과 값 true, false로 반환
            bool b = hp < 100;
            bool tr = hp == 100;

            //논리연산자 &&, ||, !
            int Level = 50;
            bool IsAlive = (hp > 0);
            bool IsHighLevel = (level >= 40);
            int ret = Factorial(5);
            if(IsAlive && IsHighLevel)
            {
                Console.WriteLine("true");
            }
            //비트연산
            //<<, >>, &(and), ^(xor), |(or), ~(not)
            int num = 1;
            int num2 = 2;
            num = num << 3;
            num2 = num >> 1;
            
            
            
            Console.WriteLine("Hello Number !{0}", hp);
            Console.WriteLine(ret);
        }
    }
}

데이터 다루기 마무리

profile
I want to be programmer

0개의 댓글