Java 2일차

소윤정·2021년 5월 21일
0

JAVA

목록 보기
1/15

전공이 컴퓨터학과이지만 자바에 대해 정확히 알고 있지 않아 국비지원으로 학원을 다니게 되었다. 그날 그날 무엇을 배웠는지에 대해 기록해보려구 글을 쓰게 되었다. 첫날은 오티와 프로그램 진행을 어떻게 할것인지에 대해 설명을 들어 수업을 딱히 하지 않았다. 오늘부터 본격적인 수업을 하게 되어 한번 적어보려 한다.

자바란?

  • 1990년대 자바는 c언어나 c++언어에 비해 속도가 많이 느려 개발자들에게 외면을 당하게 되었다.
    1995년 발표된 자바는 가전 제품에 사용될 목적으로 설계가 되었으며, 1999년 이후 인터넷이 보편화 되면서 웹 어플리케이션 개발 언어로 급 부상하게 되었다. 그 이유는 특정 운영체제에 종속적이지 않게 설계되었기 때문이다. 자바는 가상머신(JVM : Java Virtual Machine)이라는 방식을 두고 자바 프로그램이 여러 운영체제에서 동일한 실행 결과가 나오도록 설계되었다.

자바의 현재는

  • 2010년에 오라클이 썬 마이크로시스템즈를 인수하면서 저작권을 오라클이 소유하게 되었다. pc어플리케이션, 웹 어플리케이션, 각종 하드웨어 등 많은 분야에서 사용된다.

개발 환경 준비

  • 자바 프로그램을 실행하려면 자바 가상머신(JVM)이 필요하다.
  • 자바개발키트(JDK)를 설치하면 자바 실행 환경(JRE)가 자동으로 설치된다.
  1. JDK 설치
    자바 설치는 여기에서 다운 받으면된다.

  2. 환경 변수 설정

  • 자바 설치 폴더 디렉토리에는 javac.exe와 자바 프로그램을 실행시켜 주는 java.exe가 있다.
  • 실행 파일들은 어느 디렉토리에서나 실행할 수 있도록 환경변수를 설정해야 한다.
  • 내 PC → 속성 → 시스템 → 고급 시스템 설정 → 환경 변수 클릭 → 시스템 변수에서 새로 만들기 클릭 → 변수 이름 : JAVA_HOME, 변수 값 : C:\Program Files\Java\jdk-11.0.11 입력
  • 시스템 변수에서 Path에서 %JAVA_HOME%bin
  1. 설치 확인
  • cmd 명령어 입력 "명령 프롬프트"를 관리자 권한으로 실행
  • 명령 프롬프트에서 java--version을 실행하여 제대로 나오면 정상적으로 설치 된 것이다.

메모장에서 자바 프로그램 실행

  1. 자바 문법을 사용해서 프로그램 소스를 작성
  2. .java 확장명을 가진 파일로 저장
  3. javac.exe를 통해서 파일을 컴파일
  4. java.exe를 통해 파일을 실행
    - java 파일명(확장명 제외)
    ⇒ 이렇게도 실행할 수 있지만 과정이 너무 복잡하다는 단점이 있다.
    인텔리제이 프로그램을 설치하여 프로그램을 연습할 예정이다. :)

자바 프로그램 실행 과정

  1. 프로그램이 실행되면 JVM은 OS로부터 이 프로그램이 필요로 하는 메모리를 할당 받는다. JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리한다.
  2. 자바 컴파일러(javac)가 자바 소스 코드(.java)를 읽어들여 자바 바이트코드(.class)로 변환시킨다.
  3. class loader를 통해 class 파일들을 jvm으로 로딩한다.
  4. 로딩된 class 파일들은 Execution engine을 통해 해석된다.
  5. 해석된 바이트코드는 Runtime Data Areas에 배치되어 실질적인 수행이 이루어지게 된다.
    이러한 실행 과정 속에서 JVM은 필요에 따라 Thread Synchronization과 GC같은 관리 작업을 수행한다.

JVM(자바 가상머신)

  • 운영체제별로 자바 프로그램을 별도로 개발하는 것보다는 운영체제와 자바 프로그램을 중계하는 JVM을 두어 자바 프로그램이 여러 운영체제에서 동일한 실행 결과가 나오도록 설계되었다.

인텔리 제이 다운로드

인텔리제이 다운

