728x90

 

JAVA 제어문 - 4.1. 조건문 - 형식

조건문 Conditional Statement

 

모양

1)

if(조건) {
    실행될 코드
}

 

2)

if(조건) {
    실행될 코드
} else if(조건) {
    실행될 코드
} else {
    실행될 코드
}

 

 

 

시간에 순서에 따라서 a 1 b 출력하는 간단한 프로그램을 만들

System.out.println("a");
if(true) {
   System.out.println(1);
} else if(true){
     System.out.println(2);
} else {
    System.out.println(3);
}
System.out.println("b")

 


 

JAVA 제어문 - 4.2. 조건문 - 응용1

[run configuration] - [arguments] 값으로 egoing 입력

String id = "egoing";
String inputId = args[0];

System.out.println("Hi");

if(inputId.equals(id)) {
	System.out.println("Master!");
} else {
	System.out.println("Who are you?");
}

.equals() : 양쪽 내용을 비교한 값을 boolean type으로 반환

 

 

==에서는 같은 egoing인데 false 작동하고 .equals()로는 true 작동하는 이유

 == 주소값이 같아야 True .equals() 밸류값이 같으면 true이기 때문

다른말로, == true일려면 a=b 트루이지만 b 복사하여 새주소로 만들어진bfalse이다. 그러나 .equals() 이라면 값이 같으므로 true

 

 

== .equals() 차이

  종류 비교차이 call 방식
== 연산자(operator) 비교대상 주소값 call by reference
 .equals() 메소드(method) 비교대상의 내용 call by value

(주소값과 밸류값의 차이가 결국 call by reference value 개념과 같은 이야기인데

초보자들은 이해하기 어려우니 따로 분류)

 

 

Call by reference & value

1)call by reference : 주소값이 부여됨. 때문에 객체를 불러오면 주소값을 불러온다

      ex) class, 객체object

         String a = "100";

         String b = a;       # 같은 주소값

       (만약, new 써서 인스턴스를 만든다면 값은 값지만 주소는 다르게 된다)

 

2)call by value : 기본적으로 대상의 주소값을 가지지 않고 '' 할당받는 형태

     ex) int, float, double 같은 primitive type

 


 

JAVA 제어문 - 4.3. 조건문  - 응용2

 

[run configuration] - [arguments] 에서 두번째 인자값 추가 1111 입력

( 추가는 스페이스로 공백 주면 된다)

 

String id = "egoing";
String inputId = args[0];
String pass = "1111"; // pw : 1111
String inputPass = args[1];

System.out.println("Hi");

if(inputId.equals(id)) {
	if(inputPass.equals(pass)) {
		System.out.println("Master!");
	} else {
		System.out.println("Wrong pw!");
	}
} else {
	System.out.println("Who are you?");
}

 

// 위의 if문을 더 심플하게 해보는 코드

if(inputId.equals(id) && inputPass.equals(pass)) { # && 논리연산자(=and)
	System.out.println("Master!");
} else {
	System.out.println("Who are you?");
}

 

논리연산자(&&)

A and B(A B 둘다)처럼 양쪽 요건을 충족할 경우 작동하는 것이 논리연산자

(파이썬의 and 같다)

 

 

 

728x90
반응형
728x90

문제

 

 

답 원하시는 분은 맨 아래로!

<풀이과정>

 

 

 

728x90
반응형

+ Recent posts