2023.03.13 : Java의 기초(개념, 자료형 기본)

이준영·2023년 3월 13일
0

프로그램 언어

  1. 컴파일 언어 : 소스 -> 컴파일 -> 실행파일 -> 실행 (소스와 실행파일이 분리)
    실행 속도가 빠르다. --> 산업적인 언어
    c / c++ / java
  1. 스크립트 언어 : 소스 -> 실행
    코딩이 편리하다. --> 교육적인 언어
    javascript / python

    c- 실행속도 가장 빠름 (os의 핵심 라이브러리)
    java - c보다 개발 속도 빠름(편리) (lts 지원해주는 것으로 쓰기)
    python - 데이터 분석, 통계


    java의 버전 = jdk 버전 이라고생각



JDK(Java Development Kit)

개발 분야에 따라
java se - core / (설치버전)
java ee - 기업용 기능 추가 ( se + 라이브러리 하면 ee가 돤다)
java me(embeded) - 마이크로, 모바일 에디션, 경량 버전

JDK 설치 후 그에 맞는 환경변수 해줘야 한다.

JDK - oracle(꼭 오라클만이 구성하는 것은 아니다)
선 마이크로시스템즈 (open soruce)
oracle JDK
Open JDK - https://openjdk.org 참고

cmd에서 java / javac -version 치고 자바 버전 확인
echo %JAVA_HOME% 치고 환경 설정 정보 확인



JDK / JRE / JVM

jdk

자바 개발 툴(jre, jvm이 전부 포함되어 있다), 자바 컴파일러를 포함하고 있음

jre

자바 클래스 로더, 클래스 라이브러리, JVM을 포함함
컴파일러된 클래스 파일을 클래스 로더, 클래스 라이브러리를 통해 라이브러리와 결합한 후 JVM에 넘겨 실행

jvm

jvm으로 인하여 어떠한 운영체제에서도 사용할 수 있다는 장점을 가짐(운영체제에 독립되어 어디서든 잘 구동됨)

전체적으로 설명하면 JDK에 있는 컴파일러로 인하여 소스 파일을 컴파일하여 클래스 파일로 만들고 JRE에 있는 클래스 로더, 라이브러리와 결합하여 JVM에 넘겨 JVM이 기계어로 변환 후 운영체제에 알맞게 실행할 수 있도록 해준다!



소스

  • 메모장(사용하기 불편)
  • Visual Studio Code
  • IDE(Integrated Development Environment) - 자바 알아야 사용가능
    eclipse(전통적으로 많이 쓰던 것), 전자정부프레임워크(교육 신청하면 수료증 주니 참고)
    intellij(최신) , 안드로이드 개발



자바 실행 절차 or 소스코드 작성시 주의 사항 중요!!! 외우기

자바 컴파일 / 실행 절차

자바 소스코드 작성 시 주의사항

  1. public이 붙은 class는 하나의 소스 파일에 하나만 존재한다.

  2. public class가 있다면 소스 파일의 이름은 class 이름과 같아야 한다.

  3. 대/소문자 구별하여 작성

  4. 문장의 끝 세미콜론

  5. {}로 영역표시(중첩 가능)




Java



cmd에서의 자바 파일 컴파일러 / 실행

기본적으로 컴파일 과정에서 에러가 나면 에러구문이 뜨고 class가 생성이 안되지만, 그렇지 않다면 정상적으로 class파일이 자동 생성된다.
주의 - 소스를 건드리면(수정하면) 컴파일부터 다시 하고 실행하는 과정 거쳐야 함!
컴파일 - javac 파일명.java / (주석이 있을 경우) javac -encoding utf-8 파일명.java
실행 - java 파일명

주석을 쓰면 윈도우에서 한글을 잡지 못하는데 이 경우를 보완하기 위해 써주는 문구(주석이 있다면 이렇게 컴파일 하기)



출력 (println / print / printf)

System.out.println - 출력하고 엔터
System.out.prints - 엔터 없이 출력
System.out.printf - %s 문자열 / %d 숫자 / \n 엔터키 등 이용하여 출력

