• Variables

    2021. 7. 15.

    by. JuneBee

    728x90
    ๋ฐ˜์‘ํ˜•

    1. ์ƒ์ˆ˜

    (1) ์ •์˜

    ์ƒ์ˆ˜๋Š” ํ•œ๋ฒˆ ์ €์žฅํ•œ ๋ฐ์ดํ„ฐ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค

    format: final datatype VARNAME;

    public static void main(String[] args){
    //๋ณ€์ˆ˜
    int age = 30;
    String name = June;
    /*age = 20; ๋กœ ์ˆ˜์ • ๊ฐ€๋Šฅ*/
    //์ƒ์ˆ˜
    final int NUMBEROFPEOPLE=10;
    final String GROUPNAME="School";
    /*NUMBEROFPEOPLE = 20;๋กœ ์ˆ˜์ • ๋ถˆ๊ฐ€๋Šฅ*/
    }

     

    2. ๋ณ€์ˆ˜

    (1) ์ •์˜

    ๊ฐ’(data)์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„

    ๊ฐ’์ด ๋ณ€ํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋กœ, ์ปดํŒŒ์ผ ๋  ์‹œ ๋ณ€์ˆ˜ ํƒ€์ž…์ด ๊ฒฐ์ •๋œ๋‹ค.

     

    (2) ๊ทœ์น™

    ใ…‡ Camel Case

    ใ…‡ ์ˆซ์ž๋กœ ์‹œ์ž‘ ๋ถˆ๊ฐ€๋Šฅ(์ˆซ์ž๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅ)

    ใ…‡ ์ฒซ ๋ ˆํ„ฐ๋Š” ์†Œ๋ฌธ์ž

    ใ…‡ Reserved words ์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅ [ex. abstract, try, void, null, static ... ]

     

    (3) ๊ธฐ๋ณธํ˜• ํƒ€์ž…(Data Type)

    ๊ธฐ๋ณธํ˜• ํƒ€์ž…์€ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ด ๋˜๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์œผ๋กœ์จ ์ •์ˆ˜ํ˜•, ์‹ค์ˆ˜ํ˜•, ๋ฌธ์žํ˜•, ๋ถˆ๋ฆฌ์–ธํ˜•์„ ์˜๋ฏธํ•œ๋‹ค

    ํ‘œํ˜„ ํ˜•ํƒœ ๋ฐ์ดํ„ฐ ํƒ€์ž… Byte
    ๋…ผ๋ฆฌํ˜• boolean 1
    ๋ฌธ์žํ˜• char 2
    ์ •์ˆ˜ byte 1
    short 2
    int 4
    long 8
    ์‹ค์ˆ˜ float 4
    double 8

    (4) ์‚ฐ์ˆ ์—ฐ์‚ฐ์ž

    1) ์—ฐ์‚ฐ: ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ์‚ฐ์ถœํ•˜๋Š” ๊ฒƒ

      2) ์—ฐ์‚ฐ์ž

          a. ๋ถ€ํ˜ธ ์—ฐ์‚ฐ์ž: +,-

          b. ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž: +,-,/,*,%

          c. ์ฆ๊ฐ ์—ฐ์‚ฐ์ž: ++, --

      3) ์—ฐ์‚ฐ์‹: ์—ฐ์‚ฐ์ž์™€ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉํ•˜์—ฌ ์—ฐ์‚ฐ์˜ ๊ณผ์ •์„ ๊ธฐ์ˆ ํ•œ ๊ฒƒ

          x = y + z;

           x: ํ”ผ์—ฐ์‚ฐ์ž(operand) - ์—ฐ์‚ฐ์˜ ๋Œ€์ƒ์ด ๋˜๋Š” ๋ฐ์ดํ„ฐ(๋ฆฌํ„ฐ๋Ÿด(๊ฐ’), ๋ณ€์ˆ˜)

           = , + :์—ฐ์‚ฐ์ž 

    void ์‚ฐ์ˆ ์—ฐ์‚ฐ์ž(){
    /*
    ์‚ฐ์ˆ ์—ฐ์‚ฐ์ž์˜ ๊ทœ์น™:
    (int ๋ณด๋‹ค ๊ฐ™๊ฑฐ๋‚˜ ์ž‘์€ ํƒ€์ž…์˜ ์‚ฐ์ˆ ์—ฐ์‚ฐ์ž) ์‚ฐ์ˆ ์—ฐ์‚ฐ์ž (int ๋ณด๋‹ค ๊ฐ™๊ฑฐ๋‚˜ ์ž‘์€ ํƒ€์ž…) => int
    byte(1), char(2), short(2), int(4)
    */
    System.out.print('a'+ 1);
    /*ํ’€์ด:์‚ฐ์ˆ ์—ฐ์‚ฐ์ž + ๊ฐ€ ์“ฐ์˜€์œผ๋ฉฐ, char์€ int ๋ณด๋‹ค ์ž‘์€ ํƒ€์ž…์ด๋ฉฐ 1์€ int ์ด๋‹ค
    ๋”ฐ๋ผ์„œ ๊ณต์‹์„ ์ฐธ์กฐํ•ด๋ณด๋ฉด,
    char + int => int ๋”ฐ๋ผ์„œ ๊ฒฐ๊ณผ๊ฐ’์€ int ํƒ€์ž…์ด๋‹ค
    'a' ์˜ int ๊ฐ’์€ 97 ์ด๋ฏ€๋กœ ๋‹ต์€ 98์ด ๋œ๋‹ค
    */
    System.out.println('a'+'1');
    /*ํ’€์ด: ๋ณธ์ธ์ด ํ—ท๊ฐˆ๋ ธ๋˜ ๋ฌธ์ œ
    ์ด ์—ญ์‹œ ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž + ๊ฐ€ ์“ฐ์˜€์œผ๋ฏ€๋กœ ๊ฒฐ๊ณผ๊ฐ’์ด int์ธ์ง€ ํ™•์ธํ•ด๋ณด์ž
    char ์€ int ๋ณด๋‹ค ์ž‘๋‹ค. ๋”ฐ๋ผ์„œ char + char = > ์—ฌ์ „ํžˆ int ๊ฐ’์„ ๋ฆฌํ„ดํ•  ๊ฒƒ์ด๋‹ค
    ๋”ฐ๋ผ์„œ, ๋‹ต์€ a1์ด ์•„๋‹ˆ๋ผ 97 + 49 = 146์ด ๋œ๋‹ค
    */
    }

     

    (5) ํƒ€์ž…๋ณ€ํ™˜

    (์ •์ˆ˜) byte < short, char < int < long <
    (์‹ค์ˆ˜) float < double

       1) ๋ฌต์‹œ์  ํ˜•๋ณ€ํ™˜

            ์ž‘์€ ํƒ€์ž… -> ํฐํƒ€์ž…

       2) ๋ช…์‹œ์  ํ˜•๋ณ€ํ™˜

           ํฐํƒ€์ž… -> ์ž‘์€ ํƒ€์ž… : "๊ฐ•์ œ ํ˜•๋ณ€ํ™˜"

    void ํ˜•๋ณ€ํ™˜(){
    System.out.print(5/2);
    /*๋‹ต: 2
    */
    System.out.println((double)5/2);
    /*ํ’€์ด:
    (double)5 = 5.0
    5.0 / 2 = 2.0
    */
    System.out.println((double)(5/2));
    /*ํ’€์ด:
    (double) (5/2 = 2)
    (double) 2 = 2.0
    */
    //๋ฐฐ์ •์—ฐ์‚ฐ
    int x = 100*100;
    if ( x> 100 ){
    x = x*0.9; //์˜ค๋ฅ˜ ๋ฐœ์ƒ
    /*์ด์œ : x = x*0.9 ๋Š” int = int * double
    ์ฆ‰ ์ž‘์€ ํƒ€์ž…์—์„œ ํฐ ํƒ€์ž…์œผ๋กœ declareํ•˜๋Š” ์ค‘์ด๋‹ค
    ๋”ฐ๋ผ์„œ ํ˜• ๋ณ€ํ™˜์ด ํ•„์š”ํ•˜๋‹ค. ex) x = (int)(x*0.9);
    ๋˜ํ•œ, ์œ„์˜ ์ฝ”๋“œ๋ฅผ ๊ทธ๋Œ€๋กœ ๋‚˜ํƒ€๋‚ด๋Š”๊ฒƒ์ด ๋ฐฐ์ •์—ฐ์‚ฐ์ด๋‹ค
    ๋ฐฐ์ • ์—ฐ์‚ฐ์€ ํ˜•๋ณ€ํ™˜์„ ์ž๋™์œผ๋กœ ๊ตฌํ˜„ํ•ด์ฃผ์–ด์„œ ๋”ฐ๋กœ ํƒ€์ž…์บ์ŠคํŒ…์€ ํ•„์š” ์—†๋‹ค*/
    x*=0.9;
    }
    }

     

    (3) ๋ณ€์ˆ˜์˜ ๋ฒ”์œ„

    ๋ณ€์ˆ˜๋Š” ๋งด๋ฒ„ ๋ณ€์ˆ˜์™€ ๋กœ์ปฌ ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋‹ค

    1) ๋งด๋ฒ„ ๋ณ€์ˆ˜: ํด๋ž˜์Šค ๋ณ€์ˆ˜๋ผ๊ณ ๋„ ํ•˜๋ฉฐ, ๋ฉ”์„œ๋“œ ๋ฐ–์— ์„ ์–ธ๋˜๋Š” ๋ณ€์ˆ˜์ด๋‹ค. 

    2) ๋กœ์ปฌ ๋ณ€์ˆ˜: ๋ฉ”์„œ๋“œ ์•ˆ์— ์„ ์–ธ๋˜๋Š” ๋ณ€์ˆ˜๋กœ ์ง€์—ญ๋ณ€์ˆ˜์˜ ๋ฒ”์œ„๋Š” ๋ธ”๋ก ๋‹จ์œ„์ด๋‹ค

    -> main method๋Š” static์ด๊ธฐ ๋•Œ๋ฌธ์—, ๋งด๋ฒ„ ๋ณ€์ˆ˜๋ผ ํ• ์ง€๋ผ๋„ static type์ด ์•„๋‹ˆ๋ผ๋ฉด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์„œ ๋ถˆ๋Ÿฌ์•ผ ํ•œ๋‹ค

    ๊ทธ๋Ÿผ ์ฃ„๋‹ค static์„ ์“ฐ์ง€ ์™œ ํ—ท๊ฐˆ๋ฆฌ๊ฒŒ ์ป๋‹ค ์•ˆ์ป๋‹ค ํ•˜๋Š”๊ฐ€? (๋‚ด๊ฐ€ ์ฒ˜์Œ ์ž๋ฐ” ์ฝ”๋”ฉํ• ๋•Œ ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ์˜๋ฌธ...)

    public class Vehicle{ static int wheelCount;}
    public class Test{
    public static void main(String[] args){
    Vehicle car = new Vehicle();
    Vehivle bike = new Vehicle();
    car.wheelCount = 4;
    bike.wheelCount = 2;
    System.out.println(car, bike);
    /*
    ๊ฒฐ๊ณผ๋Š” ๋‘˜ ๋‹ค 2 ์™€ 2 ๋ฅผ ๋ฐ”ํ€ด์ˆ˜๋กœ ๊ฐ–๋Š”๋‹ค.
    Vehicle ํด๋ž˜์Šค์˜ wheelCount ๋ณ€์ˆ˜๊ฐ€ static์ด๊ธฐ ๋•Œ๋ฌธ์—, bike์˜ wheelCount๋ฅผ ์ดˆ๊ธฐํ™”
    ์‹œํ‚ฌ ๋•Œ, wheelCount๊ฐ€ 2๋กœ ์ดˆ๊ธฐํ™” ๋˜๋ฉด์„œ car ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋˜ wheelCount๊ฐ’๋„ 2๊ฐ€ ๋˜๋Š”
    ๊ฒƒ์ด๋‹ค
    */
    }
    }

    ๋งด๋ฒ„ ๋ณ€์ˆ˜์˜ ๋ฐ์ดํ„ฐ๋Š” ํด๋ž˜์Šค์—๋ฆฌ์–ด์—, ๋กœ์ปฌ ๋ณ€์ˆ˜/non-static ์˜ ๋ฐ์ดํ„ฐ๋Š” ํž™์— ์ €์žฅ์ด ๋œ๋‹ค.

    ๋˜ํ•œ, ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์„ฑ์„ ์œ„ํ•ด d.breed(); ๋ณด๋‹ค๋Š” Dog.breed();์‚ฌ์šฉ์ด ๊ถŒ์žฅ๋œ๋‹ค. Dog.breed(); ๋Š” ๋ฐ”๋กœ breed ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐ˜๋ฉด, d.breed();๋Š” d->dog->breed ๋กœ ๋ฒˆ๊ฑฐ๋กญ๋‹ค.

    class Dog{
    String breed;
    static String name;
    }
    class Test{
    public static void main(String[] args){
    Dog d = new Dog();
    }
    public void test(){
    Dog d = new Dog();
    d.breed = "boxer";
    }
    }

    ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ static ๋ณ€์ˆ˜์˜ ์œ„์น˜, ๋กœ์ปฌ ๋ณ€์ˆ˜์˜ ์œ„์น˜, ์ดˆ๊ธฐํ™” ์œ„์น˜ํ™•์ธํ•˜๊ธฐ

    728x90
    ๋ฐ˜์‘ํ˜•

    '๐Ÿ““ STUDY > JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

    ์ถ”์ƒํ™”  (0) 2022.05.17
    ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ  (1) 2022.05.17
    Class Case Exception  (0) 2022.05.17
    JAVA Basics  (0) 2022.05.12
    ๋‹ค์ง  (0) 2021.07.15

    ๋Œ“๊ธ€