혼자 공부하는 자바 - 1, 2장

youngtae·2023년 3월 25일
0

자바 이론

목록 보기
1/12
post-thumbnail

자바 소개

  • 웹사이트 개발 핵심 언어
  • 컴파일 언어
  • 객체 지향 프로그래밍
  • 메모리 자동 정리
  • 설치
    • 오라클 홈페이지 - jdk 다운 or Zulu 홈페이지 다운
    • 환경변수 등록 JAVA_HOME
    • 환경변수 수정 Path
    • 명령 프롬프트에서 확인
  • JVM
    • 자바 바이트코드(기계어 전단계)를 실행할 수 있는 주체
    • 자바 바이트코드는 플랫폼에 독립적이며 모든 JVM은 자바 가상머신 규격에 정의된대로 실행
    • javac 명령어로 컴파일된 바이트 코드 파일은 jdk가 설치된 어떠한 운영체제에서도 java 명령어로 동일하게 실행

자바 프로그램

  • 확장자명이 .java인 파일 생성하고 코드 작성
  • javac 명령어로 컴파일
  • .class 바이트 코드 파일 생성
  • java 명령어로 실행

main method

  • 실행 명령인 java를 실행 시 가장 먼저 호출 되는 부분
  • 만약 Application에서 main() 메소드가 없다면 절대로 실행 될 수 없음
  • Application의 시작 → 특정 클래스의 main() 실행
  • 형태
    • public static void main(String[] args){ }: 메소드 선언

주석

  • //내용: 해당 기호가 있는 위치부터 그 줄 끝까지 주석처리
  • / 내용 / : 해당 범위의 내용 주석처리
  • /* 내용 /: Documentation API를 위한 주석처리

출력문

  • print : 문자열 그대로 출력
  • println : “문자열” + “\n” , 개행문자 추가
  • printf : 형식지정자 사용, 형식 갖춰서 출력
    • %d : 정수, %f : 실수, %c : 문자, %s : 문자

      package day01;
      
      public class Test03_print {
      	public static void main(String[] args) {
      		System.out.print("Hello Great!\n");
      		System.out.println("\\");  // 역슬래시 출력
      		System.out.println("\"");
      		System.out.printf("%d\n", 10); // 정수 출력
      		System.out.printf("%4d\n", 10); // 왼쪽에 공백 4칸
      		System.out.printf("%-4d\n", 10); // 오른쪽에 공백 4칸
      		System.out.printf("%04d\n", 10); // 왼쪽에 0 4칸
      		System.out.printf("%f\n", 10.1); // 실수 출력
      		System.out.printf("%f\n", 10.12345678); // 실수는 소수점 6째까지
      		System.out.printf("%.2f\n", 10.12345678); // 소수점 둘째자리까지
      	// % [값의 순번][flasgs][width][.precision] conversion
       // flags : 생략되면 왼쪽 공백, - 면 오른쪽 공백, 0이면 공백대신 0으로 채우기
      	}
      }
      /*
      Hello Great!
      \
      "
      10
        10
      10  
      0010
      10.100000
      10.123457
      10.12
      */
  • 이스케이프 문자() :
    • \t : 탭만큼 띄움, \n : 줄 바꿈, \r : 캐리지리턴, \” : “출력
  • 입력내용 저장
int keyCode = System. + in. + read();  // 키코드를 하나씩 읽어서 문자열 못 읽음

Scanner scanner = new Scanner(System.in);
// scanner 변수선언 = 입력장치로부터 읽는 scanner 생성
String inputData = scanner.nextLine();
// string 변수선언 = 엔터키 이전까지 입력된 문자열 읽음

변수와 자료형

변수

  • 데이터를 저장할 메모리의 위치를 나타내는 이름
  • 메모리 상에 데이터를 보관할 수 있는 공간을 확보
  • 적절한 메모리 공간을 확보하기 위해서 변수의 타입 등장
  • ‘=’ 을 통해서 CPU에게 연산작업 의뢰

변수 규칙

  • 대소문자 구분
  • 예약어( 자바문법에 지정된 단어) 사용x
  • $, _ 사용가능
  • 공백 허용 x
  • 숫자로 시작 x

메모리 단위

  • 0 과 1을 표현하는 bit
  • 8 bit = 1 byte

자료형

  • 기본 자료형 (Primitive Type)
    • long 타입 뒤에는 L붙여서 표시, long a = 3000000000L;
    • char 타입: 작은 따옴표로 감싸기, 문자 리터럴
      • 유니코드로 변환되어 저장
      • 변환되어 저장되기 때문에 int 타입 변수에도 저장 가능
        ex) int var = ‘A’ // 65 저장됨
    • String 타입: 큰 따옴표로 감싼 문자열, 기본타입 x, 클래스 타입
    • 정수연산 결과는 항상 정수이므로 실수로 반환하려면 실수형 변수로 지정해야함
    • e 로 지수 표현 5e2 : 5 * 10^2
    • 실수 리터럴을 기본적으로 double 타입으로 해석해서 double 타입 변수에 저장
    • float으로 저장하려면 리터럴 뒤에 F 붙여야 함
  • 참조 자료형 (Reference Type)
    • 기본 자료형 제외 나머지들
  • 문자열을 기본타입으로 강제 타입 변환
    //String -> int
    String str = "300000";
    int value = Integer.parseInt(str);
    
    //String -> double
    String str = "12.345";
    double value = Double.parseDouble(str);
    
    //문자열이 숫자 아닌 다른 타입 포함하면
    // NumberFormatException 에러 발생
    String str = "1a";
    int value = Integer.parseInt(str);
    
    //기본타입 값을 문자열로 변환
    String str = String.valueOf(기본타입값); // "3"

변수 선언

  • 자료형 변수명;
  • ex) int age; , String name;(참조형)

저장

  • 변수명 = 저장할 값;
  • ex) age = 30; name = “철수”;

초기화

  • 자료형 변수명 = 저장할 값;
  • ex) int age = 30;

형 변환

  • 묵시적 형 변환
    - 범위가 넓은 데이터 형에 좁은 데이터형을 대입
    - ex) byte b = 100; int i = b;
  • 명시적 형 변환
    • 범위가 좁은 데이터 형에 넓은 데이터 형 대입
    • 형 변환 연산자 사용 - (타입) 값;
    • ex) int i = 100; byte b = i; (X) byte b = (byte) i; (O)
profile
나의 개발기록

0개의 댓글