생활코딩 JAVA - 제어문

치즈말랑이·2021년 9월 26일
0
post-thumbnail

Java Flow Control

1. 수업소개

2. Boolean Datatype


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"; true와 false는 reserved word
		
		System.out.println(foo.contains("world"));
		System.out.println(foo.contains("egoing"));
	}

}

contains() : 문자열 안에 입력값이 있으면 true, 없으면 false

3. 비교연산자


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

}

4.1. 조건문 형식 (Conditional Statement)


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

}

4.2. 조건문 응용


public class AuthApp {

	public static void main(String[] args) {
		
		System.out.println(args[0]);
		
		String id = "egoing";
		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?");
		}

	}

}

equals는 boolean 형태로 값을 반환 시켜준다.

4.3. 조건문 응용


public class AuthApp {

	public static void main(String[] args) {
		
		System.out.println(args[0]);
		
		String id = "egoing";
		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?");
		}

		
	}

}

5. == vs equals

자바에서 문자나 객체를 비교할 때는 ==가 아닌 equals를 사용해야 한다.

primitive (원시 데이터) : 더이상 쪼갤 수 없는 데이터
-> boolean, int, double, short, long, float, char
non primitive : String, Array, Date, File

int p1 = 1
int p2 = 1
이런 데이터 타입은 원시적이고 같은 값이라면 한 곳에 저장된 데이터를 가져다가 쓴다.
그래서 ==를 사용한다.

원시데이터가 아니라 객체와 같은 데이터를 사용한다면 다른 곳에 저장이 되므로 ==대신에 equals를 사용한다.
== : 같은 곳에 저장되어 있는가
equals : 같은 내용으로 저장되어 있는가

String o3 = "java2" 와 같이 썼을때는 원시데이터와 마찬가지로 한곳에 저장되기 때문에 ==를 사용한다.

7.1. 반복문 (Looping Statement)


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);

	}

}

while과 for는 비슷한 기능을 하지만, 코드가 많을 때 while은 각각의 조건 사이에 다른 코드가 껴들어갈수도있고 오염될 가능성이 있어 for를 사용하는것이 낫다.

7.2. 배열 (Array)


public class ArrayApp {

	public static void main(String[] args) {

		// egoing, jinhuck, youbin
//		String users = "egoing, jinhuck, youbin";
		String[] users = new String [3];
		users[0] = "egoing";
		users[1] = "jinhuck";
		users[2] = "youbin";
		
		System.out.println(users[2]);
		System.out.println(users.length);
		
		int[] scores = {10, 100, 100};
		System.out.println(scores[1]);
	}

}

7.3. 반복문 + 배열


public class LoopArray {

	public static void main(String[] args) {
		
		/*
		 *  <li>egoing</li>
		 *  <li>jinhuck</li>
		 *  <li>youbin</li>
		 */
		
		String[] users = new String [4];
		users[0] = "egoing";
		users[1] = "jinhuck";
		users[2] = "youbin";
		
		for(int i=0; i<users.length; i++) {
			System.out.println("<li>"+users[i]+"<li>");
		}
		
	}

}

8.1. 종합응용 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?");
		}
	}

}

8.2. 종합응용 2와 수업을 마치며


public class AuthApp3 {

	public static void main(String[] args) {

//		String[] users = {"egoing", "jinhuck","youbin"};
		String[][] users = {
				{"egoing", "1111"},
				{"jinhuck", "2222"},
				{"youbin", "3333"}
		};
		String inputId = args [0] ;
		String inputPass = args [1];
		
		boolean isLogined = false;
		for(int i= 0; i<users.length; i++) {
			String[] current = users[i];
			if(
					current[0].equals(inputId) && 
					current[1].equals(inputPass) 
			){
				isLogined = true;
				break;
			}
		}
		System.out.println("Hi,");
		if(isLogined) {
			System.out.println("Master!!");
		} else {
			System.out.println("Who are you?");
		}
	}

}
profile
공부일기

0개의 댓글