레이블이 Visual Studio Code인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Visual Studio Code인 게시물을 표시합니다. 모든 게시물 표시

2022년 2월 20일 일요일

Java 문자열 분리 방법

 오늘 포스팅 할 내용은 Java 에서 문자열을 특정 기호로 분리 하여 별도 클래스로 저장하고

출력하는것을 알아 보겠습니다.

​

기본적인 Java 콘솔 개발 환경 구축은 아래 링크에서 확인 하시기 바랍니다.

Visual Studio Code Java Console 개발환경 구축(Windows)


작성을 위해서 기본적인 문자열 예시를 들겠습니다.​

"Title=Blog@Writer=Berdo@PostDate=20220120"​

기본 문자열은 위와 같습니다.​

그냥 읽어보면 3개의 항목으로 키/값으로 분리 된것으로 보일겁니다.

Java 특성상 두개의 클래스 java 파일로 분리 되어 코드가 작성 될것입니다.

두개의 코드를 먼저 보시고 나머지 설명을 이어 가겠습니다.


public class Java_StrParseSam01 {
    public static void main(String[] args)
    {
        String sOrgSrc = "Title=Blog@Writer=Berdo@PostDate=20220120";
        PostItem item = new PostItem();
        item.doMakePostItem(sOrgSrc);

        System.out.println("==============================");
        System.out.println(String.format("BlogItem Title: %s", item.sTitle));
        System.out.println(String.format("BlogItem Writer: %s", item.sID));
        System.out.println(String.format("BlogItem Date: %s", item.sDate));
        System.out.println("==============================");
    }
}
<Java_StrParseSam01.java>


public class PostItem
{
    String sTitle;
    String sID;
    String sDate;

    public void doMakePostItem(String sOrgStr)
    {
        String[] arrParse = sOrgStr.split("@");

        for(Integer i=0; i<arrParse.length; i++)
        {
            String arrItem[] = arrParse[i].split("=");

            if(arrItem[0].equals("Title"))
                sTitle = arrItem[1];
            else if(arrItem[0].equals("Writer"))
                sID = arrItem[1];
            else if(arrItem[0].equals("PostDate"))
                sDate = arrItem[1];
        }
    }
}
<PostItem.java>

java 시작은 main 함수에서 시작 되기 때문에 main 함수에서

PostItem 클래스에 인스턴스를 생성합니다.

​

생성한 PostItem 에 문자열을 파싱하여 클래스 내부 아이템에 할당하는 코드가 들어 갑니다.

함수명은 doMakePostItem 이라고 명명 하였습니다.

​

java 기본 클래스 String에서 문자열을 분리하기 위함 함수가 제공 됩니다.

split 이라는 함수이고 리턴값은 String[] Array 형태로 리턴됩니다.

​

위 doMakePostItem 에서 '@' 문자로 선분리 하고 개별 아이템을 다시 '=' 문자로 분리 하여

PostItem 클래스 내부 변수에 담는 로직이 들어가 있습니다.

​

기본적인 java 문자열 분리 방법을 알아 봤습니다.

그럼 이만. ^^

2022년 2월 12일 토요일

C++ 문자열 분리 방법 2강

 지난번 강의 에 이어 오늘 포스트할 내용은 기본 분리에 다시 상세 분리를 하여

만들어 놓은 구조체에 담아 저장후 출력하는것으로 이어 가겠습니다.

지난번 강의는 아래 링크로 확인해 주세요.

C++ 문자열 분리 방법 1강

소스를 보기 전에 처리 하는 방법을 설명 드리고 시작 하겠습니다.

문자열을 파싱하여 담을 구조체를 설계합니다. 저는 아래와 같이 구조체로 설계 했습니다.

typedef struct _BlogPostInfo
{
    string sTitle;
    string sID;
    string sDate;
}BLOGPOSTITEM;

그리고 개별 아이템을 분리하여 구조체에 담는 처리를 하기 위해서 별도 함수를 작성하여 활용 했습니다.

함수 원형은 아래와 같으며 나머지는 동작한는 소스를 확인한후 설명을 이어가도록 하겠습니다.

void doParseItem(string& sItem, BLOGPOSTITEM* pItem)

#include <stdio.h>
#include <string.h>
#include <string>
#include <iostream>

using namespace std;

typedef struct _BlogPostInfo
{
    string sTitle;
    string sID;
    string sDate;
}BLOGPOSTITEM;

