연산자
연산자의 분류 | 연산자(연산 기호) | 의미 |
대입 | = | 오른쪽을 왼쪽에 대입 |
산술(이항 연산) | + - * / % | 사칙연산과 나머지(정수) 연산 |
부호 | + - | -는 부호를 변경. (+는 부호 그대로) |
증감(단항연산) | ++ -- | 증가, 감소 연산 |
관계 | > < == != >= <= | 오른쪽(피연산자)과 왼쪽을 비교 |
논리 | && || ! | 논리적인 AND, OR, NOT |
조건(삼항연산) | ? | 조건에 따라 선택 |
비트 단위 연산자 | & | ^ ~ << >> >>> | 비트별 AND, OR, XOR, 반전, 이동 |
형변환(캐스팅) | (type 이름) | 변수나 리터럴의 자료형을 변환 |
프로그램 방식
CLI (Command Line Interface)
명령어로 실행시키는 동작방식이다. (ex. 윈도우 시작메뉴 cmd(명령프롬프트))
GUI (Graphic User Interface)
메뉴, 아이콘 등으로 실행시키는 동작방식이다. (ex. Powerpoint)
조건문: switch문
switch문의 형식
switch(변수) {
case 1: ...A... break;
case 2: ...B... break;
case 3: ...C... break;
default: ...D... break;}
switch문은 if문처럼 조건 관계식이 참일 때 명령문을 실행하는 것이 아니라, 변수가 어떤 값을 갖느냐에 따라 명령문을 실행한다.
switch문 내의 case문에서는 중괄호{ }를 사용하지 않는다.
if-else if-else문의 조건식이 ==(같다)를 사용하는 경우 switch문으로 나타낼 수 있다.
위 예제를 switch문으로 나타내면 다음과 같다.
만약 case문에서 break;이 없다면 다음 case의 명령문을 차례로 실행한다.
값에 해당하는 case가 없을 경우 default문을 실행한다.
char(정수형)
언어별로 컴퓨터로 처리하는 문자 인코딩을 위한 문자 코드가 있다.
가장 많이 사용하는 문자코드는 UTF-8이고, 영문자/숫자/기호를 사용하는 ASCII 코드가 있다.
하나의 문자를 ' '로 감싼 것을 문자 리터럴이라 한다.
문자 리터럴은 유니코드로 변환되어 저장된다.(0~66535)
char형을 이용하여 유니코드를 저장할 수 있다.
char 변수의 출력은 대입되는 리터럴과 상관 없이 모두 문자다.
char 변수에 유니코드의 10진수값, 유니코드의 16진수값, 문자를 대입하여 출력된 값은 모두 문자다.
char형 변수 ch1에 int형인 1과 연산하여 대입하면 오류가 발생한다.
ch1++; 을 이용하면 자동 형변환이 이루어진다.
char 변수에 1을 더하면 기존 변수의 문자코드에 1을 더한 값의 문자가 된다.
char형 을 int로 형변환하면 결과는 문자코드값이 된다.
연산자 우선순위
괄호 없이 여러 개의 연산자로 수식을 만들 때
*와/ → +와- 순서로 한다
같은 우선순위일 때는 왼쪽에서 오른쪽 순서로 한다.
논리연산의 경우 && → || 순서로 한다.
String 클래스
문자열을 변수로 지정할 때는 int, double처럼 기본형이 아닌 String 클래스를 사용한다.
변수 name은 기본형 타입이 아닌 클래스(참조)타입 변수이다.
변수 name이 참조하는 데이터(객체)는 String 클래스의 필드와 메소드를 갖는다.
클래스 타입의 변수는 데이터의 주소를 저장한다.
변수가 새로운 문자열로 바뀌면 같은 주소에 값이 덮여지는 것이 아니라 다른 주소에 값이 저장된다.
String 타입의 객체로 실행하는 메소드
메소드 형식: 반환값형식 패키지명.클래스명.메소드명(인자형식)
→ 인자(argument) : 메소드를 실행하는데 필요한 데이터
void java.io.PrintStream.println(String x)
void: println() 메소드 실행 결과로 반환되는 데이터의 형식, 실행결과 반환값은 없다.
int java.lang.String.length()
int: length() 메소드 실행 결과로 반환되는 데이터의 형식, 실행결과 정수값이 반환된다.
name.length(): 변수 name의 문자열의 크기를 정수값으로 반환한다.
char java.lang.String.charAt(int index)
char: charAt() 메소드 실행 결과로 반환되는 데이터의 형식, 실행결과 문자가 반환된다.
name.charAt(2): 변수 name의 2번 자리(3번째)의 문자를 반환한다.
boolean java.lang.String.equals(Object anObject)
boolean: equals() 메소드 실행 결과로 반환되는 데이터의 형식, 실행결과 논리값(참/거짓)이 반환된다.
name.equals("kim"): 변수 name의 문자열이 "kim"과 일치하는지 확인하여 논리값을 반환한다.
next() 메소드는 공백 또는 엔터 이전까지의 입력값을 저장한다.
nextLine() 메소드는 엔터 이전까지의 입력값을 저장한다.
substring() 메소드는 문자열의 일부를 추출(반환)한다.
substring(1) : 위치 1부터 끝까지의 문자열을 반환한다.
substring(1,3) : 위치 1부터 3이전까지(2까지)의 문자열을 반환한다.
next() 메소드 사용시
공백 이전인 Jack까지만 값이 저장되었다.
nextLine() 메소드 사용시
엔터 이전인 Jack Daniel이 저장되었다.
문자열 크기(length)에는 공백도 포함된다.
반복문: for문
for문의 형식: for(초기화식; 조건식; 증감식){명령문}
반복횟수 제어를 위한 변수 i 선언 i=0 시작값, 조건 i<5, 증감 i=i+1
i=0, 0<5 참 → 출력 실행 → i++
i=1, 1<5 참 → 출력 실행 → i++
i=2, 2<5 참 → 출력 실행 → i++
⁝
i=5, 5<5 거짓 → for문 종료
다음의 반복되는 명령문은 for문을 이용하여 간단하게 나타낼 수 있다.
다음의 for문은 처음부터 조건이 맞지 않아 실행되지 않는다.
for문 예제1: 영화 평점 입력
방법 2-3) 에서 미리 변수 k를 선언했고 두 번째 for문에 초기화식이 없다.
그래서 두 번째 for문의 k값은 첫 번째 for문이 종료될 때의 k값이 초기값이 된다.
for문 예제2: 1~100 합계
* 새로 배운 단축키
• 들여쓰기 자동 : Crtl + Shift + f (가독성)
'수업 일지 > JAVA' 카테고리의 다른 글
6일차 - [JAVA] 클래스/객체/메소드/static/final/전역변수/지역변수 (0) | 2022.01.05 |
---|---|
5일차 - [JAVA] 삼항연산자/while문/break/continue (0) | 2022.01.04 |
3일차 -[JAVA] 식별자/printf()/형변환/Scanner/if 조건문 (0) | 2021.12.30 |
2일차 - [JAVA] 변수/래퍼 클래스/정수형, 실수형 타입 (0) | 2021.12.29 |
1일차 - OT/JDK, 이클립스 다운로드 및 설정/출력 (0) | 2021.12.28 |
댓글