String 배열의 선언과 생성 & 초기화 배열의 타입이 String인 경우에도 배열의 선언과 생성방법 및 초기화는 다르지 않다. String의 기본값은 null이므로 각 요소의 값은 null로 초기화 된다. char 배열과 String 클래스 String 클래스는 char 배열에 여러 기능을 추가하여 확장한 것 그러므로 char 배열보다 String 클래스를 사용하는 것이 문자열을 다루기 쉽다. 다만 String 객체(문자열)는 읽을수만 있을 뿐 내용을 변경할 수 없다. (변경 가능한 문자열을 다루려면 StringBuffer클래스 사용) 문자열을 숫자로 변환하려면 Integer.parseInt()를 사용 String str = "java"; String strNum = "8"; str += strNum..
다차원 배열(multi-dimensional array)이란? 2차원 이상의 배열(array) 2차원 배열의 선언과 생성 2차원 배열을 선언하는 방법은 1차원 배열과 같지만 괄호[]가 하나 더 들어간다. int[][] numArray = new int[4][3]; // 4행 3열의 2차원 배열 선언 및 생성 2차원 배열의 길이와 인덱스(index) 2차원 배열은 행(row)와 열(column)로 구성되어 있기 때문에 길이와 index도 행과 열 별로 존재한다. 2차원 배열의 길이 2차원 배열은 행의 길이, 각 행마다 열의 길이가 존재한다. int[][] numArray = new int[4][3]; // 4행 3열의 2차원 배열 선언 및 생성 System.out.println(numArray.length..
배열(array)이란? 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 서로 다른 타입의 변수들로 구성된 배열은 만들수 없다. // 5개의 int값을 저장항 수 있는 배열을 생성 int num1, num2, num3, num4, num5; // 변수로 생성 int[] numArray = new int[5]; // 배열로 생성 배열 선언과 생성 변수 또는 타입에 대괄호[]를 붙이면 된다. // 배열 선언(배열을 다루기 위한 참조변수 선언) int[] numArray; // 타입[] 변수명; -> 권장 int numArray[]; // 타입 변수명[]; // 배열 생성(실제 저장공간을 생성) numArray = new int[3] // 동시에 배열 선언과 생성 int[] numArray = new int..
for문 지정한 횟수만큼 반복되어 괄호{}안에 문장을 반복 수행 for문안에 조건식이 생략된 경우 true로 간주되어 무한 반복문이 된다. for (초기화; 조건식; 증감식) { ... } for (int i = 1; i
if문 만일(if) 조건식이 참(true)이면 괄호{} 안에 문장을 수행 조건식의 결과는 반드시 true 또는 false 괄호{} 생략 시 조건식 바로 다음에 오는 문장을 if문에 속함 int score = 80; if (score > 70) { System.out.println("합격입니다!"); } if (score > 70) System.out.println("합격입니다!"); if-else문 조건식의 결과가 참이 아닐 때, else블럭의 문장을 수행 괄호{} 생략 시 조건식 바로 다음에 오는 문장을 if-else문에 속함 다수의 조건식일땐 else if 문으로 다음 조건을 만들어 문장을 수행(윗 조건식부터 차례대로 수행) 참인 조건식을 만나면 블록안에 문장을 수행 후 조건문을 빠져나온다. int ..
조건 연산자(삼항 연산자) :? 조건식, 식1, 식2 모두 세 개의 피연산자 필요 가장 왼쪽에 피연산자가 true일땐 2번째 피연산자를 결과로, false일땐 3번째 피연산자를 결과로 얻는다. int x = 10; int y = 11; int result = (x > y) ? x : y; // result -> y -> 11; 대입 연산자 = op= 오른쪽 피연산자의 값(식이라면 평가값)을 왼쪽 피연산자에 저장 int i = 3; // i -> 3 int j = 3 * 2; // j -> 6 lvalue와 rvalue 대입 연산자의 왼쪽 피연산자를 lvalue(left value)라고 하고, 오른쪽의 피연산자를(rvalue)라고 한다. lvalue는 변수처럼 값을 변경할 수 있는 것 rvalue는 변수뿐..
REST(Representational State Transfer)란? 웹에 존재하는 모든 자원(이미지, 동영상, DB 자원)에 고유한 URI를 부여해 활용 하는것 REST는 분산 시스템 설계를 위한 아키텍처 스타일이다. HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다. RESTful은 무엇인가? RESTful은 위의 제약 조건의 집합(아키텍처 스타일, 아키텍처 원칙)을 모두 만족하는 것을 의미한다. REST라는 아키텍처 스타일이 있는거고 RESTful API라는 말은 REST 아키텍처 원칙을 모두 만족..
논리 연산자 && || 둘 이상의 조건을 그리고(AND), 또는(OR)로 연결 && : 피연산자 양쪽 모두 true이면 true(AND 결합) || : 피연산자 중 어느 한쪽만 true이면 true(OR 결합) 효율적인 연산(short circuit evaluation) 논리 연산자의 경우 좌측 부터 우측으로 연산되며 좌측 연산이 false인 경우 우측 연산은 진행하지 않는다. 그러므로 true 확율이 높은 피연산자를 연산자 왼쪽에 놓아야 빠른 연산결과가 나온다. 논리 부정 연산자 ! 피연산자가 true이면 false를, false이면 true를 반환 boolean a = true; a = !a; // false a = !a; // true a = !!a; // true 비트 연산자 & | ^ > 피연산..
비교 연산자 두 피연산자를 비교하는데 사용되는 연산자 연산 결과는 true, false 중 하나 대소비교 연산자 = 두 피연산자의 값의 크기를 비교하는 연산자 기본형(primitive type) 변수중 boolean형을 제외한 나머지 자요형에 모두 사용 가능 > : 좌변 값이 크면 true, 아니면 false = : 좌변 값이 크거나 같으면 true, 아니면 false
사직 연산자 + - * / 곱셈(*), 나눗셈(/), 나머지(%) 연산자가 덧셈(+), 뺄셈(-) 연산자보다 우선순위가 높으므로 먼저 처리된다. 나누기 연산자는 두 피연산자가 모두 int타입인 경우, 연산결과도 int타입이다.(소수점 이하 버림) // 정수 나눗셈 int i = 10 / 4; // i -> 2 (소수점 이하는 버려진다.) // 정수, 실수 나눗셈 int j = 10 / 4.0f; // j -> 2.5f (int 타입보다 범위가 넓은 float 타입으로 일치시킨다.) 나머지 연산자 % 왼쪽 피연산자를 오른쪽 피연산자로 나누고 난 나머지 값을 반환 왼쪽 피연산자는 정수만 허용, 오른쪽 피연산자는 음수도 허용하지만 결과는 똑같다. int i = 10 % 8; // i -> 2 int j = 1..