JAVA1

변수

수업소개

내가 그의 이름을 불러주기 전에는
그는 다만
하나의 몸짓에 지나지 않았다. -김춘수 꽃-

변수란 데이터에 붙이는 이름입니다. 이름을 붙이기 전까지 우리는 그 데이터를 부르기 어렵고, 기억하기 어렵고, 이해하기 어렵습니다. 이 수업에서는 바로 이 변수를 배웁니다. 

 

 

 

강의 1

소스코드

변경사항

public class Variable {

    public static void main(String[] args) {
		
		int a = 1; // Number -> integer  ... -2, -1 , 0, 1, 2 ...
		System.out.println(a);
		
		double b = 1.1; // real number -> double ... -2.0, -1.0, 0, 1.0, 2.0 ...
		System.out.println(b);
		
		String c = "Hello World";
		System.out.println(c);
	}

}

 

 

 

강의 2

소스코드

변경사항

public class Letter {

    public static void main(String[] args) {
		String name = "leezche";
		System.out.println("Hello, "+name+" ... "+name+" ... egoing ... bye");
		
		double VAT = 10.0;
		System.out.println(VAT);
	}

}

 

 

 

강의 3 

소스코드

변경사항

public class Casting {

    public static void main(String[] args) {
		
		double a = 1.1;
		double b = 1;
		double b2 = (double) 1;
		
		System.out.println(b);
		
		// int c = 1.1;
		double d = 1.1;
		int e = (int) 1.1;
		System.out.println(e);
		
		// 1 to String 
		String f = Integer.toString(1);
		System.out.println(f.getClass());


	}

}

 

 

댓글