void doParseItem(string& sItem, BLOGPOSTITEM* pItem)
{
    string sSepChar = "=", sKey, sValue;
    size_t nIndex = sItem.find(sSepChar);

    if (nIndex != string::npos)
    {
        sKey = sItem.substr(0, nIndex);
        sValue = sItem.substr(nIndex+sSepChar.size(), sItem.size()-(nIndex+sSepChar.size()));

        if(sKey == "Title")
            pItem->sTitle = sValue;
        
        if(sKey == "Writer")
            pItem->sID = sValue;

        if(sKey == "PostDate")
            pItem->sDate = sValue;
    }
}

int main()
{
    string sOrgSrc = "Title=Blog@Writer=Berdo@PostDate=20220120";
    string sSepChar = "@", sTemp, sParse = sOrgSrc;

    BLOGPOSTITEM postItem;
    memset(&postItem, 0x00, sizeof(BLOGPOSTITEM));

    // string find 를 이용하여 아이템 기본 분리.
    size_t nIndex = sParse.find(sSepChar);

    while (nIndex != string::npos)
    {
        string sItem = sParse.substr(0, nIndex);
        doParseItem(sItem, &postItem);
        sParse = sParse.substr(nIndex+sSepChar.size(), sParse.size()-(nIndex+sSepChar.size()));
        nIndex = sParse.find(sSepChar);
    }

    //마지막항목.
    //cout << "[Item:" << sParse << "]" << endl;
    doParseItem(sParse, &postItem);

    
    cout << "==============================" << endl;
    cout << "BlogItem Title: " <<  postItem.sTitle << endl;
    cout << "BlogItem Writer: " << postItem.sID << endl;
    cout << "BlogItem Date: " << postItem.sDate << endl;
    cout << "==============================" << endl;

    return 1;
}

소스를 리딩하는것은 함수먼저 보는것이 아니라 시작되는 프로그램부터 보면서 안쪽으로 분석 하시는 방법으로 하는것을 추천 드립니다.

위 소스의 시작은 main 함수 입니다.

기존에 구현한 함수와는 별차이가 없고 추가된것은 구조체 선언한 변수 postItem 가 들어가 있습니다.

'@' 문자열로 파싱한 아이템을 넘겨서 postItem 에 개별 담기를 하기 위해서 doParseItem 함수가 호출된것을 볼수 있습니다.

​

doParseItem 함수는 'Key=Value' 형태로 넘어오는 문자열을 파싱하여 구조체에 원하는 항목으로 집어넣는 과정입니다.

함수 시작과 함께 for 문과 마지막항목 분리로 Key와 Value 값을 추출한후

마지막에 Key 값에 따라 구조체 항목에 집어 넣는 과정으로 분류 됩니다.

​

일련의 과정이 끝나고 나면 마지막에 구조체 항목을 상세히 출력하여 온전하게 분리된 문자열 데이터를 보실수 있습니다.

​

그럼 이만 ^^

C++ 문자열 분리 방법 1강

 오늘 포스팅할 내용은 C++을 이용하여 문자열을 분리 하는 방법을 알아 볼까 합니다.

C++을 쓰니까 당연히 STL 을 같이 사용하여 분리 하는 방법을 알아보겠습니다.

기존 C API를 이용하여 분리 하는 방법은 아래 링크에서 확인하시면 될거 같습니다.

C 문자열 분리방법 2강

작성을 위해서 기본적인 문자열 예시를 들겠습니다.

​

"Title=Blog@Writer=Berdo@PostDate=20220120"

​

기본 문자열은 위와 같습니다.

그냥 읽어보면 3개의 항목으로 키/값으로 분리 된것으로 보일겁니다.

일단 첫번째로 3개의 항목을 분리하여 간단히 출력하는 프로그램을 작성합니다.

​

프로그램 작성은 Windows에 Visual Studio Code 설치후 g++ 기반으로 작성 됩니다.

기본 프로그램 환경 구축은 아래 제 블러그 링크에서 확인하고 구성 하시면 됩니다.

Visual Studio Code C/C++ 개발환경 구축

코드를 먼저 보고 설명을 시작 하겠습니다.

#include <stdio.h>
#include <string.h>
#include <string>
#include <iostream>

using namespace std;

