생활코딩 | java 제어문

yoongiiii·2023년 9월 18일

생활코딩

목록 보기
8/11

1불리언 데이터 타입 (boolean data type)

불리언 데이터 타입 = true와 false
: 불리언 데이터 타입은 true와 false라는 구체적인 두 가지 데이터로 이루어진 데이터타입이다.

[참고]
예약어(reserved word)
:true와 false처럼 컴퓨터 언어에서 어떤 특정한 쓰임이 있는 키워드,
또는 앞으로 특정 기능으로 채택될 가능성이 있는 키워드들을 가리켜
컴퓨터 언어가 이것들을 사용하기로 예약돼 있다는 의미.
변수의 이름으로 사용 불가.

2비교연산자 (comparison operator)

비교연산자
: 왼쪽에 있는 값과 오른쪽에 있는 값을 비교해서 그 결과가 무엇이냐에 따라 true 또는 false 중 하나의 값을 만들어 내는 연산자이다.

public class BooleanApp {

	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
	}
}

3조건문 (conditional statement)

프로그램이란 결국 입력(input)에 대해 순차적으로 반응해서 출력(output)을 만들어 내는 기계인데,
이 과정에서 조건문을 사용하게 되면 입력이 무엇이냐에 따라 프로그램이 다르게 동작하도록 만들어서 그에 따른 출력을 만들어 낼 수 있다

조건문 형식
: if키워드 뒤에 소괄호 안에 불리언 데이터 타입의 값이 오고, 그 값이 true냐 false냐에 따라 중괄호 안의 코드가 실행될 수도 있고 실행되지 않을 수도 있다

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);
		}
		System.out.println("b");
	}
}

*조건문 안에는 또 다른 조건문이 들어갈 수 있다

== vs equals

동등 비교 연산자 1==2
: 같은 곳을 가리키고 있는지 (값이 같은지) 확인하는 연산자
: 원시 데이터 타입을 비교할 때 사용
메서드 a.equals(b)
: 내용이 같은지 확인하는 메서드
: 원시 데이터 타입이 아닌 것을 비교할 때 사용

논리연산자 (logical operator)

좌항과 우항에 모두 불리언 타입이 와야함

1AND연산자 &&
:왼쪽도 true, 오른쪽도 true면 전체 결괏값으로 true를 리턴한다

System.out.println(true && true); //true
System.out.println(true && false); //false
System.out.println(false && false); //false

2OR연산자 ||
:왼쪽과 오른쪽 중에 하나라도 true면 true를 리턴한다

System.out.println(true || true); //true
System.out.println(true || false); //true
System.out.println(false || false); //false

3NOT연산자 !

System.out.println(!true); //false
System.out.println(!false); //true

4반복문 (looping statement)

반복문 형식
:while키워드 뒤에 소괄호 안에 불리언 타입의 값이 오고, 그 값이 true면 중괄호 안의 코드가 실행되고, 실행이 끝나면 다시 소괄호 안의 값을 확인하길 반복한다.

"코드를 몇 번 반복 실행해"라고 지시할 때는 for문 사용

:for키워드 뒤에 소괄호 안에 세미콜론을 기준으로 세 부분(초깃값을 설정하는 코드; 반복을 더 해야할지 검사하는 코드; 반복이 진행될 때마다 실행해야 할 코드)으로 구성되고, 중괄호 안에 반복 실행할 코드를 작성한다.

i라는 변수는 반복문의 반복 횟수를 세는데 사용한다!!


public class LoopApp {

	public static void main(String[] args) {
		System.out.println(1);
		
		int i = 0;
		System.out.println("===while===");
		while (i<3) {
			System.out.println(2);
			System.out.println(3);
			i= i+1 ; //i++	
		}
		System.out.println("===for===");
		for (int i=0; i<3; i++) {
			System.out.println(2);
			System.out.println(3);
		}
		System.out.println(4);
	}

} 

5배열(array)

배열
: 서로 연관된 데이터를 그루핑해서 이름을 붙이고 체계적으로 관리하는 환상적 도구

데이터 타입이 문자열로 이뤄진 배열인 변수를 만들고, 필요한 배열의 크기 지정하기.
(=3칸짜리 빈 캐비닛 만들기)

String[] users = new String[3];

배열에 데이터 담기
users[0] = "egoing";
users[1] = "jinhyuck";
users[2] = "youbin"; 

몇 칸짜리 배열인지 알아내기
System.out.println(users.length); //3

배열을 생성함과 동시에 데이터 담기
int[] scores = {10, 100, 100};

배열의 인덱스 (색인) : 0,1,2와 같은 자릿수
배열의 원소 : 배열을 구성하는 각 값

6반복문과 배열은 한 세트다!!

public static void main(String[] args) {
	
		String[] users = new String[3];
		users[0] = "egoing";
		users[1] = "jinhuck";
		users[2] = "youbin";
		
		for(int i=0; i<users.length; i++) {
			System.out.println(users[i]+",");
		}	
	}
<1억명의 사용자가 로그인했을 때, 사용자의 계정이 명단에 있는지 인증하는 애플리케이션 만들기>

public class AuthApp3 {

	public static void main(String[] args) {
		String users[]= {"egoing","jinhuck","youbin"};
		String inputId = args[0];
		
		boolean isLogined = false;
		for(int i=0; i<users.length; i++) {
			String currentId = users[i];
			if(currentId.equals(inputId)) {
				isLogined = true;
				break;
			}
		}
		System.out.println("Hi,");
		if(isLogined) {
			System.out.println("Master!!");
		} else {
			System.out.println("Who are you?");
		}
	}

}

*break 키워드 : 반복문을 종료시키는 키워드*

+ 배열 안에 또 다른 배열이 들어가도록 만들기

각 원소가 또 다른 배열이고, 각 배열의 원소의 값이 String인 타입의 배열.

String[][] users = { 
			{"egoing","1111"}; 
			{"jinhuck","2222"}; 
			{"youbin","3333"};
		}

0개의 댓글