프로그래밍의 핵심은 시간의 흐름에 따라서 입력받아서 진행해야 한다.
예) 사용자 인증(로그인)
boolean 데이터타입
- 참과 거짓을 표현하는 데이터 타입
반복문과조건문에 사용
예약어(reserved word) : 프로그램에서 미리 정의된 키워드
contains 메소드 : 문자열 포함 유무 확인
- 특정 문자열이 포함되어 있는지 확인하는 기능을 수행
- 특정 문자열이 포함되어 있다면
true를, 없다면false를 반환
public class BooleanApp {
public static void main(String[] args) {
System.out.println("One");
System.out.println("1");
System.out.println(true);
System.out.println(false);
String foo = "Hello world";
//String true = "Hello world";
System.out.println(foo.contains("world"));
System.out.println(foo.contains("cj"));
}
}
[결과]
One
1
true
false
true
false
비교연산자
- 두 개의 변수 또는 리터럴 상수를 비교하는데 사용되는 연산자
public class ComparisonOperatorApp {
public static void main(String[] args) {
System.out.println(1 > 1); //false
System.out.println(1 == 1); //true
System.out.println(1 < 1); //false
System.out.println(1 >= 1); //true
}
}
조건문
- 프로그래밍에 있어서 매우 중요
- 조건문을 이용하여 조건의 참, 거짓에 따라 서로 따른 작업을 수행
조건문의 기본 형식
public class ifApp {
public static void main(String[] args) {
System.out.println("a");
/* if(false) {
System.out.println(1);
} else {
if(true) {
System.out.println(2);
} else {
System.out.println(3);
}
}*/
if(false) {
System.out.println(1);
} else if(true){
System.out.println(2);
} else {
System.out.println(3);
}
System.out.println("b");
}
}
조건문 응용
public class AuthApp {
public static void main(String[] args) {
System.out.println(args[0]);
String id = "tv";
String inputId = args[0];
System.out.println("Hi.");
//if(inputId == id) {
if(inputId.equals(id)) {
System.out.println("Master!");
} else {
System.out.println("Who are you?");
}
}
}
논리 연산자를 사용하기
public class AuthApp {
public static void main(String[] args) {
System.out.println(args[0]);
String id = "tv";
String inputId = args[0];
String pass = "1111";
String inputPass = args[1];
System.out.println("Hi.");
//if(inputId == id) {
/* if(inputId.equals(id)) {
if(inputPass.equals(pass)) {
System.out.println("Master!");
} else {
System.out.println("Wrong password!");
}
} else {
System.out.println("Who are you?");
}*/
if(inputId.equals(id) && inputPass.equals(pass)) {
System.out.println("Master!");
} else {
System.out.println("Who are you?");
}
}
}
문자의 비교 : ==과 equals의 차이점
자바의 데이터 타입에는 크게 기본 타입(원시 타입: primitive type)과 참조 타입(reference type)으로 분류
기본 타입과 참조 타입으로 선언된 변수의 차이점
- 기본타입을 이용해서 선언된 변수는
실제값을 변수 안에 저장 - 참조타입을 이용해서 선언된 변수는
메모리의 번지를 값으로 갖는다.
==과 equals의 차이점
-
형태의 차이
equlas()는 객체끼리 내용(값)을 비교할 수 있는 메소드입니다.==는 객체의 참조(주소)값을 비교하는 연산자입니다.
-
비교방식의 차이
int로 선언된 변수 p1, p2가 있습니다.
두 변수 모두 1이라는 값을 저장하고 있습니다. 이처럼 기본 타입은 해당하는 값이 저장되어 있는 메모리공간을 가리킵니다. ==연산자를 사용해서 비교하면 true를 반환하게 됩니다.
String에 생성자를 통해서 참조형으로 값을 할당하게 되면 데이터 값이 같더라도 데이터를 가리키고 있는 주소값이 다르기 때문에 ==연산자로는 비교할 수 없습니다.
String에 기본 타입처럼 직접 값을 할당하게 되면 해당하는 값이 저장되어 있는 메모리공간을 가리키기 때문에 ==연산자로는 비교할 수 있습니다.
따라서 문자열 비교시에는 equals 메소드를 사용하는 것이 안전하고 보편적입니다.
반복문과 배열
반복문 : 조건에 따라서 프로그램이 반복적으로 일을 처리하도록 하는 핵심 메커니즘
반복문 종류
반복문은 크게 for문, while문, do~while문이 있습니다. for문은 주로 반복횟수를 알고 있을 때 사용되고
while 및 do~while문은 조건에 따라 계속 반복을 실행할 것인지를 결정할 때 사용됩니다.
public class LoopApp {
public static void main(String[] args) {
System.out.println(1);
System.out.println("=== while ===");
int i = 0;
//..
while(i < 3) {
System.out.println(2);
System.out.println(3);
// i = i + 1;
//..
i++;
}
System.out.println("=== for ===");
for(int j=0; j < 3; j++) {
System.out.println(2);
System.out.println(3);
}
System.out.println(4);
}
}
[결과]
1
=== while ===
2
3
2
3
2
3
=== for ===
2
3
2
3
2
3
4
배열 : 동일한 자료형의 데이터를 연속된 공간에 저장하기 위한 자료구조
배열의 장점
- 연관된 데이터를 저장하기 위한 변수의 선언을 줄여준다.
반복문등을 이용하여 계산과 같은 과정을 쉽게 처리할 수 있다.
public class ArrayApp {
public static void main(String[] args) {
// hobin, jinhuck, youbin
// String users = "hobin, jinhuck, youbin";
String[] users = new String[3];
users[0] = "hobin";
users[1] = "jinbuck";
users[2] = "youbin";
System.out.println(users[1]);
System.out.println(users.length); //배열의 길이
int[] scores = {10, 100, 100};
System.out.println(scores[1]);
System.out.println(scores.length);
}
}
[결과]
jinbuck
3
100
3
반복문과 배열 응용
public class LoopArray {
public static void main(String[] args) {
/*
\* <li>hobin</li>
\* <li>jinhuck</li>
\* <li>youbin</li>
\* */
String[] users = new String[3];
users[0] = "hobin";
users[1] = "jinhuck";
users[2] = "youbin";
for(int i=0; i<3; i++) {
System.out.print(users[i]);
if(i<users.length-1) {
System.out.print(", ");
}
}
}
}
[결과]
hobin, jinhuck, youbin
'언어 > JAVA' 카테고리의 다른 글
| [인프런강의내용정리]상속에 대해서 (0) | 2019.12.29 |
|---|---|
| 자바란 (0) | 2019.11.30 |
| javadoc이란? (0) | 2019.10.01 |
| [MyBatis] include refid 사용하기 (0) | 2019.09.25 |
| protected 접근 제한자 (0) | 2019.09.24 |