주석 사용하기

  • 프로그램 실행과는 상관없이 코드에 설명을 붙이는 것을 말한다.
    ① // : //로부터 시작해서 라인 끝까지 주석으로 처리된다.
    ② /* / : /와 */ 사이에 있는 모든 범위를 주석으로 처리된다.
  • 문자열 안에는 사용할 수 없다.
public class Comment1 {
    public static void main(String[] args) {
        
        System.out.println("안녕하세요. Java!"); // 한줄 주석입니다.
    }
}

문장의 출력

  1. System.out.print()
    • 한 줄에 값을 출력
    • \n에 의해서 다음 줄에 값을 출력 가능
  2. System.out.prinln()
    • 한 줄에 값을 출력한 후 \n을 붙이지 않아도 알아서 줄바꿈이 된다.
public class Print1 {
    public static void main(String[] args) {
        System.out.print("안녕하세요."); // 한 줄로 출력
        System.out.print("자바!");
        System.out.print("\n");
        System.out.print("안녕하세요.\n"); // 두 줄로 출력
        System.out.print("자바!");
        System.out.println();
        System.out.println("안녕하세요."); // 두 줄로 출력
        System.out.println("자바!");
        System.out.println(10); // 숫자를 출력

    }
}

변수(Variable)

  • 하나의 값을 저장 할 수 있는 메모리 공간

변수 이름 작성 방법

  • 첫번째 글자는 문자이거나 "$", "_"이어야 한다.
  • 숫자로 시작할 수 없다.
  • 대소문자 구별해야 한다.
  • 문자수의 길이 제한은 없다.
  • 예약어는 사용할 수 없다.
  • 첫 문자는 영어 소문자로 시작, 다른 단어가 붙을 경우 첫문자는 대문자로 한다.
    ex) int lifeNum = 3;

변수의 선언

  • 타입 : 변수를 만들어낼 크기
    타입 변수이름;

변수의 초기화

변수 이름 = 값;

변수의 재대입

변수 이름 = 값;

기본 데이터 타입

구분데이터 형바이트 수
정수byte1 Byte
정수short2 Byte
정수int4 Byte
정수long8 Byte
실수float4 Byte
실수double8 Byte
문자char2 Byte
논리boolan
// 문자 예제
public class Variable3 {
    public static void main(String[] args) {
        char var1 = 'A'; // 문자를 저장할 경우에는 싱글따옴표('')를 사용해야 한다.
        char var2 = '가';
//        char var3 = 'ab'; // 두개 이상의 문자는 char에 저장되지 않음
        System.out.println(var1);
        System.out.println(var2);

        char var3 = 100;
        System.out.println(var3);
        /*
            아스키 코드
            - 숫자로 문자를 표현하기 위한 일종의 약속
            - 특수문자, 숫자, 문자에 번호를 부여해서 컴퓨터에서 처리하기 쉽도록 만든 방법
         */
    }
}

예제

Q. 국어 점수 : 90, 영어 점수 : 80, 수학 점수 : 70
위 점수의 총점과 평균을 구하는 프로그램을 작성해보자.
결과)
국어 점수 : 90점
영어 점수 : 80점
수학 점수 : 70점
총점 : 240점
평균 : 80점

public class Operator2 {
    public static void main(String[] args) {
        int kor = 90;
        int eng = 80;
        int math = 70;

        int total = kor + eng + math;
        int avg1 = total / 3;

        System.out.println("국어점수 : " + kor + "점");
        System.out.println("영어점수 : " + eng + "점");
        System.out.println("수학점수 : " + math + "점");
        System.out.println("총점 : " + total + "점");
        System.out.println("평균 : " + avg1 + "점");
    }
}

배운점

이렇게까지 오늘 배운것을 정리해보았다. 자바는 학교에서도 배웠던 부분이라 아직까진 할만 한것같다. 그래도 확실히 개념에 대해 정확히 알고 있다 생각했는데 확실하게 아는 것이 아니다 두루뭉실하게 알고 있는 것같아서 개념부터 정확히 짚고 가야할 것같다.

중요한 부분

JDK : 자바를 개발할 수 있는 환경
JRE : 자바 실행 환경
JVM : 자바를 돌아가게 하는 환경
↑ 오늘 수업시간 내내 이 세가지에 대해 강사님께서 계속 질문 하였지만 정확하게 대답을 하지 못했다ㅜ 정확한 개념에 대해 설명하려니 어렵,,ㅠㅡㅠ

0개의 댓글

관련 채용 정보