int main()
{
    string sOrgSrc = "Title=Blog@Writer=Berdo@PostDate=20220120";
    string sSepChar = "@", sTemp, sParse = sOrgSrc;
    
    // string find 를 이용하여 아이템 기본 분리.
    size_t nIndex = sParse.find(sSepChar);

    while (nIndex != string::npos)
    {
        sTemp = sParse.substr(0, nIndex);
        cout << "[Item:" << sTemp << "]" << endl;
        sParse = sParse.substr(nIndex+sSepChar.size(), sParse.size()-(nIndex+sSepChar.size()));
        nIndex = sParse.find(sSepChar);
    }
    
    //마지막항목 출력.
    cout << "[Item:" << sParse << "]" << endl;

    return 1;
}

using namespace std;

위 구문은 STL 라이브러리를 쓰기 위해서는 std:: 로 시작하는 타입을 지정하게 됩니다.

예를 들면 string 클래스를 쓰기 위해서는

std::string sText;

위와 같이 선언 해야 되는데 매번 std:: 를 입력하는것을 줄이기 위해 선언하는겁니다.

그러면 위 코드와 같이

string sText;

라고 선언 한것이 동일한 효과를 내는겁니다.

​

문자열 파싱을 위해서는 string 클래스에서 'find' 와 'substr' 두개를 이용하여 분리 합니다.

'find' 를 하게 되면 문자열 처음부터 검색하여 나오는 위치값을 리턴하게 됩니다.

위치값을 기반으로 'substr'을 호출하여 문자열을 잘라 냅니다.

잘라내고 난후 검색문자열을 찾아낸 값을 잘라낸후 다시 검색하여 처리 하는것을 반복 하는 겁니다.

while 문이 끝나고 나면 마지막 항목은 출력이 되지 않기 때문에 추가로 마지막 항목을 출력합니다.

​

string::npos 는 검색한값이 없을경우 리턴값 매칭으로 '-1' 과 같은 값이라고 보시면 될거에요.

​

그럼 이만 ^^

C 문자열 분리 방법 2강

지난번 강의 에 이어 오늘 포스트할 내용은 기본 분리에 다시 상세 분리를 하여

만들어 놓은 구조체에 담아 저장후 출력하는것으로 이어 가겠습니다.

지난번 강의는 아래 링크로 확인해 주세요.

C언어 문자열 분리방법 1강

소스를 보기 전에 처리 하는 방법을 설명 드리고 시작 하겠습니다.

문자열을 파싱하여 담을 구조체를 설계합니다. 저는 아래와 같이 구조체로 설계 했습니다.

struct _BlogPostInfo
{
    char szTitle[60];
    char szID[20];
    char szDate[10];
};

그리고 개별 아이템을 분리하여 구조체에 담는 처리를 하기 위해서 별도 함수를 작성하여 활용 했습니다.

함수 원형은 아래와 같으며 나머지는 동작한는 소스를 확인한후 설명을 이어가도록 하겠습니다.

void doParseItem(char* szItem, struct _BlogPostInfo* pItem)

아 추가로 C언어 에서는 기본적으로 min, max 함수를 지원하지 않으므로 직접 매크로로 제작하여 사용합니다.

기본적인 C언어 3항 연산자를 활용하여 구현 했으니 소스를 보시면 알수 있을거 같네요.


#include <stdio.h>
#include <string.h>

 #ifndef max
 #define max(a,b)  (((a) > (b)) ? (a) : (b))
 #endif

 #ifndef min
 #define min(a,b)  (((a) < (b)) ? (a) : (b))
 #endif

struct _BlogPostInfo
{
    char szTitle[60];
    char szID[20];
    char szDate[10];
};

void doParseItem(char* szItem, struct _BlogPostInfo* pItem)
{
    int nItemLen = strlen(szItem), nIdx, nSTItem=0;
    char szKey[128]={0}, szValue[128]={0};

    for (nIdx = 0; nIdx < nItemLen; nIdx++)
    {
        if (szItem[nIdx] == '=')
        {            
            strncpy(szKey, szItem, nIdx);
            nSTItem = nIdx+1;
        }        
    }
    strncpy(szValue, szItem+nSTItem, nItemLen-nSTItem);

    if (strcmp(szKey, "Title") == 0)
    {
        strncpy(pItem->szTitle, szValue, min(strlen(szValue), sizeof(pItem->szTitle)));
    }
    else if (strcmp(szKey, "Writer") == 0)
    {
        strncpy(pItem->szID, szValue, min(strlen(szValue), sizeof(pItem->szID)));
    }
    else if (strcmp(szKey, "PostDate") == 0)
    {
        strncpy(pItem->szDate, szValue, min(strlen(szValue), sizeof(pItem->szDate)));
    }
}

