본문 바로가기
부트캠프/백

10.31 (월) 자바 기초

by 티코딩 2022. 11. 1.

ㅇ 자바의 특징

1.운영체제에 독립적

2.객체지향 언어

3.함수형 프로그래밍 지원

4.자동 메모리 관리

 

ㅇJVM(Java Virtual Machine)

자바는 컴파일러를 통해 기계어로 변환되는 언어이므로, 자바언어를 JVM이 이해할 수 있는 코드로 변환함. JVM은 자바 프로그램을 실행시키는 도구이다. 운영체제에 독립적인 이유도 JVM때문이다. 독립적이기 떄문에 느린편이다.

 

ㅇJDK(Java Development Kit)

JRE : JVM + 표준 클래스 라이브러리

JDK : JRE + 개발에 필요한 도구

 

ㅇ public class Main{ ... }

접근 허용범위가 public인 Main이라는 클래스를 정의하겠다.

 

ㅇ 메서드 정의

반환타입 메서드이름(매개변수_타입 매개변수_이름){

  메서드 바디

}

메서드란, 어떤 기능을 수행하기 위한 코드들을 묶어놓은 것이다. 여기에 어떤 기능을 수행한다.

 

ㅇ 변수

값이 변할 수 있는 데이터를 임시적으로 저장하기 위한 수단. 선언과 동시에 초기화 가능.

ex) int i = 3;

 

ㅇ 타입

값이 차지하는 메모리 공간의 크기, 값이 저장되는 방식

기본타입(정수타입, 실수타입, 문자타입, 논리타입), 참조타입(주소값이 저장됨.)

int primitive = 1;

Object reference = new Object();

System.out.print(primitive);

System.out.print(reference);

 

- - - - - - - - - - - - - - - - - - - - - - -

1

java.langObject@626b2d4a(객체의 주소값)

 

ㅇ 리터럴

int num = 1; 여기서 1이 바로 리터럴임. 값이라는 표현 대신 리터럴이라는 표현사용.

float 타입 변수에 리터럴 뒤에 f를 붙히기, long타입 변수 리터럴에 L붙히기

 

ㅇ 정수타입

byte 1tybe - 2^7

short 2byte — 2^15

int 4byte — 2^31

long 8byte — 2^63

 

ㅇ 실수타입

float 4byte — 7자리

double 8byte — 15자리

 

ㅇ 논리타입

boolean — true, false

1byte

 

ㅇ 문자타입

char 2byte

문자형 리터럴은 무조건 작은따옴표 사용함.  유니코드문자 저장

 

ㅇ 타입변환

boolean 제외한 기본 타입 7개는 타입변환가능.

자동 타입 변환 = 바이트 크기가 작은 타입에서 큰타입으로

수동 타입 변환 = 메모리 용량이 큰 타입에서 작은타입으로는 수동으로 해야함. 캐스팅이라고 함.

캐스팅 예)

int int Value = 128;

byte byteValue = (byte)intValue;

 

ㅇ 문자열

문자열은 타입과는 다르게 String 클래스 타입을 사용함. 클래스는 그 자체로 타입으로 사용될 수 있으며, 연관된 기능을 묶을 수 있다.

String 클래스의 메서드를 사용할 수 있다.

 

ㅇ String클래스의 메서드

1.charAt() - 해당 문자열의 특정 인덱스에 해당하는 문자를 반환함.

2.compareTo() - 인수로 전달된 문자열과 비교함. 같으면O, 작으면 음수, 크면 양수반환

3.concat() - 문자열의 뒤에 인수로 전달된 문자열을 추가한 새로운 문자열을 반환함.

4.indexOf() - 해당 문자열에서 특정 문자나 문자열이 처음으로 등장하는 위치의 인덱스 반환

5.trim() - 문자열의 맨앞과 맨 뒤에 포함된 모든 공백 문자를 제거해 줌

6.toLowerCase(), toUpperCase() - 모든 문자를 소문자로, 대문자로 변환

7.StringTokenizer - 문자열을 우리가 지정한 구분자로 문자열을 쪼개주는 클래스. 쪼개진 문자열을 토큰이라고 함. 사용하기 위해선 import java.util.StringTokenizer 

8.StringBuilder - 여러개의 문자열을 더할 때 매번 새로운 인스턴스를 생성해야 하는데, 엄청나게 많은 문자열에 모두 더하는 작업이 필요할 때 인스턴스를 엄청나게 많이 생성해야 하기 때문에 문제 해결하기 위해 사용함.

StringBuilder 객체 생성 후, append의 인자로 연결하고자 하는 문자열 넣어서 StringBuilder의 객체 통해 호출, 변수에 문자열을 할당할 땐 to String()메서드 사용.

 

ㅇ 연산자

산술, 논리, 비교

+,-,*,/,%

!,&&,||

<,>,<=,>=

 

'부트캠프 > ' 카테고리의 다른 글

11.8 다형성 추상화  (0) 2022.11.09
11.7 상속, 캡슐화  (0) 2022.11.07
11.4 생성자,this, this()  (0) 2022.11.07
11.2 배열  (0) 2022.11.04
11.1 자바-조건문,반복문  (0) 2022.11.01