댓글 본문
  1. ㅎ.ㅎ
    2024.12.14.토
  2. juny_.0
    2024.11.07
  3. 240808 완
  4. 240522
  5. 코딩앤수학
    2024-05-06
    변수는 변할 수 있는 값인데 데이터 타입을 지정하는 이유는 그 값이 메모리에 차지하는 공간이 얼마나 되는지 그리고
    어떤 데이터 타압인지 데이터 타입 지정을 통해서 검증할 수 있기 때문에 지정한다고 생각이 듭니다.
  6. 답변 감사합니다.
    정적 타입의 언어는 깔끔하게 정리하는 모범생 같고
    동적 타입의 언어는 너저분해 보이지만 자기만의 정리가 되어있는 천재 같습니다.
    다른 사람과 같이 프로젝트를 하거나 유지보수가 많이 필요한 프로젝트는 동적 타입이 더 좋은 거 같아요.
    대화보기
    • Sansol Park
      변수에 데이터 타입을 지정하는 이유는 여러 가지가 있습니다. 여기서 몇 가지 중요한 이유를 설명드리겠습니다.

      1. **명확성**: 변수 이름만으로는 데이터의 종류를 명확하게 알 수 없습니다. 예를 들어, `number = 5`라는 코드가 있을 때, 이 `number`가 정수인지, 실수인지, 아니면 다른 종류의 숫자인지 알기 어렵습니다. 데이터 타입을 지정함으로써, 프로그램의 가독성과 이해도가 크게 향상됩니다.

      2. **메모리 관리**: 컴퓨터는 다양한 타입의 데이터를 저장하기 위해 메모리를 다르게 관리합니다. 예를 들어, 정수(int)와 실수(double)는 메모리상에서 차지하는 공간이 다릅니다. 데이터 타입을 명시함으로써, 컴파일러는 적절한 크기의 메모리 공간을 할당할 수 있습니다.

      3. **연산의 정확성**: 서로 다른 데이터 타입 간의 연산은 예상치 못한 결과를 초래할 수 있습니다. 예를 들어, 정수와 실수를 더할 때, 또는 문자열과 숫자를 더할 때 발생할 수 있는 혼란을 방지하기 위해 타입을 명시합니다. 이를 통해 타입 간의 변환과 연산을 정확하게 제어할 수 있습니다.

      4. **오류 방지**: 컴파일 타임에 데이터 타입을 체크함으로써, 잠재적인 오류를 미리 발견하고 수정할 수 있습니다. 예를 들어, `int` 타입의 변수에 실수를 할당하려고 할 때, 컴파일러는 이를 오류로 간주하고, 프로그래머에게 알려줍니다. 이런 방식으로 프로그램의 안정성을 높일 수 있습니다.

      5. **프로그래밍 언어의 특성**: 마지막으로, 모든 프로그래밍 언어가 동적 타입을 지원하는 것은 아닙니다. 일부 언어(예: Java, C++)는 정적 타입을 사용하며, 변수를 선언할 때 데이터 타입을 명시해야 합니다. 이는 해당 언어의 설계 철학과 관련이 있으며, 타입 안전성과 성능 최적화에 기여합니다.

      결론적으로, 변수에 데이터 타입을 지정하는 것은 프로그램의 명확성, 효율성, 안정성을 높이기 위한 중요한 방법입니다. 값만으로 데이터 타입을 유추하는 것은 특정 상황에서 가능할 수 있으나, 프로그래밍의 복잡한 상황에서는 충분하지 않을 수 있습니다.

      GPT4 의 답변입니다.
      대화보기
      • 1.
        변수에 데이터 타입을 지정하는 이유를 잘 모르겠네요.
        변수의 이름 만으로는 그게 어떤 데이터 타입인지 혼동의 이유가 있어서 인 거 같은데...
        예를 들어 a=6, b=6.3, c="6" 일 때,
        변수 a와 b만 보고서는 이 변수가 정수(Int)인지 실수(double)인지 문자(String)인지 모르니까 데이터 타입(Int, double, String)을 지정해줘서 변수에 마우스를 올리면 데이터 타입을 알 수 있다?
        하지만 변수에 마우스를 올렸을 때 데이터 타입이 아니라 그냥 값(6, "6")을 보여주면 값만으로도 데이터 타입을 유추할 수 있고 어떤 값인지도 알 수 있어서 더 좋을 것 같다고 생각되는데요.
        굳이 변수에 데이터 타입을 지정해주는 이유를 잘 모르겠습니다...
      • 항해자
        수강 완료 ^^ 멋진 강의 감사합니다.
      • 자바1일차
        좋은 강의 감사합니다.
      • 민태영
        2024.1.30 node와 달리 데이터타입을 관리하니까 오히려 불편할 줄 알았는데
        훨씬 재밌는것 같음
      • 시은
        변수를 이용하면 다른 사람들이 그 값이 의미하는 바를 쉽게 알 수 있다. 미래의 나도 마찬가지..
      • 김철흥
        2024.01.19
        완료!
      • 집게사장
        2023.11.6 완료
      • onodo
        230822 complete
      • 다람
        2023.08.02. 완료
      • 솜사탕
        2023.07.31 완료
      • 마스터하자
        완료
      • 코딩두
        23.07.03 완료
      • GodUser
        1. 변수에 데이터 타입을 지정하는 이유는 그 변수의 데이터를 이용할 때 그 데이터가 어떠한 자료형인지 미리 알기 위함이다. 그렇지 않으면 그 변수에 어떠한 자료형의 데이터가 들어있는지 확인하는 과정을 거쳐야 한다.

        2. 변수를 활용 함으로써 코드를 작성하는 내가 나중에 알아보기 쉽게 변수명을 설정해 가독성을 높일 수 있으며 반복되는 데이터를 활용할 때 변수를 이용함으로써 더 편리하게 코드 작성또한 가능 하다.

        3. 캐스팅을 자료형의 변환을 의미 하며 손실이 일어나지 않는 경우에는 형변환을 굳이 명시적으로 할필요가 없지만 손실이 발생하는 경우라면 명시적으로 형변환을 하겠다고 밝혀야 한다.
      • GodUser
        1. 변수에 데이터 타입을 지정하는 이유는 그 변수의 데이터를 이용할 때 그 데이터가 어떠한 자료형인지 미리 알기 위함이다. 그렇지 않으면 그 변수에 어떠한 자료형의 데이터가 들어있는지 확인하는 과정을 거쳐야 한다.

        2. 변수를 활용 함으로써 코드를 작성하는 내가 나중에 알아보기 쉽게 변수명을 설정해 가독성을 높일 수 있으며 반복되는 데이터를 활용할 때 변수를 이용함으로써 더 편리하게 코드 작성또한 가능 하다.

        3. 캐스팅을 자료형의 변환을 의미 하며 손실이 일어나지 않는 경우에는 형변환을 굳이 명시적으로 할필요가 없지만 손실이 발생하는 경우라면 명시적으로 형변환을 하겠다고 밝혀야 한다.
      • 여유로운쿼카
        2023.06.22
      • berry
        감사합니다 재미있게 하고있습니다
      • 당당
        2023.04.07
      • 밍구밍구
        C언어의 변수 선언이랑 많이 비슷하네요!
      • 완료!!
      • CODE
        학습완료
      • 으앗?
        230223
      • Min_is_Here
        2023-02-22
      • 태봉이
        20230202
      • 민돌아빠
        1. 실제 팀단위에서 개발할때는 자료형을 제대로 인지하지 못해서 나는 에러가 허다하므로, 자바에서는 명확하게 형 구분을 하는거 같고요.

        2. 변수 이름은 누가 봐도 알수 있도록 정해야 하고

        3. 형변환은 다음처럼 생각하면 쉬울꺼 같습니다.

        - 문자를 숫자로 변경할 수 있느냐? = 아니오
        - 숫자를 문자로 변경할 수 있으냐? = 네

        - 더큰 범위의 실수를 정수로 자동변환해주냐? = 아니오
        - 그럼 어떻게 하나? = 개발자가 명시적으로 형변환을 해준다 (int) x

        - 정수는 실수가 될때 뒤에 .0만 붙히면 되므로 자동변환을 해준다 = 예
        - 자동변환되어도 명시적으로 형변환도 가능하다 = 예
      • 비전공자의반란
        23-01-10 완
      • 신동익
        23.01.07
      • didit
        23.01.06
      • 모로하지
        23.01.03
      • 자바뿌시기
        22/12/30
      • 수호수호
        22/12/25 홧팅
      • 화난 흰둥이
        22.11.28
      • 요니요니
        감사합니다.11/14/22
      • Min Jupiter
        오랜만에 강의를 듣고 있습니다.
      • 서우
        221020
      • 코린이
        22/10/17 완료
      • 보통사람 박코딩
        할수있다
      • 자바자바
        public class Today {
        public static void main (String[] args) {

        String Today = "2022.10.9";
        System.out.println(Today);
        }
        }
      • 후토마끼
        22.10.05
      • 코딩드림
        22.09.25
      • 가능해
        22.09.12
      • 코리니
        912
      • 빈센트
        2022/8/17 수강 완료
        강의 1 : 자바에서 데이터 타입을 지정하는 이유? ==> 어떤 변수에 데이터 타입을 지정하지 않는다면 자바는 무엇을 담아야 할 지 모른다. 즉 컴파일이 안되는 것이다. 따라서 변수에 데이터 타입을 지정해주어야 컴파일을 진행할 수 있다.

        강의 2 : 미래의 나, 나 말고 다른 사람이 보는 내 코드는 가독성이 좋아야 한다. 직관적으로 파악이 되면 좋다. 따라서 값에 이름을 부여해주어야 하기 때문에 변수를 이용하면 좋다.

        강의 3 : int - > double 형태로 바꿀 때는 자동적으로 변환이 되어 명시적으로 코딩 하지 않아도 되지만, double - > int 형으로 변환을 할 때는 손실값이 생기기 때문에 명시적으로 코딩을 해주어야만 한다.
      • 흥순장
        2022.08.01 완료