void main()
{
    char* sOrgSrc = "Title=Blog@Writer=Berdo@PostDate=20220120";
    struct _BlogPostInfo postItem;
    memset(&postItem, 0x00, sizeof(struct _BlogPostInfo));
    //일반 구문으로 아이템 분리.
    int nOrgSrcLen = strlen(sOrgSrc);

    int nSTItem=0, nIdx=0;
    char szPrt[128]={0};
    
    for (nIdx = 0; nIdx < nOrgSrcLen; nIdx++)
    {
        if (sOrgSrc[nIdx] == '@')
        {            
            strncpy(szPrt, sOrgSrc+nSTItem, nIdx-nSTItem);
            doParseItem(szPrt, &postItem);
            memset(szPrt, 0x00, 128);
            nSTItem = nIdx+1;
        }        
    }

    //마지막항목 출력.
    strncpy(szPrt, sOrgSrc+nSTItem, nOrgSrcLen-nSTItem);
    doParseItem(szPrt, &postItem);
    
    printf("==============================\n");
    printf("BlogItem Title: %s\n", postItem.szTitle);
    printf("BlogItem Writer: %s\n", postItem.szID);
    printf("BlogItem Date: %s\n", postItem.szDate);
    printf("==============================\n");
}

소스를 리딩하는것은 함수먼저 보는것이 아니라 시작되는 프로그램부터 보면서 안쪽으로 분석 하시는 방법으로 하는것을 추천 드립니다.

위 소스의 시작은 main 함수 입니다.

기존에 구현한 함수와는 별차이가 없고 추가된것은 구조체 선언한 변수 postItem 가 들어가 있습니다.

'@' 문자열로 파싱한 아이템을 넘겨서 postItem 에 개별 담기를 하기 위해서 doParseItem 함수가 호출된것을 볼수 있습니다.

​

doParseItem 함수는 'Key=Value' 형태로 넘어오는 문자열을 파싱하여 구조체에 원하는 항목으로 집어넣는 과정입니다.

함수 시작과 함께 for 문과 마지막항목 분리로 Key와 Value 값을 추출한후

마지막에 Key 값에 따라 구조체 항목에 집어 넣는 과정으로 분류 됩니다.

​

일련의 과정이 끝나고 나면 마지막에 구조체 항목을 상세히 출력하여 온전하게 분리된 문자열 데이터를 보실수 있습니다.

​

두번쨰 코드는 strstr을 사용하여 분리 하는 과정이고 소스의 형태는 위와 큰차이가 없습니다.

strstr 을 써서 문자열 기본 파싱하는것은 기존 강의를 참조 하시면 될거 같아요.


#include <stdio.h>
#include <string.h>

 #ifndef max
 #define max(a,b)  (((a) > (b)) ? (a) : (b))
 #endif

 #ifndef min
 #define min(a,b)  (((a) < (b)) ? (a) : (b))
 #endif

struct _BlogPostInfo
{
    char szTitle[60];
    char szID[20];
    char szDate[10];
};

void doParseItem(char* szItem, struct _BlogPostInfo* pItem)
{
    int nItemLen = strlen(szItem), nLen, nSTPos=0;
    char szKey[128]={0}, szValue[128]={0};

    while (1)
    {
        char* pFind = strstr(szItem+nSTPos, "=");
        
        if (pFind != NULL)
        {
            nLen = pFind - (szItem+nSTPos);
            strncpy(szKey, szItem+nSTPos, nLen);
            nSTPos += nLen + 1;
        }
        else
        {
            strncpy(szValue, szItem+nSTPos, strlen(szItem) - nSTPos);
            break;
        }                    
    }

    if (strcmp(szKey, "Title") == 0)
    {
        strncpy(pItem->szTitle, szValue, min(strlen(szValue), sizeof(pItem->szTitle)));
    }
    else if (strcmp(szKey, "Writer") == 0)
    {
        strncpy(pItem->szID, szValue, min(strlen(szValue), sizeof(pItem->szID)));
    }
    else if (strcmp(szKey, "PostDate") == 0)
    {
        strncpy(pItem->szDate, szValue, min(strlen(szValue), sizeof(pItem->szDate)));
    }
}

