[Java] 기초1

김민우·2023년 2월 23일
0

목차

  • Hello World! 출력
  • 변수
  • 자료형
  • 조건문, 반복문
  • 배열
  • 클래스

Hello World 출력

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello world!"); //10초 걸림
        System.out.println("Hello world!"); //10~12초
        System.out.println("출력하고자 하는 문자"); 
    }
}

System.out.print() → 시스템의 표준 출력을 의미하는 함수

System.out.println() → System.out.print() + 줄바꿈 기능

  • 명령어는 위에서 아래로 순차적으로 실행된다.
  • 들여쓰기 규칙은 나를 감싸는 중괄호가 1개 들어갈 때마다 space 4개이다.
  • 중간에 들여쓰기 꼬이면 자동 들여쓰기 하면 된다. → key map 설정 건드리지 않았다면 Ctrl + ALT + Shift + L

변수

  • 변수는 일종의 저장공간이다.
int x = 5; // → x 는 변수
int y = 10 + x; // → 여기서 x는 값일 뿐이다.
System.out.println(y + 5); //결과는 → 15;

/*
"="을 기준으로 좌측에 있으면 변수 우측에 있으면 값이다.
같은 공간 내에서 같은 변수명을 사용할 수 없다.
변수명을 지을때 숫자가 앞에 들어가면 안된다.
*/

자료형

→ 크게 2가지 자료형이 존재한다.

기본형

  • boolean(1 byte) → true, false
  • char(2 byte)
  • byte(1 byte), short(2 byte), int(4 byte), long(8 byte)
  • float(4 byte), double(8 byte)

참조형 → 주소값이 들어있다.

  • 기본형을 제외한 모든 자료형
  • ex) String 등등

조건문, 반복문(if, while, for)

→ 조건이 참이여야지 실행한다.

조건 판별과 논리 연산자

Untitled

if문

class Main {
    public static void main(String[] args) {

        int a = 30;

        if(a > 30) {
            System.out.println("참 실행");
        }else{
            System.out.println("거짓 실행안함");
        }
    }
}

if-else문

class Main {
    public static void main(String[] args) {

        int a = 30;

        if(a > 30) {
            System.out.println("숫자가 30보다 크다.");
        }else if(a > 15){
            System.out.println("숫자가 16 ~ 30 입니다.");
        }else{
            System.out.println("숫자가 14보다 작습니다.");
        }
    }
}

while문

class Main {
    public static void main(String[] args) {

        //while문을 이용해서 10~1 까지의 합 구하기
        int i=10;
        int sum =0;

				//while(조건){}
        while(i > 0){
            sum = sum + i;

						//i값은 감소 시키지 않으면 무한루프가 돌게된다.
						//i를 감소시키지 않으면 while문을 벗어나지 못한다.
            i--; //감소 연산
        }
        System.out.println(sum);
    }
}

for문

class Main {
    public static void main(String[] args) {
        int sum =0;

				//for(초기값; 조건; 증감){}
        for(int i=1; i<=10; i++){
            sum += i;
        }
        System.out.println(sum);
    }
}

배열

메모리 이야기

→ 지역변수는 Stack이라는 메모리 공간에 생성되고 객체(인스턴스)는 Heap 메모리 공간에 생긴다.

int a = 5;
int[] b = new int[3];
  • a,b 는 모두 지역이기 때문에 Stack에 생성된다.
  • but int[] 타입의 변수는 참조형 변수이다. 즉, 객체이다. 따라서 Heap에 int[3]이 생성된다. b는 int[3]을 가르키게 된다.
  • Stack 메모리에는 arr은 4바이트
  • Heap 메모리에는 arr이 가리키고 있는 heap에는 4x3 byte이다.

그러면 변수는 언제 사라지는가?

  • 지역변수가 → 함수가 종료되면 사라진다.
  • 객체는 언제 사라지는가? → 아무도 자신을 가리키는 것이 없을 때 가비지 콜렉터가 해당 변수를 없앤다.

간단한 용어 정리

  • 객체 = 인스턴스 or 객체 변수 = 인스턴스 변수
  • 클래스 = 설계도

0개의 댓글