본문 바로가기
클라우드 활용 자바개발자 양성과정/01. JAVA 프로그래밍 언어 활용

03. 연산자 & 04. 조건문

by moca7 2024. 6. 20.

 

ㅁ 한줄 주석 단축키( // ): ctrl + ' / '

 

ㅁ System.out.println( ch == 'Y' || ch == 'y' ? "프로그램을 종료합니다." : "계속 진행하겠습니다." );

- 이런 형태도 됨. 

 

System.out.println( (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') ? "영문자이다" : "영문자가 아니다" );

 

ㅁ 주민번호 받아서 - 뒤의 숫자가 남자면 남자, 여자면 여자

- 주민번호를 받을 때 'int'형이 아닌 'String'형으로 받아야 함.

주민번호가 0으로 시작하는 경우, int형으로 받으면 0은 사라짐.

주민번호뿐 아니라 휴대폰 번호 등 다 문자열로 받아야 한다. 

 

-

Scanner sc = new Scanner(System.in);

System.out.print("주민번호를 입력하세요(- 포함) : ");

String ssn = sc.nextLine();

 

String[] zip = new String[ssn.length()];

for(int i=0; i<ssn.length()-1; i++)

zip[i] = String.valueOf(ssn.charAt(i));

 

System.out.println();

System.out.println( Integer.parseInt(zip[7]) == 1 || Integer.parseInt(zip[7]) == 3 ? "남자" : "여자");

 

-

Scanner sc = new Scanner(System.in);

 

System.out.print("주민번호를 입력하세요(- 포함) : ");

String ssn = sc.nextLine();

 

System.out.println();

System.out.println( ( ssn.charAt(7) == '1' || ssn.charAt(7) == '3' ) ? "남자" : "여자" );

 

 

ㅁ num1 + num2 + ""  

- 문자열로 간단히 만드는 방법. 

 

ㅁ String result = ""; 

- 변수를 미리 세팅해둘 때 항상 반드시 초기화해놓는 습관을 들이자!

- int면 0, double이면 0.0

 

public class If {

 

    public void ex1() {

 

    Scanner sc = new Scanner(System.in);

 

    System.out.print("이름 : ");

    String name = sc.nextLine();

 

    System.out.print("성별(M/F) : ");

    char gender = sc.nextLine().charAt(0);

 

    System.out.println();

        

    String result;

 

    if(gender == 'M' || gender == 'm')

        result = "남학생";

    else if(gender == 'F' || gender == 'f')

       result = "여학생";

    else

       return;

 

    System.out.println(result);

    }

}

 

- 오류 발생. result 초기화 안되어있다고. 

이 문제는 result라는 변수가 초기화되지 않은 상태에서 사용되기 때문에 발생하는 오류입니다. Java에서는 로컬 변수가 사용되기 전에 반드시 초기화되어 있어야 합니다.

 

- return;은 현재 속해있는 메소드를 빠져 나가는 구문. 

메소드마다 사실 전부 끝에 // return;이 써져있다. 

 

return문이란 실행 중인 메소드를 종료하고 호출한 곳으로 되돌아가도록 한다.

반환 타입이 void가 아닐 경우, 반드시 return문이 필요하다.

반환 타입이 void인 경우, 생략할 수 있다(컴파일러가 자동으로 추가한다).

 

 

ㅁ 하나의 메소드는 하나의 기능만을 수행하도록 작성해야 한다. 

 

System.out.print("이름 : ");           //      사용자가 "홍길동"을 입력

String name = sc.nextLine();

 

name == "홍길동";                  //          false

name.equals("홍길동");          //          true

 

- 문자열 상수는 Java의 문자열 풀(String pool)에 저장되어 한 번 선언되면 재사용될 수 있습니다.

- 그러나 사용자 입력을 통해 받은 문자열은 문자열 상수가 아닌 새로운 문자열 객체로 생성됩니다.

 

 

ㅁ 

[기본자료형]

byte, short, int, long + float, double + boolean(1) + char(2)

[참조자료형]

String, ... 기본자료형을 제외한 나머지 자료형들

 

- 기본자료형들끼리는 동등비교시 ==, != 사용가능 (정상적으로 비교됨)

- 참조자료형들끼리는 동등비교시 ==, != 사용은 가능하나 정상적으로 비교되지 않음.

equals() 메소드를 이용해서 비교하면 된다.     //    문자열.equals(문자열)

 

 

ㅁ 단일 쌍따옴표(") 하나로 여러 줄의 문자열을 한 번에 표현하는 방법은 자바에서는 지원되지 않습니다. 쌍따옴표(")는 한 줄의 문자열만을 표현하는 데 사용됩니다.

 

System.out.print("실행할 기능을 선택하세요. \n" +

"1. 메뉴 출력 \n" +

"2. 짝수/홀수 \n" +

"3. 합격/불합격 \n" +

"4. 계절 \n" +

"5. 로그인 \n" +

"6. 권한 확인 \n" +

"7. BMI \n" +

"8. 계산기 \n" +

"선택 : " );

 

 

ㅁ 3항 연산자

 

if(변수) { true일때실행내용 } 

else { false일때실행내용 }

 

변수 ? true일때실행내용 : false일때실행내용 하면 안된다.

 

- 3항 연산자는 실행시킬 코드를 쓰는게 아니라 돌려줄 결과값을 쓰는 거다.

 

int x = 5;

String message = x > 10 ? "x는 10보다 큽니다" : "x는 10보다 작거나 같습니다";

System.out.println(message);       // "x는 10보다 작거나 같습니다"가 출력됩니다.

 

 

'클라우드 활용 자바개발자 양성과정 > 01. JAVA 프로그래밍 언어 활용' 카테고리의 다른 글

06. 객체  (0) 2024.06.27
05. 배열  (0) 2024.06.24
변수(Variable)  (1) 2024.06.18
이클립스 설치&사용법  (1) 2024.06.18
Java 설치&설정  (0) 2024.06.18