void main()
{
    char* sOrgSrc = "Title=Blog@Writer=Berdo@PostDate=20220120";
    struct _BlogPostInfo postItem;
    memset(&postItem, 0x00, sizeof(struct _BlogPostInfo));
    //strstr 을 사용하여 아이템 분리.
    int nSTPos = 0, nLen;
    char szPrt[128]={0};
    while (1)
    {
        char* pFind = strstr(sOrgSrc+nSTPos, "@");
        
        if (pFind != NULL)
        {
            nLen = pFind - (sOrgSrc+nSTPos);
            strncpy(szPrt, sOrgSrc+nSTPos, nLen);
            doParseItem(szPrt, &postItem);
            memset(szPrt, 0x00, 128);
            nSTPos += nLen + 1;
        }
        else
        {
            strncpy(szPrt, sOrgSrc+nSTPos, strlen(sOrgSrc) - nSTPos);
            doParseItem(szPrt, &postItem);
            break;
        }                    
    }

    printf("==============================\n");
    printf("BlogItem Title: %s\n", postItem.szTitle);
    printf("BlogItem Writer: %s\n", postItem.szID);
    printf("BlogItem Date: %s\n", postItem.szDate);
    printf("==============================\n");
}

그럼 이만 ^^

2022년 1월 24일 월요일

C 문자열 분리 방법 1강

 오늘 포스팅 할 내용은 C 언어에서 문자열을 특정 기호로 분리한는 방법을 알아 보겠습니다.

​

단순 문자로 분리하여 출력까지 하는것을 이야기 하겠습니다.

​

작성 방법은 API를 안쓰는 방법(무식한 방법?)과 API를 쓰는 방법 두가지를 알아 보겠습니다.

​

작성을 위해서 기본적인 문자열 예시를 들겠습니다.

​

"Title=Blog@Writer=Berdo@PostDate=20220120"

​

기본 문자열은 위와 같습니다.

그냥 읽어보면 3개의 항목으로 키/값으로 분리 된것으로 보일겁니다.

일단 첫번째로 3개의 항목을 분리하여 간단히 출력하는 프로그램을 작성합니다.

​

프로그램 작성은 Windows에 Visual Studio Code 설치후 gcc 기반으로 작성 됩니다.

기본 프로그램 환경 구축은 아래 제 블러그 링크에서 확인하고 구성 하시면 됩니다.

Window GCC 환경구축

코드를 먼저 보고 설명을 시작 하겠습니다.


#include <stdio.h>
#include <string.h>

void main()
{
    char* sOrgSrc = "Title=Blog@Writer=Berdo@PostDate=20220120";

    //일반 구문으로 아이템 분리.
    int nOrgSrcLen = strlen(sOrgSrc);

    int nSTItem=0, nIdx=0;
    char szPrt[128]={0};
    for (nIdx = 0; nIdx < nOrgSrcLen; nIdx++)
    {
        if (sOrgSrc[nIdx] == '@')
        {
            strncpy(szPrt, sOrgSrc+nSTItem, nIdx-nSTItem);
            printf("[Item:%s]\n", szPrt);
            memset(szPrt, 0x00, 128);
            nSTItem = nIdx+1;
        }        
    }

    //마지막항목 출력.
    strncpy(szPrt, sOrgSrc+nSTItem, nOrgSrcLen-nSTItem);
    printf("[Item:%s]\n", szPrt);
}

API를 안쓰게 되면 문자열을 길이만큼 for 문을 이용하여 반복하다 '@' 문자를 만나면

길이만큼 짤라서 출력하는 구조 입니다.

​

출력을 위해서 szPrt 변수를 별도로 이용했구요.

strncpy 를 이용해서 문자열 복사를 했는데 마지막 인자값이 주어진 길이만큼만 복사 하는것 입니다.

하나의 아이템을 잘라서 출력한다음 다음 구문 분석을 위해서 시작 위치를 잡아 주기 위해서 nSTItem 변수를

사용했습니다.

​

마지막 항목을 출력하기 위해서 for문이 종료되고 난후 마지막 항목을 출력했습니다.

​

두번째 코드는 'strstr' API를 이용하여 문자열 분리 하는 방법입니다.

​

코드를 먼저 보고 설명을 시작 하겠습니다.

