ssung_항해일지/항해99_언어학습(Java)

Java : 설 연휴 복습 - 2일차

ssungcohol 2023. 1. 23. 01:28

연산자

 

연산자 : 연산을 수행하는 기호 Ex) *, +, -, /

피연산자 : 연산자의 연산 수행 대상

 

모든 연산자는 연산결과를 반환한다 => 즉, 연산 결과를 반환하지 않으면 연산자가 아니다.

 

요약!

1. 산술 => 비교 => 논리 => 대입 : 순으로 수행되며 대입은 제일 마지막에 수행

2. 단항(1) => 이항(2) => 삼항(3) : 단항 연산자의 우선순위가 제일 높다.

3. 단항 연산자와 대입 연산자를 제외한 모든 연산의 진행 방향은 왼쪽에서 오른쪽이다.

 

증감 연산자

증가 연산자(++) : 피연산자의 값을 1 증가시킨다.

감소 연산자(--) : 피연산자의 값을 1 감소시킨다.

 

증감 연산자가 독립적으로 사용된 경우, 전위형과 후위형의 차이는 없다.
(++k; k++; => 값 동일)

 

형변환 : 변수 또는 상수의 타입을 다른 타입으로 변환하는 것을 의미 Ex) (타입) 피연산자

 

자동 형변환

  • float f = 1234; => int 타입의 값을 float 타입 변수에 저장
     - 상대적으로 int 타입이 float 타입보다 크기가 작기에 가능
  • float f = (float)1234; => 변수와 리터럴 타입을 일치 시켜줘야 한다.
     - 우리가 보는 코드에는 형변환이 생략! 즉, 컴퍼이러에 의해 자동으로 형변환이 된 것
  • int i = 3.14f;
     - 큰 타입을 작은 타입에 저장할 때 Error 발생
     - 3.14f 가 int 타입으로 변환될 때 소수점이 사라지면서 값 손실 발생, 이 경우 컴파일러가 자동으로 형변환을 안해줌
     - 따라서 int i = (int)3.14f 이렇게 직접 수동으로 형변환을 해줘야 한다.
  • "기존의 값을 최대한 보존할 수 있는 타입으로 자동 형변환된다."

if - else if - else

  • 여러 개의 조건식을 포함한 조건식
  • else if 가 여러번 사용될 수 있다
  • 마지막 else 블럭은 생략 가능

블럭 {}

  • 여러문장을 하나로 묶어주는 것
  • if 조건문에서 실행할 문장이 하나라면 if (조건식) 명령문; 이렇게 {}가 생략 가능

switch

switch (조건식) {
	case 값 1:
    	조건식의 결과가 값 1과 같을 경우 수행할 문장;
        	break;
    case 값 2:
    	조건식의 결과가 값 2와 같을 경우 수행할 문장;
        	break;
    ...
    ...
    
    default: 
    	조건식의 결과와 일치하는 case 문이 없을 때 수행할 문장;
}
  • 처리해야 하는 경우의 수가 많을 때 유용한 조건문
  • break; 를 작성해 주지 않으면 switch 문 끝까지 싱행
  • default 문은 생략 가능
  • if 조건문은 조건식 결과에 true/false 만 가능하고, switch는 정수나 문자열 만 가능
  • 제약조건
     - 조건식의 결과는 정수 또는 문자열 이어야 한다.
     - case 문의 값은 정수 상수(문자 포함), 문자열 만 가능하며, 중복되지 않아야 한다.

while

 

while (조건식) {
	조건식의 결과가 참인동안 반복적으로 실행하고자 하는 문장;
}

 

실행순서 : 조건식 => 조건식이 참일 경우 문장 수행 => 조건식이 거짓이 될 때까지 반복

 

do-while

do {
	조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 문장;
} while(조건식);

 

배열 : 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것

 

배열의 선언과 생성

배열의 선언

  • 배열을 다루기 위한 참조변수 선언
  • 선언방법
     - 타입 [] 변수이름;  Ex) int [] age;  , String [] name;
     - 타입 변수이름 [];  Ex) int age [];  , String name [];

배열의 생성 : 실제 저장공간 생성

  • 타입 [] 변수 이름 = new 타입 [길이];
  • int [] age = new int [5];
    => int 타입의 배열을 다루기 위한 age 변수를 선언하고, int 타입의 값 5개를 저장할 수 있는 배열 생성 (new)
  • 배열의 시작 주소(메모리 주소)가 참조변수 age에 저장됨, age는 저장된 주소를 통해 해당 배열을 가리키고 있다
    즉, 참조변수(age)와 배열이 연결되었고, 참조변수(age)를 통해 배열을 다룰 수 있다.

배열의 길이

배열이름.length

  • 배열의 길이 : int 타입 상수
  • int [] arr = new int [5];  =>  배열의 길이가 5인 int 타입 배열
  • int len = arr.length;  =>  arr.length 의 값은 5이고 len 변수에 저장
  • 배열은 한번 생성되면 컴파일 후 실행되는 동안은 그 길이(크기)를 바꿀 수 없다
     - 크기가 부족할 때는 필요한 만큼의 크기의 배열을 새롭게 만든 후, 새로 만든 배열에 기존 배열의 값을 복사 후 저장

String 배열

String 클래스

char [] 와 메서드(기능)를 결합한 것

  • 기본형처럼 사용이 가능한 참조형
     - String str = "행복";
     - String str = new String("행복");
  • 문자열을 많이 사용하기 때문에 특별하게 만들어진 클래스
  • String 클래스는 내용을 변경할 수 없어 새로운게 만들어짐
  • String name = "choi";
    Sting firstName = "Wb";
    name = name + firstName;
String 배열의 선언과 생성
String [] name = new String [3];
  • 3개의 문자열을 담을 수 있는 배열 생성
  • 참조형 이기 때문에 기본값 null로 초기화

-끝- (영타 원래 못쳤는데 더는 못치겠다.. 손가락 너덜 정신 너덜..)

728x90

'ssung_항해일지 > 항해99_언어학습(Java)' 카테고리의 다른 글

Java : 설 연휴 복습 - 마지막  (0) 2023.01.25
Java : 설 연휴 복습 - 3일차  (0) 2023.01.24
Java : 설 연휴 복습 - 1일차  (1) 2023.01.22
Java - 3일차  (0) 2023.01.21
Java - 2일차  (1) 2023.01.20