생활코딩

Coding Everybody

코스 전체목록

닫기

변수

수업소개

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

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

 

 

 

강의 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. 태봉이
    20230202
  2. 민돌아빠
    1. 실제 팀단위에서 개발할때는 자료형을 제대로 인지하지 못해서 나는 에러가 허다하므로, 자바에서는 명확하게 형 구분을 하는거 같고요.

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

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

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

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

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

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

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

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

    *검색하는 능력을 키우기
  28. 주댕주
    22.05.22_뷴수~~~ 완료!!!
  29. 코딩뿌셔본다
    ~변수에 대해~
    // 이번에는 '변수'라고 하는 것에 대해 배워본다! 변수란 '그 값이 변할 수 있는 문자'를 뜻한다.
    // 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 기술을 쓴다.
  30. 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 정수를 문자열으로 컨버팅
  31. 낙타
    22/5/13
  32. rocdksl
    2022. 05. 07완료
  33. 육도
    2022.04.26 완료
  34. 22.04.04
  35. 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)과 같은 원리로 작동함.
  36. 어라랍스타
    2022.03.28

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

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

    감사합나다
  48. 마법사신부
    감사합니다!
  49. 카멜리안_최유리
    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() 데이터 타입 확인
  50. Daniel
    감동입니다. casting도 어렵다고 하셨지만, 설명을 너무 잘 해주셔서 이해가 쏙쏙되네요. 감사합니다.
버전 관리
egoing
현재 버전
선택 버전
graphittie 자세히 보기