#include <stdio.h>
#include <string.h>

void main()
{
    char* sOrgSrc = "Title=Blog@Writer=Berdo@PostDate=20220120";

    //strstr 을 사용하여 아이템 분리.
    int nSTPos = 0, nLen;
    char szPrt[128]={0};
    while (1)
    {
        char* pFind = strstr(sOrgSrc+nSTPos, "@");
        
        if (pFind != NULL)
        {
            nLen = pFind - (sOrgSrc+nSTPos);
            strncpy(szPrt, sOrgSrc+nSTPos, nLen);
            printf("[Item:%s]\n", szPrt);
            memset(szPrt, 0x00, 128);
            nSTPos += nLen + 1;
        }
        else
        {
            strncpy(szPrt, sOrgSrc+nSTPos, strlen(sOrgSrc) - nSTPos);
            printf("[Item:%s]\n", szPrt);
            break;
        }                    
    }
}

'strstr' 사용은 처음인자에 검색대상 문자열 포인터를 지정합니다.

두번째 인자에는 검색할 문자열을 입력합니다.

​

'strstr'을 실행하고 나온 결과값은 검색된 문자열 포인터 위치를 리턴하게 됩니다.

말로만 설명을 하면 이해하기 어려우니 아래 그림으로 보시면 이해가 가실거에요.





위 그림에서 보시듯이 pFind 주소값이 sOrgSrc 보다 뒤에 있기 때문에

pFind 에서 검색 시작점을 빼주면 실제 분리될 아이템의 길이가 됩니다.

그러면 szPtr 에 복사한후 출력합니다.

​

마지막값은 검색하면 'NULL' 이 나오기 때문에 문자열의 마지막까지 복사한후

출력하면 됩니다.

​

기본적인 C 언어를 이용한 문자열 파싱을 알아 봤습니다.

​

다음번에는 분리된 아이템(Key=Value)을 다시 분리하여 구조체에 저장한후 출력하는것을 알려 드리겠습니다.

그럼 이만.

2022년 1월 23일 일요일

Visual Studio Code Java Console 개발환경 구축(Windows)

 간단히 Java Console 개발환경 구축하는 법을 설명할까 합니다.

​

일단 첫번째로 Visual Studio Code 를 설치 합니다.

https://code.visualstudio.com/download

위 링크로 가셔서 설치 하세요.

​

두번째 Java SDK 를 설치 합니다.

https://www.oracle.com/java/technologies/downloads/#jdk17-windows

위링크로 가셔서 Windows 탭을 선택 하신후 x64 Installer 를 다운로드 받아서 설치 하세요.














설치 하실때에는 기본 경로로 설치 하신후 마지막에 Next Step 은 안하셔도 되니 Close 누르고 빠져 나오면 됩니다.

​

기본적인 프로그램들은 다 설치 되었으니 이제 "Hello World" 를 출력하여 프린트 하는 프로그램을 만들어 보겠습니다.

​

저는 소스 경로를

​

문서/Source/Java/Test01 으로 만들어 놓았습니다.

​

이제 Visual Studio Code(이후 VSCode라 명칭 하겠습니다) 를 실행합니다.


















실행하고 나면 위 그림과 같은 화면이 나올겁니다.

거기서 "폴더열기" 를 클릭하고 아까 만들어 놓은 폴더를 지정하여 오픈 하세요.


















오픈하고 나면 위 화면 같은 화면이 나올겁니다.

거기에서 폴더 옆에 빨간색 동그라미 아이콘을 클릭하여 새파일을 생성하면

입력창이 뜰거고 거기에 Hello.java 라는 파일을 생성합니다.

​

java 파일을 생성했기 때문에 VSCode 에서 java 프로젝트 활성화를 진행 할겁니다.

​

파일 안에 아래와 같은 코드를 입력하세요.


public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

코드 입력이 끝나고 나면 저장을 합니다. (Ctrl + S)

​

입력된 코드를 간단히 실행하여 결과를 확인 하려면 VSCode 왼쪽 하단에 추가된 "JAVA PROJECT" 를 눌러 트리를 펼칩니다.




















펼치고 나면 위화면 같이 나올겁니다. 거기서 프로젝트 명이 Test01 로 나올거고 그 옆에 실행 버튼이 보일겁니다.

그것을 실행하면 Compile 후 실행하여 결과가 콘솔에 나오는것을 확인할수 있습니다.