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. 후토마끼
    22.10.05
  2. 코딩드림
    22.09.25
  3. 가능해
    22.09.12
  4. 코리니
    912
  5. 빈센트
    2022/8/17 수강 완료
    강의 1 : 자바에서 데이터 타입을 지정하는 이유? ==> 어떤 변수에 데이터 타입을 지정하지 않는다면 자바는 무엇을 담아야 할 지 모른다. 즉 컴파일이 안되는 것이다. 따라서 변수에 데이터 타입을 지정해주어야 컴파일을 진행할 수 있다.

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

    강의 3 : int - > double 형태로 바꿀 때는 자동적으로 변환이 되어 명시적으로 코딩 하지 않아도 되지만, double - > int 형으로 변환을 할 때는 손실값이 생기기 때문에 명시적으로 코딩을 해주어야만 한다.
  6. 흥순장
    2022.08.01 완료
  7. economin
    수강완료
  8. happybeom
    7.14
  9. 자바에서는 변수의 데이터타입을 정확하게 정의하는것이 중요하다.
    다른사람이 나의 코드를 볼때 이 값이 어떤의미의 값인지 변수의 이름을 통해 쉽게 알수있다.
    변수에 다른 데이터 타입의 값을 넣을때 형변환casting을 통해 이루어질수있다.
    .getClass 변수의 데이터타입을 확인할수있다
  10. 22.07.03 시청 완료
  11. 은평구핵주먹곽두팔
    22.06.28 완
  12. 22.06.02 완

    int //정수
    double //실수(소수 포함)
    String //문자열

    int a = 1; == int a = (int)1; //명시적인 것과 아닌 것의 차이, 근본적으로 같음

    double a = (int)1.1; // double 값을 int로 변환, 값은 int로 변환돼 1이지만 변수 타입은 여전히 double 이므로 출력 시 결과는 1.0
    Integer.toString(변수); //int 값을 String으로 변환
    .getClass() //변수 타입을 확인

    *검색하는 능력을 키우기
  13. 주댕주
    22.05.22_뷴수~~~ 완료!!!
  14. 코딩뿌셔본다
    ~변수에 대해~
    // 이번에는 '변수'라고 하는 것에 대해 배워본다! 변수란 '그 값이 변할 수 있는 문자'를 뜻한다.
    // a = 1; 일때, a는 1이다. 하지만 예외적으로 자바는, 변수에 데이터 타입을 지정해 주어야 한다.
    // 세미콜론 잊지 말고 꼭 찍어주자....
    public class Variable {

    public static void main(String[] args) {

    int a = 1; // Number -> integer(정수) ... -2, -1, 0, 1, 2, 3, 4 ... 전부 정수.
    System.out.println(a);

    // int b = 1.1; 는 정수가 아니기 때문에 int 라 데이터 타입을 지정해도 오류가 난다. 1.1이라는 실수는 real number로서, ...-2.0, -1.0, 0, 1.0, 2.0 ... 의 체계이다.
    // real number -> double

    double b = 1.1;
    System.out.println(b);

    String c = "Hello World";
    System.out.println(c);

    }

    }

    // JAVA는 왜 항상 변수에 데이터 타입을 지정해주어야 할까?
    // 변수에 데이터 타입을 지정하는 것은 음료가 들어있는 용기와 같다. 콜라병에 오렌지 주스가 들어가면 이상해지는 것처럼.
    // 콜라병에는 콜라가 들어있다! 라고 이야기 하는 것이고, 만약 오렌지 주스가 들어있다면 컴파일 자체가 되지 않는다! 일종의 방패막처럼 이해된다.
    // 콜라병 뚜껑을 열고 음료를 부을 때마다 이것이 오렌지 주스일지 펩시일지 환타일지 콜라가 맞는지!? 고민하지 않아도 되기 때문.


    ~문자열을 변수 버전으로 다뤄보면?~
    // 문자열과 관련해 했던 수업 내용을 변수 버전으로 익혀보자! + 세미콜론 찍는거 잊지말자!
    public class Letter {

    public static void main(String[] args) {
    String name = "Java"; // String으로 데이터 타입을 지정함으로서, name 이라는 변수는 문자열만 들어올 수 있게 됨.
    // 이제 name 이라는 변수에 어떤 값이 들어오느냐... 관계 없이, 결과물에 문제가 없을 것이 확정되는 안정감이 있다.
    // 더불어 name 이라는 변수를 확인함으로서, 이 코드를 처음 보는 사람도 '이름(name)이 들어오는구나' 하고 이해할 수 있는 것이다.
    System.out.println("Hello, "+name+" ... "+name+" ... Java ... bye.");

    double VAT = 10.0;
    System.out.println(VAT); // 여기의 VAT는 결국 10이다. 하지만, VAT(부가가치세)의 세율을 나타내는 거구나 라고 단숨에 파악할 수 있다.

    // 응용!
    String color = "Black";
    System.out.println("Blue, White, Red, "+color+", ..."); // 이것처럼, 나는 이 코드에 컬러(color)가 들어온다는 걸 미리 표식해 두고 코드를 짜는 것이다.

    }

    }
    // 내가 짜는 코드는 내가 보는 코드이고, 미래의 내가 보는 코드이고, 다른 사람이 보는 코드이기 때문에 의미를 파악할 수 있도록 코드를 작성하는건 아 주 중요하다.
    // 그 때 사용하는 중요한 수단 중 하나가 변수다. 변수는 값에 이름을 부여하는 것이다.
    // 마치 표식을 남기는 것과 같다. 그러므로 잘 확인할 수 있고, 바로 이해할 수 있는 코드의 중요성을 새겨야 한다.

    ~Casting의 놀라움~
    // Casting 이란, 데이터 타입을 다른 데이터 타입으로 컨버팅(변환) 하는 기술이다.
    public class Casting {

    public static void main(String[] args) {

    double a = 1.1; // 1.1은 실수이므로 double이란 데이터 타입으로 지정한다.
    double b = 1; // 그러면 정수 1을 double 데이터 타입으로 지정하면?
    System.out.println(b); // 이 경우 b는 1.0으로 나온다. 눈으로 보기에는 정수지만, 데이터 타입을 double로 지정했기 때문에 실수 취급 되는 것이다. 이것이 컨버팅이다!
    double b2 = (double) 1; // 이녀석은 double b = 1;와 같아 보이지만 다르다. 왜냐면, 명시적으로 바꿔버렸기 때문. 실수가 되어라 얍!
    System.out.println(b2);

    // int c = 1.1; 를 하면, Type mismatch: cannot convert from double to int 라는 오류가 뜸 (=컨버트가 불가능해요~!)
    // 1.1은 double에 맞는 값인데, int는 정수이기 때문에(소숫점 없음.) 잃어버리는 값이 생겨 오류가 뜨는 것. 0.1을 잃어버린다. 그러면 어떻게 해야 할까.
    double d = 1.1;
    int e = (int) 1.1; // Add cast to 'int' = 이 1.1이라는 실수를 '강제로' int로 바꿔버리겠습니다, 라는 뜻. 예시처럼, 괄호가 추가된다.
    System.out.println(e); // 1.1을 강제로 정수로 바꿔버려, 0.1이 소멸되었다. 하지만 강제 지정이어서 오류가 뜨지 않았다.
    // 1 to String, 1 이라고 하는 int 데이터 타입을 String 데이터 타입으로 바꾸고 싶으면?
    // 검색하면 String strI = Integer.toString(1); 이 뜬다. 그대로 본떠 가져와봤다.
    String ONE = Integer.toString(1);
    System.out.println(ONE); // 결과는 1이 나오지만, 결과값의 1은 데이터 타입이 숫자 1이 아니라 문자 1이다.
    System.out.println(ONE.getClass()); // getClass 는, 변수가 가지고 있는 값이 어떤 데이터 타입인지 알려주는 코드다.
    }

    }
    // JAVA는 변수의 데이터 타입을 굉장히 엄격하게 통제하기 때문에, JAVA를 사용하다 보면 데이터 타입을 컨버팅해야 하는 경우가 생기는데 그때 Casting 기술을 쓴다.
  15. 2022-05-16
    1-8.1.
    Variable변수
    숫자 -> integer정수 (...-3,-2,-1,0,1,2,3...)
    int a = 1;
    실수 -> double (소수를 포함한 수)
    double b = 1.1;
    String문자열
    String c = "Hello World";

    1-8.2. *Letter 미래의 나, 다른 사람이 코드를 보게될 경우를 대비해 알아보기 쉽게 코드를 짜는것이 매우 중요
    String name = "bun";
    sysout("Hi "+name+""); ->Hi bun
    sysout(name); -> bun
    double VAT = 10.0
    sysout(VAT);

    1-8.3. * 책과 강사로부터 독립하기 위해 검색하는 방법과 습관을 기를것
    double a = 1; -> 실수 1.0으로 컨버팅, 잃어버리는 값이 없음
    double a2 = (double) 1; -> 실수 1.0으로 컨버팅

    int b = 1.9; -/-> 실수를 정수로 컨버팅 불가능
    int b2 = (int) 1.9; -> 1 실수를 강제로 정수로 컨버팅 소수자리 손실이 일어남

    String c = Interger.toString(1) -> (문자열)1 정수를 문자열으로 컨버팅
  16. 낙타
    22/5/13
  17. rocdksl
    2022. 05. 07완료
  18. 육도
    2022.04.26 완료
  19. 22.04.04
  20. gutenmorgen
    자바에선 변수가 어떤 데이터 티입인지 선언할 때 미리 알려준다. 따라서 정수가 아닌데 int를 사용한다면 오류가 난다. 미리 알려주는 이유는 신뢰성 때문인듯 하다. 컵에 담겨져 있는 음료는 마실 때 껄끄럽지만, 새 통에 담긴 음료는 마실 때 어떤 불안감도 없기 때문이다.
    변수는 다른 누군가가 내 코드를 봤을 때 이해 할 수 있게 만드는게 좋다.
    * char 를 사용해서 데이터 타입이 문자인 변수를 만들 수 있다.
    double 의 경우 안에 integer값을 넣으면 출력할 땐 자동으로 소수점이 나오게 한다.

    casting 을 사용하면 데이터 타입을 바꿀 수 있다.
    (double) 1 로 하면 int -> double
    (int) 2.5 : double -> int (무조건 내림하는듯.. (int) 3.999의 값도 3으로 나옴)
    Integer.toString(1) 을 사용하면 int가 String으로 변경. 데이터 타입을 확인하기 위해선 변수이름.getClass()하면 됨
    Double.toString(2.5) 이런 식으로 사용하면 Integer.toString(1)과 같은 원리로 작동함.
  21. 어라랍스타
    2022.03.28

    변수 casting이 나중에 어떻게 중요하게 쓰일지 궁금하고 기대되네요... 지금 당장은 왜 굳이 변수형을 바꾸는걸까..라는 의문이 듭니다!
  22. 돌하르방귤
    20220301

    * Variable
    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"; //String(문자열)
    System.out.println(c);

    * Letter
    String name = "leeche";
    System.out.println("Hello, "+name+" ... "+name+" ... egoing ... bye");

    double VAT = 10.0;
    System.out.println(VAT);

    * Casting
    double a = 1.1;
    double b = 1;//정수 1이 double형에 들어갈 수 있었던 것은 손실이 없기 때문에 자동으로 캐스팅(casting) 된 것
    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());
  23. 산책자
    220228 감사합니다! 변수 부분이 제일 흥미롭고 재미있어요
  24. double(실수)를 억지로 int(정수)로 변경시에 손실이 발생
    캐스팅을 사용하여 손실 감수하고 바꿀 수는 있음
    int e = (int) 1.1 > 1 (0.1손실)
  25. 세포
    220214 출석

    변수에 데이터타입 지정 필수
    범위가 작은 데이터타입(int)에 범위를 넘어가는 큰 데이터(1.1)를 지정하면 손실 발생
    (int a = 1;
    System.out.println(a); //1.0

    int b = (int) 1.1;
    System.out.println(b); //1

    정수를 문자열로 변환
    (String f = Integer.toString(1); //문자열1
    f.getClass() >> 결과 String
  26. 윤원
    220211
    변수 VAT 는 부가 가치세를 의미한다
    double형은 int 형에 담기면 손실 ex) int a = 5.5 (x)
    int형은 double형에 담기면 손실을 보지 않는다. ex) double b = 5 결과 = 5.0 (o)

    - 정수형을 문자열로 변환할수 있다.
    String f = Integer.toString(1);
    System.out.println(f.getClass());
  27. 열정jk
    220205 감사합니다
  28. 22.02.01
    완료
  29. 한씨
    2022.02.01
    변수는 데이터 타입을 지정해 주어야 함
    int형을 double형에 담으면 손실
    double형을 int형에 담으면 손실이 일어나지 않음
    실수의 변수를 int형으로 담고 싶으면 캐스팅을 사용
  30. KeiJx2
    2022/01/31
  31. 나연
    2022년 1월 30일 (일) 완료

    자바에서 변수 선언 시 데이터 타입 지정해야 함
    - 변수 값 타입 확인할 필요 x

    Casting: converting a variable's data type to another
    ```java
    public class Casting {

    public static void main(String[] args) {
    double a = 1.1;
    double b = 1; // Not erroneous; we don't lose anything
    System.out.println(b);

    // int c = 1.1; // Erroneous; we lose the fractional part
    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());
    }

    }
    ```
  32. 팔꿈치쿵전기
    2022.01.28
    1. 변수선언시 데이타 타입지정 - 물병에 남긴물 (비유가 정말 귀에 쏙쏙 들어오네요)
    2. 어떤 데이타 타입인지 확인도 가능하고, 형변환도 된다.

    감사합나다
  33. 마법사신부
    감사합니다!
  34. 카멜리안_최유리
    20220122 완료
    1. 변수는 데이터 타입을 구분해서 정의해야 한다.
    2. 변수를 사용함으로써 가독성과 효율성을 높일 수 있음
    3. int형을 double형에 담으면 손실이 없으나, double형을 int형에 담으면 손실이 발생
    이러한 손실과 에러를 방지하기 위해 변수의 데이터 타입을 바꿔주거나 앞에 데이터 타입을 명시해줘야 함 int e = (int) 1.1;
    4. String f=Integer.toString(1) //int 1 to String
    5. .getClass() 데이터 타입 확인
  35. Daniel
    감동입니다. casting도 어렵다고 하셨지만, 설명을 너무 잘 해주셔서 이해가 쏙쏙되네요. 감사합니다.
  36. 2022-01-13
    변수의 타입을 알기 위한 방법으로
    (String)
    System.out.println(str.getClass().getSimpleName()); 를사용하여 확인 할수 있다.

    (int,Double)
    int x = 5;
    System.out.println(((Object)x).getClass().getSimpleName()); 를 사용하여 Integer,Double 인지 확인 할 수 있다. String 과 다르게 Object 로 캐스팅을 하여야 한다!!!
  37. 개발자Y
    22.01.05. 수강완료
  38. chipkkang9
    21.12.31 수강완료
  39. 꿈나물
    2021.12.27 완료
  40. 물방울
    2021.12.25.
    1. 변수를 설정하여 코딩하면 남들도 이해할 수 있게 만들 수 있음.
    2. 다른 데이터 타입일지라도 (datatype)을 통해 변환이 가능함
  41. 낀찐
    21.12.22 <변수와 데이터 타입 변환>

    1. 변수
    - JAVA에서는 변수의 데이터 타입을 정의해주어야 함
    - 변수로 정의하여 처리하면 더욱 가독성과 효율이 좋은 코드를 작성할 수 있음 (cf. replace를 통해 문자열을 교체하는 방법)

    2. 데이터 타입 변환(casting)
    - 자동형변환 시 데이터 손실이 발생할 수 있음 (1.xxx -> 1)
    - 변환하는 데이터 타입을 명시하면(강제형변환) 데이터 손실 또는 에러를 방지할 수 있음 (예. int a = (int) 1.1;)
    - Integer -> String 형 변환의 예: String a = Integer.toString(1);

    *[변수.getClass()] : 변수의 데이터 타입을 출력
  42. 김한솔
    21-12-20

    <변수의 정의>
    * 왜 자바와 같은 몇몇 컴퓨터 언어들은 데이터 타입을 변수에 정의해줘야 하는가?
    ⇒ 값을 꺼낼때마다 들어있는 값을 하나씩 확인하지 않아도 타입을 확정시킬 수 있기 떄문이다
    ⇒ 넣을 때는 조금 번거로울 수 있지만 좋은 기능이다!


    <변수의 효용>
    * replace로 문자열을 바꿀 수도 있지만 변수에 담아 처리하게되면 훨씬 효용성 좋은 코드 작성이 가능하다


    <데이터 타입의 변환>
    * 모두 자동형변환 시 손실이 있는 데이터가 있을 수 있기 때문에(1.234 -> 1) 손실이 있을만한 데이터는 강제형변환을 해줘야 한다.

    * [.getClass()] 해당 객체의 클래스 정보를 전달해준다. (클래스 이름, 필드 정보, 메소드 정보 등등)
  43. 마스터하자
    2021.12.03 완료
    보통 타입에 따라서 강제변환은 잘 안해주고 프로젝트할때도 강제변환은 되도록 잘 안써서 쉽게 까먹을 수 있지만 이렇게 다시 한번 상기시킬수있게 파트를 나눠서 가르쳐주시니까 다시 한번 기억을 되살릴수있어서 좋은 파트인것 같습니다

    String g = Integer.toString(1);
    System.out.println(g.getClass());
    특히 이부분 java에서 잘 모르지만 호출할때 많이 써서 그렇게만 알고있었는데 g.getClass해서 String타입인지 까지 볼수있다는 것
    이부분은 잘 몰랐는데 새롭게 알게되네요
    감사합니다.
  44. 초보자바
    2021-12-02 완료
    변수의 데이터 타입과 이름과 함께 변수의 선언
    변수의 이름을 나의 의도에 맞게 설정함으로써 직관적으로 의도를 확인할 수 있게함
    casting을 통하여 데이터의 타입을 converting하는데 이때 데이터의 손실이 일어나는 경우에는 명시적으로 코딩해줘야하ㅣㅁ
  45. 김휘철
    잘 봤습니다~
  46. chalieya
    변수 이름을 직관적으로 알 수 있게 설정하는게 코드리뷰시 속도를 낼 수 있겠네요. 강의 감사합니다.
  47. syh712
    1. 해당 데이터가 정수/실수/문자열 등 어떤 타입인지 확인하고 처리하기 위해 데이터 타입을 지정한다.
    2. 해당 변수에 특정 데이터를 설정하는 것. 이후 변수의 설정을 조작함으로 결과물에서 출력될 데이터의 전체를 수정, 변경할 수 있다.
    3. casting은 정수 <> 실수 <> 문자열 등의 기존의 데이터 타입을 다른 데이터 타입으로 변환하는 것이다.
    +a: 회원가입 코드를 짠다고 할 때 이름은 String name, 아이디는 String id, 비밀번호는 int pw 로 입력할 수 있을 것이다.
  48. 2021-11-14
  49. 나자바바라
    2021. 11. 03.
  50. adol83
    compile 이 잘 됐다는 것은 선언된 변수의 data type 대로 변수 값이 잘 작성 됐다는 것을 의미
    > 변수가 선언 된 data type으로 잘 작성 됐는지 확인 할 필요 없음.
버전 관리
egoing
현재 버전
선택 버전
graphittie 자세히 보기