public class PrintEx01 {
    public static void main(String[] args) {
        //출력 - ln(출력하고 엔터)
        System.out.println("Hello Print");
        System.out.println("Hello Print");
        System.out.println("Hello Print");

        //그냥print(엔터 없이 붙어서 나옴)
        System.out.print("Hello Print");
        System.out.print("Hello Print");
        System.out.print("Hello Print");
        
        // %s 문자열 / %d 숫자 / \n(%n) 엔터키
        System.out.println();      --> 엔터
        System.out.printf("%s %s\n", "Hello", "World");   
        System.out.printf("%d %d\n", 10, 20);        
    }
}



자료형 (기본 자료형(소문자) - 불린, 정수, 실수, 논리, 문자 등 / 참조 자료형(앞 대문자) - 객체, String 등)



선언 방법

변수 선언 방법 - 자료형 변수명

상수 선언 방법 - final 자료형 변수명 ( 값 변경 x)

public class VariableEx01 {
    public static void main(String[] args) {
        //변수의 선언
        int num1;
        //변수의 초기화
        num1 = 10;
        //변수의 사용
        System.out.println(num1);

        //선언과 동시에 초기화
        int num2 = 20;
        System.out.println(num2);

        int num3 = 30, num4 = 50;
        System.out.println(num4);
        System.out.println(num3);

    }
}

초기화 제대로 안 됐을 때 발생하는 오류

상수의 값을 변경하려고 했을 때 발생하는 오류




문자

char - 문자(1자) - ' ' --> 기본 자료형
String 문자열(여러자) - " " --> 객체 자료형

public class VariableEx04 {
    public static void main(String[] args) {
        // char - 문자(1자) - ''
        // String 문자열(여러자) - ""
        char c1 = 'a';
        char c2 = 'b';
        System.out.println(c1);
        System.out.println(c2);

        //ascii(아스키코드) - 영문자, 숫자, 특수기호
        char c3 = 97;
        System.out.println(c3);  //아스키 코드 값 출력(97==a)

        //다국어(한국어 일본어 등) - 유니코드 사용
        char c4 = '\uc790';
        System.out.println(c4);
        
		//특수문자 - \n 엔터 , \t tab  등등
        char e1 = 'a';
        char e2 = '\t';
        char e3 = 'd';
        System.out.print(e1);
        System.out.print(e2);
        System.out.print(e3);

       
    }
}




문자열

public class VariableEx05 {
    public static void main(String[] args) {
        //문자 , 문자열
        String str1 = "Hello";
        System.out.print(str1);
    }
}




숫자형

정수형(byte, short, int, long)
실수형(float, double)
진수(2, 8, 16 진수)

public class VariableEx06 {
    public static void main(String[] args) {
        //숫자 : 정수형(byte, short, int, long) / 실수형(float, double)
        int i = 1;
        System.out.println(i);
        byte b = 1;
        short s = 1;
        long l = 1L;  (L을 붙여 long타입 표시)
        System.out.println(b);
        System.out.println(s);
        System.out.println(l);     --> 다 1 출력

        //진수
        int i2 = 0b1010;  --> 2진수
        int i8 = 030;   -->8진수
        int i16 = 0XA4;  -->16진수

        System.out.println(i2);
        System.out.println(i8);
        System.out.println(i16);
     
        //큰수 (너무 크면 세자리씩 기준으로 언더바 사용해도 된다)
        int bint1 = 1000000;
        int bint2 = 1_000_000;
        System.out.println(bint1);
        System.out.println(bint2);
    }
}

프로젝트
기획 - 문서로 제출(ppt)
3개월 프로젝트 예시 - 1달 반(기획) / 순수 코딩(1달) / 완료 보고서(반달)

작은 페이지 만드는 법 (모바일 용)

웹 브라우저를 모바일 비율에 맞게 만들어주는 코드

    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
profile
끄적끄적

0개의 댓글