자바 연산자 및 배열
■ 자바 연산자
- 산술 연산자 : 정수형, 실수형에 사용됨.
- 증감 연산자: ++, --
- 부호 연산자: +, -, *, /
- 나머지 연산자: %
- 비교 연산자 : 대소 비교, 객체의 타입 비교 등에 사용됨, 수행결과는 boolean 데이터타입으로 리턴
- >, >=, <, <=, ==, !=
- instanceof : 값1 instanceof 값2 → 값1이 값2 데이터 타입 객체인 경우 true 반환
- 논리 연산자 : boolean 데이터 타입에 적용됨
- and( & ), or( | ), not( ! ) → 값1, 값2 모두 True, False를 연산한다.
- 단축 연산자: &&, || → 값1 && 값2라는 연산이 있으면 값1이 False일 때, 값2는 연산하지 않는다.
- 비트연산자 : 값을 bit로 연산하는 연산자
- &, |, ^, ~, >, <
- 기타 연산자
- 대입 연산자( = ): 오른쪽의 값을 왼쪽에 대입 ( +=, -=, *=, /= )
- 조건 삼항 연산자( ?, : ): 변수 = 조건 ? 값1 : 값2 → 조건이 참이면 값1을, 거짓이면 값2를 변수에 대입
■ 자바의 배열
참조형 메모리
String greeting; // 변수 선언
greeting = new String("Hello, Java!"); // 객체 생성 및 변수 할당
greeting 변수 선언 시 변수를 위한 메모리가 할당되고 객체 생성 및 할당 시
Hello, Java!라는 String 객체가 생성되고 그 주솟값을 greeting변수의 메모리에 할당한다.
greeting 변수는 저장된 주솟값을 통해 참조하므로 참조형 매개 변수에 해당한다
배열 선언 및 생성
- (데이터 타입) (배열 변수명)[] = new (데이터타입)[배열의 길이];
- (데이터 타입)[] (배열 변수명) = new (데이터 타입)[배열의 길이];
int[] score = { 10, 20, 30}; // 배열 객체의 생성과 초기화를 동시에 진행 가능
다차원 배열
일차원 배열을 여러개 사용하여 다시 배열을 구현한 것 = 배열의 배열
- (데이터 타입) (배열 변수명) [][];
- (데이터 타입) [][] (배열 변수먕);
- (데이터타입)[] (배열 변수명)[];
score = new int[3][4]
int[][] score = new int[3];
score[0] = new int[4];
score[1] = new int[4];
score[2] = new int[4]; // 위와 동일한 배열
int[][] score = new int[3];
score[0] = new int[2];
score[1] = new int[3];
score[2] = new int[4]; // 서로다른 배열을 갖는 이차원 배열도 가능
명령행 매개변수
- main(String args[])를 의미함
- Main()의 매개변수는 String 데이터 타입의 배열
- 사용자가 명령행 매개변수로 입력한 문자열의 순서에 따라 차례대로 배열에 저장됨.
- class 실행 시 공백을 구분자로 하여 여러개의 값을 전달 함
- java (class 명) arg1 arg2
- 명령행 매개변수에 해당하는 배열은 문자형, 숫자 사용시 문자열을 숫자로 변환해야 함
- Integer 클래스의 parseInt() : 정수 형태로 변환
- Double 클래스의 parseDouble() : 실수 형태로 변환
public class CommandLineArgTest{
public static void main(String args[]){
int num1 = Integer.parseInt(args[0]);
int num2 = Integer.parseInt(args[1]);
}
}
[참고] : SWExpertAcademy
'Etc.. > SWExpertAcademy' 카테고리의 다른 글
[Java Programming] 객체지향 핵심 원리(1) (0) | 2021.07.12 |
---|---|
[Java Programming] 자바언어의 구조와 기본문법 (4) (0) | 2021.07.11 |
[Java Programming] 자바언어의 구조와 기본문법 (2) (0) | 2021.07.05 |
[Java Programming] 자바언어의 구조와 기본문법 (1) (0) | 2021.07.05 |
[Computational Thinking] 프로그래밍과 논리/수학 (0) | 2021.07.03 |