문자열 class인 String에는 contains메소드가 있는데, contains(“”)괄호안에 문자열이 있으면 true 없으면 false를 return한다.
• a > b : a가 b보다 큼
• a < b : a가 b보다 작음
• a >= b : a가 b보다 크거나 같음
• a <= b : a가 b보다 작거나 같음
• a == b : a가 b와 같음
• a != b : a가 b와 같지 않음
System.out.println(1>1)과 같이 넣으면 false를 출력한다.
비교연산자는 Boolean값(true 또는 false)이 출력된다.
조건문if 에는 조건식이 필수 구성 요소이고, 조건식에는 boolean타입만 올 수 있다. true이면 그 조건문이 실행되고 false면 실행되지 않는다.
if (조건식) {
} else if (조건식) {
} else {
}
위와 같이 if문을 사용한다. 조건문은 중첩가능하다.
if문을 쓸 때 조건식에 문자열끼리 비교하는 연산을 쓸때는 의도치 않은 결과를 가져올 수 있다.
문자열 끼리 비교할 경우 String객체에 equals메소드를 활용하자.
Primitive(원시데이터타입)
boolean
int
double
short
long
float
char
non primitive
String
Array
Date
File ...등등
==연산자는 원시데이터타입끼리 비교할 때 사용가능하다.
원시데이터타입은 같은 값이 저장될 경우 가르키는 주소의(Stack구역에 공간이 할당됨) 값이 같기 때문이다.
반면 문자열의 경우 원시 데이터 타입이 아니기 때문에 또 다른 메모리 구역(Heap)에 새로운 공간을 할당해 ==연산자를 이용할 경우 그 메모리 주소를 비교해서 같은 문자열이 저장되어 있어도 true값이 반환되지 않는다. equals메소드를 이용해 비교 가능하다. equals메소드는 주소가 아닌 값을 기준으로 판단해서 true, false를 반환
new키워드가 아닌 문자열 리터럴로 문자열을 생성하면 새롭게 메모리를 할당하지 않고 이미 있는 문자열이 저장된 메모리의 주소를 가르킨다.
논리 연산자에는 && 연산자와 || 연산자 그리고 ! 연산자가 있다.
반복문에는 while과 for문이 있다.
while문에는 조건식이 따라오는데 조건이 참일 경우 코드블럭의 작업을 반복한다.
for문은 조건식이 3부분으로 나뉘어져 있다.
for(변수의 초기화; 조건식; 1회 반복을 끝내고 수행할 연산){}
위와 같이 쓴다.
배열을 선언할 때는 변수 타입명 뒤에 빈[]대괄호를 입력하고 변수 이름을 입력한다.
String[] name=new String[]{"Kim","Park","Yi"};
String[] name={"Kim","Park","Yi"};
new키워드를 이용해 입력할 수도 있고, 리터럴로 입력할 수도 있다
reference:생활코딩 자바