JAVA1

데이터와 연산

수업소개

컴퓨터는 '데이터'를 '처리'하는 기계입니다. 데이터마다 처리방법이 다릅니다. 그래서 데이터의 분류를 아는것이 중요합니다. 여기서는 '데이터'와 '처리'의 의미에 대해서 알아봅니다. 

 

 

Editor does not contain a main type 라는 에러가 발생하면 src 디렉토리로 소스코드 위치를 변경한 후에 실행시켜보세요. 보다 자세한 내용은 다음 수업을 참고해주세요. https://www.youtube.com/watch?v=Wtb755nwIwo

강의1

 

 

 

강의2

소스코드

변경사항

public class Datatype{
    public static void main(String[] args) {
		System.out.println(6); // Number
		System.out.println("six"); // String
		
		System.out.println("6"); // String 6
		
		System.out.println(6+6); // 12
		System.out.println("6"+"6"); // 66
		
		System.out.println(6*6); // 36
//		System.out.println("6"*"6");
		
		System.out.println("1111".length()); // 4
//		System.out.println(1111.length());
		
		System.out.println("Hello World"); //String 문자열
		System.out.println('H'); //Char 문자
		System.out.println("H");
		
	}
}

 

 

댓글

댓글 본문
작성자
비밀번호
  1. 뉴빈
    src 안에 넣으니까 바로 run 되네요!
  2. 베이비유저<baby user>
  3. 베이비유저<baby user>
  4. dofvmrhwk
    sout 치고 ctrl+space 하는 재미가 있네요 ㅎㅎ
    맨앞에 //을 치면 그줄은 무시되는 줄이 된다!
    오늘강의도 잘봤습니다!

    2020/ 2/ 17
  5. juni
    완료...
  6. 칩과데일
    완료
  7. 동그리
    완료
  8. c언어랑 비슷하면서도 다른 것 같기도 하고...? 자바는 처음인데 확실히 c 하고 나서 하려니까 어렵지 않아서 좋아요
  9. 임지수
    2020.01.23 완료
  10. Kimjh(dondecoman)
    20200121 완료
  11. 뉸찡
    2020.01.19 완료! 감사합니다 차근차근 배우는 재미가 있어요
  12. 2020.01.15.WED
  13. 코딩대장
    2020-01-13 감사합니다
  14. 라또마니
    완료, 감사합니다.
  15. 취생아
    완료 2020.01.10
  16. 김소원
    저도 editor does not contain a main type이라는 문구가 떠서 알아보니 생성할때 'file'이 아닌 'class'로 생성하라던데 하니까 되긴 되던데 왜 그런거죠?ㅜㅜ
  17. 소금설탕
    완료. 고맙습니다.
  18. 윤영휘
    2019.12.30 완료!
  19. 모른다요
    완료했습니다.
  20. 윌리엄
    문자열을 나누면 컴퓨터가 할 수 있는 것이 기하급수적으로 많아지게 됩니다.

    강의를 들으셨다면 새로운 것을 배울게 아니라 배운 것을 한 번 써먹어 보세요. 앞만 보고 가기보단 이제까지 배운 것을 사용해 익숙해지는 것도 중요합니다.

    System.out.println('h'); //char (문자)
    System.out.println("h"); //String h (문자열)

    자, 다음 두 가지의 데이터 타입을 출력해보면 우리 눈으로 보기엔 둘다 h로 나옵니다. 하지만 컴퓨터는 분명히 둘을 다른 문자로 인식합니다.

    System.out.println('Hello World');
    이렇게 문자 타입으로 정하는 ''에 2개 이상의 문자를 입력하면 에러가 나옵니다.
    System.out.println('2');
    또한 ''에 숫자를 넣으면 정상적으로 2라고 출력됩니다. 물론 이때 2는 다른 2이죠.
    System.out.println('2'+'2');
    라고 입력해서 run하면 4가 아닌 100이라는 값이 나오니까요. 컴퓨터는 '2'와 2를 다른 데이터로 읽습니다.
    즉 컴퓨터에서 문자 타입 한 글자의 모든 문자나 숫자, 기호(기호도 됩니다)를 입력받고, 그것은 다른 타입의 데이터와 별개의 것으로 인식됩니다.

    왜 문자를 입력하는 타입을 두가지나 만든 걸까요? 이런 의문이 든다면 지금까지 배운 걸 이용해 둘의 차이를 규명해보는 것도 수업의 일환입니다. 다음을 입력해보세요.

    System.out.println("Hello World!!");//String
    System.out.println('H'+'e'+'l'+'l'+'o'+' '+'W'+'o'+'r'+'l'+'d'+'!'+'!'); //char
    System.out.println("H"+"e"+"l"+"l"+"o"+" "+"W"+"o"+"r"+"l"+"d"+"!"+"!"); //String

    이렇게 하면 1번째 줄 코드와 3번째 줄 코드는 같은 결과가 나오지만, 2번째 줄은 숫자로 나옵니다. 이는 컴퓨터가 타입을 처리하는 데에 있습니다. 컴퓨터(computer)는 계산하는(compute) 기계입니다. 그래서 숫자를 사용할 때, 문자열을 사용할 때 전부 계산한다고 말해왔습니다. 컴퓨터에선 결국 모든 데이터는 숫자입니다. 하지만 계산한 결과값을 어떻게 처리하느냐는 또 다른 문제죠. 문자열의 목적은 사용자에게 문자를 보여주는 게 목적입니다. 문자를 보여주는 데만 쓰면 컴퓨터가 데이터를 처리할 때 얼마나 낭비일까요? 숫자는 10개지만, 알파벳, 숫자, 기호를 전부 데이터를 처리하는데 사용한다면 컴퓨터는 사람의 상식으로는 이해하기 힘들지만 어쨌든 사람으로서는 해낼 수 없는 계산까지 성공할 수 있습니다. 앞으로 장차 우리가 더 배워나간다면 이 문자를 사용해 우리가 편하게 이용하는 프로그램들을 어떻게 만들 수 있을지도 생각해볼 수 있을겁니다.
  21. gds1423
    데이터 타입별로 어울리는 연산 방법을 사용해야 하기 때문에 데이터 타입을 엄격하게 구분한다.

    System.out.println(6); //Number(숫자)
    System.out.println('6');//char(문자)
    System.out.println("6");//String(문자열)
  22. 정훈
    mac에서 자동완성 ctrl+space가 기본적으로 spotlight 검색으로 쓰고 있어서 , 유지하려면 변경이 필요합니다.
    저는 환경설정 -> General -> keys -> content Assist 를 편집하여 Ctrl+space를 원하는 키로 변경하여 사용하였습니다.^^
  23. 잘 들었습니다 ^^
  24. 쑤우
    수강완료. 감사합니다~
  25. 야무치이처누기
    자바 어설프게 공부해서 처음부터 다시 합니다. 정말 감사드립니다.
  26. 멋지게살자
    중요한걸 다시금 깨닫게 되었습니다.
  27. 데이
    데이터는 중요하군요.
  28. 크흠..
    저두 그렇게 떴었는뎅 전부다 지우고 처음 "이클립스 Hello world" 강의해주실 때 보면서 처음부터 차근차근 하니까 잘 되더라구요!! ㅎㅎ 그리고 지우면 혼선이 와서 안대는거같아영...
    대화보기
    • 햄쮸걸
      귀엽...ㅋㅋㅋㅋ
      대화보기
      • 햄쮸맨
        오우 찾아보니까 전 강의 영상에 다 나와 있었네요. ㅎㅅㅎ).. 역시 금방 배우고 금방 까먹어버리는..햄쮸맨이였다...
      • 햄쮸맨
        음냐 처음에 String 6까지 중간 저장하고 실행하니 헬로 월드가 뜨더라고요! ㅋㅋㅋㅋㅋ..그래서 확인 해봤더니 클래스 파일이 생성이 안 되더군요..그래서 알아봤더니 처음에 자바 프로젝트 만들때 소스랑 실행 파일을 따로 폴더에 저장하도록 만들어서 그랬어요. (기본 설정이 그렇더군요.) 그래서 설정 바꿔서 새로 만들고 또 실행 했더니 이번엔 클래스 파일 제대로 생성해서 불러오더군요. 그런데 첫번째 행에 에러가 있어서 '에러가 있는데도 실행 할까요?' 묻길래 에러 고치고 실행했더니 그제서야 깔끔하게 실행 되네여. 그런데 소스랑 실행 파일이랑 따로 폴더 구분해서 생성되면 나중에 정리가 편할 것 같은데 그런 경우에는 어떻게 자바 파일을 컴파일 해서 클래스 파일이 생성되나요? 경로 지정을 따로 해줄 수 있을까용? 자바 에플리케이션 실행 편에 나왔는데 제가 까먹었을까요?? 암튼 문제 생겼을때 직접 검색하고 이전 강의 찾아보고 하니까 나름 재미가 있네요.
      • 조예인
        에러나서 당황했는데 친절하게 영상 올려주시고, 그 영상 내용도 오류를 통해 더 배워갈 수 있어서 좋은 기회라고 위로해주셔서 너무 좋았어요. 감사해요 ㅎㅅㅎ
      • 조예인
        에러나서 당황했는데, 친절하게 에러를 해결하는 영상도 올려주시고, 그리고 그 내용도 위로가 들어있어서 너무 좋았어요. 감사해요.
      • acarose5291@naver.com
        sout +^+space !! 꿀팁 감사합니다~~^^
      • 기봉기봉
        폴더전체를 프로젝트파일로 지정하니까 출력이 되네요. 감사합니다.
      • LiberSpiritus
        구글링을 통해 확인 결과 만드신 java 파일이 src 폴더안에 없어서 생기는 현상입니다
        생성하신 java 파일을 src 폴더안에 드래그 하셔서 다시 한번 Run 실행시켜보세요:)
        대화보기
        • ㅎㅎ
          잘들었습니다!

          근데, Run 버튼을 누르면 지난 시간에 했던 Hello World! 창이 떠서 ;;
          제가 지워버렸습니다. 지난시간 것들을 모두요; 혹시 혼선이 되는건가..? 싶어서요

          근데 이제는 Run버튼을 누르면 "The selection cannot be launched, and there are no recent launches."라는 에러가 뜨고 실행이 되지 않습니다;; ㅠㅠ

          무슨 일인지요!
        • 오도현
          sout + Ctrl space
          어디서도 못배우는 꿀팁 배워갑니다!!
        • 슈슈
          에러창은 뜨는데 드디어 어케 하긴했습니다
          새로 생긴 기능을 쓰지 않는다고 했는데 왜 지맘대로 폴더를 나눠버리는지 알수가없네요 ㅠㅠㅠ 멘탈 박살...
        • 슈슈
          저도 이만수 님과 똑같은 증상이예요 미쳐버릴거같아요 ㅠㅠ 몇번이나 지웠다 다시해도 하...
          한시간째 파일하나를 제대로 못만들고있어요 ㅠㅠ 아..
        • 최동희
          우분투에서 Ctrl+Space가 작동하지 않아서 찾아보니 우분투에서는 Alt+/가 기본으로 설정되어 있다고 하네요.
          https://blog.outsider.ne.kr/432
        • 청수공장
          문자("66")와 숫자(66)의 데이터 타입이 다름.
        • yeoandante
          https://stackoverflow.com......pse
          위를 참고 하였고, src 폴더로 소스코드를 옮겼습니다.
          대화보기
          • 아아
            Run as Java Application 으로 실행하니 되네요! 무슨 차인지는 모르겠습니다만 ㅋㅋ
            대화보기
            • 아아
              JAVA A/S강의를 듣고 처음 프로젝트 만들 때 설정을 src와 bin 폴더를 만들지 않는 것으로 했는데
              오류가 납니다 ㅠㅠ
              Error: Could not find or load main class Datatype
            • "자바 애플리케이션 실행" 토픽으로 돌아가 보시면 "JAVA-4.1.A/S 강의 - ..." 가 있습니다. 참고하세요~
              https://youtu.be......Iwo
              대화보기
              • PassionOfStudy
                #데이터 타입을 구분하는 이유는 무엇인가?
                예를들어 123을 입력할 때 123이 숫자인지 문자인지 컴퓨터는 판단할 수 없다.
                따라서 컴퓨터가 해석할 수 있어야하는데 그래서 구분한 것 같다.

                #숫자와 문자를 표현하는 방법?
                숫자는 1234567890의 조합으로 표현가능하며
                문자열은 ""(쌍따옴표)로 묶어서 표현하지 않나요?
                --------------------------------------------------------------------------------------------
                맞는지 모르겠네요.... 구체적으로 생각을 안해봐서;;;
              • 저도 같은증상이네요.. 왜그럴까요..?
                대화보기
                • module-info.java 를 지우시는게 가장 빠를거에요.
                  https://stackoverflow.com......ted
                  대화보기
                  • 율리얄리송
                    앗... 저는 Editor does not contain a main type.이라고 나오는데 뭘까요...하하;; 강의를 보고도 못 따라가네요...ㅠ^ㅠ
                  버전 관리
                  egoing
                  현재 버전
                  선택 버전
                  graphittie 자세히 보기