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.05.22_뷴수~~~ 완료!!!
  2. 코딩뿌셔본다
    ~변수에 대해~
    // 이번에는 '변수'라고 하는 것에 대해 배워본다! 변수란 '그 값이 변할 수 있는 문자'를 뜻한다.
    // 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 기술을 쓴다.
  3. 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 정수를 문자열으로 컨버팅
  4. 낙타
    22/5/13
  5. rocdksl
    2022. 05. 07완료
  6. 육도
    2022.04.26 완료
  7. 22.04.04
  8. 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)과 같은 원리로 작동함.
  9. 어라랍스타
    2022.03.28

    변수 casting이 나중에 어떻게 중요하게 쓰일지 궁금하고 기대되네요... 지금 당장은 왜 굳이 변수형을 바꾸는걸까..라는 의문이 듭니다!
  10. 돌하르방귤
    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());
  11. 산책자
    220228 감사합니다! 변수 부분이 제일 흥미롭고 재미있어요
  12. double(실수)를 억지로 int(정수)로 변경시에 손실이 발생
    캐스팅을 사용하여 손실 감수하고 바꿀 수는 있음
    int e = (int) 1.1 > 1 (0.1손실)
  13. 세포
    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
  14. 윤원
    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());
  15. 열정jk
    220205 감사합니다
  16. 22.02.01
    완료
  17. 한씨
    2022.02.01
    변수는 데이터 타입을 지정해 주어야 함
    int형을 double형에 담으면 손실
    double형을 int형에 담으면 손실이 일어나지 않음
    실수의 변수를 int형으로 담고 싶으면 캐스팅을 사용
  18. KeiJx2
    2022/01/31
  19. 나연
    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());
    }

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

    감사합나다
  21. 마법사신부
    감사합니다!
  22. 카멜리안_최유리
    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() 데이터 타입 확인
  23. Daniel
    감동입니다. casting도 어렵다고 하셨지만, 설명을 너무 잘 해주셔서 이해가 쏙쏙되네요. 감사합니다.
  24. 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 로 캐스팅을 하여야 한다!!!
  25. 개발자Y
    22.01.05. 수강완료
  26. chipkkang9
    21.12.31 수강완료
  27. 꿈나물
    2021.12.27 완료
  28. 물방울
    2021.12.25.
    1. 변수를 설정하여 코딩하면 남들도 이해할 수 있게 만들 수 있음.
    2. 다른 데이터 타입일지라도 (datatype)을 통해 변환이 가능함
  29. 낀찐
    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()] : 변수의 데이터 타입을 출력
  30. 김한솔
    21-12-20

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


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


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

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

    String g = Integer.toString(1);
    System.out.println(g.getClass());
    특히 이부분 java에서 잘 모르지만 호출할때 많이 써서 그렇게만 알고있었는데 g.getClass해서 String타입인지 까지 볼수있다는 것
    이부분은 잘 몰랐는데 새롭게 알게되네요
    감사합니다.
  32. 초보자바
    2021-12-02 완료
    변수의 데이터 타입과 이름과 함께 변수의 선언
    변수의 이름을 나의 의도에 맞게 설정함으로써 직관적으로 의도를 확인할 수 있게함
    casting을 통하여 데이터의 타입을 converting하는데 이때 데이터의 손실이 일어나는 경우에는 명시적으로 코딩해줘야하ㅣㅁ
  33. 김휘철
    잘 봤습니다~
  34. chalieya
    변수 이름을 직관적으로 알 수 있게 설정하는게 코드리뷰시 속도를 낼 수 있겠네요. 강의 감사합니다.
  35. syh712
    1. 해당 데이터가 정수/실수/문자열 등 어떤 타입인지 확인하고 처리하기 위해 데이터 타입을 지정한다.
    2. 해당 변수에 특정 데이터를 설정하는 것. 이후 변수의 설정을 조작함으로 결과물에서 출력될 데이터의 전체를 수정, 변경할 수 있다.
    3. casting은 정수 <> 실수 <> 문자열 등의 기존의 데이터 타입을 다른 데이터 타입으로 변환하는 것이다.
    +a: 회원가입 코드를 짠다고 할 때 이름은 String name, 아이디는 String id, 비밀번호는 int pw 로 입력할 수 있을 것이다.
  36. 2021-11-14
  37. 나자바바라
    2021. 11. 03.
  38. adol83
    compile 이 잘 됐다는 것은 선언된 변수의 data type 대로 변수 값이 잘 작성 됐다는 것을 의미
    > 변수가 선언 된 data type으로 잘 작성 됐는지 확인 할 필요 없음.
  39. 미루꾸우우
    2021.10.16
  40. won4175
    2021.10.06
  41. 가람
    211006
  42. 3초컷
    언어의 핵심은 익숙해지고 구사하는데 있다.
    문법을 모른다고 말을 못하는것이 아니다.
  43. 3초컷
    0930 9월의 마지막을 생활코딩과 함께..
  44. 주간식당메뉴
    21.09.27. 1. 해당 데이터가 정수/실수/문자열 등 어떤 타입인지 확인하고 처리하기 위해 데이터 타입을 지정한다.
    2. 해당 변수에 특정 데이터를 설정하는 것. 이후 변수의 설정을 조작함으로 결과물에서 출력될 데이터의 전체를 수정, 변경할 수 있다.
    3. casting은 정수 <> 실수 <> 문자열 등의 기존의 데이터 타입을 다른 데이터 타입으로 변환하는 것이다.
  45. 오수정
    2021.09.27 am 13:31
  46. 미NI언
    9.24 완료~
  47. esther
    Casting 데이터 타입을 바꿔주는 것
  48. esther
    코드는 내가 보고, 미래의 내가 보고, 나 아닌 누군가가 보기도 한다.
    변수의 사용하는 것은 이 변수의 사용 목적이 무엇인지 알 수 있기 때문에 코드를 보는 사람이 쉽게 코드를 이해할 수 있다는 것이다.
    회원가입 코드를 짠다고 할 때 이름은 String name, 아이디는 String id, 비밀번호는 int pw 로 입력할 수 있을 것이다.
  49. esther
    자바에서는 왜 변수의 데이터 타입을 지정하는가?
    데이터 타입이 지정되어 있으면 데이터를 입력할 때 해당 데이터 타입만 입력이 가능하므로
    나중에 데이터 타입을 따로 확인하지 않아도 된다는 장점이 있기 때문이다.
  50. 서울 2020년 가을
    2021.9.3
버전 관리
egoing
현재 버전
선택 버전
graphittie 자세히 보기