키보드워리어

【자바】논리연산자 활용한 메소드 만들어보기 본문

JAVA/입문

【자바】논리연산자 활용한 메소드 만들어보기

꽉 쥔 주먹속에 안경닦이 2022. 11. 27. 13:23
728x90

먼저 논리 연산자를 사용하는 메서드를 만드실 때

 

좋은 팁부터 말씀드릴게요!

/*
if (ch == ‘a’)
Return true;
if (ch == ‘e’)
Return true;
*/

1) 이렇게 일일이 작성해주어도 되지만 복잡한 로직이 많아지면 코드를 이해하기 힘들어집니다.

2) 배열과 목록을 배운다면 더 가독성이 좋고 효율적인 코드를 배울 수 있는데 다음에 좀 더 자세하게 말씀드릴게요!

 

 isVowel메소드

public boolean isVowel() { // boolean return.

		if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u') { // LowerCase
			// or operator
			return true;
		}
		if (ch == 'A' || ch == 'E' || ch == 'I' || ch == 'O' || ch == 'U') { // UpperCase
			// or operator
			return true;
		}
		return false;
	}

자음인지 아닌지 확인해주는 메서드입니다.

 

number메서드

	public boolean isNumber() {
		if (ch >= 48 && ch <= 57) { // 0 ~ 9 is true
			return true;
		}
		return false;
	}

number메서드는 boolean값으로 설정하고 if문으로 멤버 변수로 미리 지정해둔 char형

ch가 0-9가 아닌 경우 false, 맞으면 true 리턴하면 됩니다.

jshell에서 (int)’0’ ~ (int)’9’를 해보면 고유의 정수 값을 char타입이 가진다는 사실을 알 수 있습니다.

 

 

consonant메서드

	public boolean isConsonant() {
		if (isAlphabet() && !(isVowel())) //알파벳이지만 모음은 아니라면
			return true;

		return false;

	}

consonant메서드는 이미 isVowel 메서드가 있으니

isAlphabet 메서드를 만들어 boolean값 false 리턴하게 한다음에 ch가 a-z,A-Z에 맞으면 true를 반환시키게 합니다.

 

isAlphabet 메소드 이면서, isVowel메서드는 아니라면? —> isConsonant 메서드로 true값 반환시키면 됨

isAlphabet() && !(isVowel()){ //논리 연산자 and와 not활용

Return true;

}

Return false;

 

소문자와 대문자 출력 메서드 만들어보기

	public static void printLowerCaseAlphabets() {
		char LowCase;
		System.out.println("this is Low Case alpahbet.");
		for (LowCase = 'a'; LowCase <= 'z'; LowCase++) {
			System.out.println(LowCase);
		}
	}

	public static void printUpperCaseAlphabets() {
		char UpperCase;
		System.out.println("this is Upper Case alpahbet.");
		for (UpperCase = 65; UpperCase < 91; UpperCase++) {
			System.out.println(UpperCase);
		}
	}

printLowerCaseAlphabets()이나 printUpperCaseAlphabets() 메서드는 정적 메서드입니다.

클래스나 어떤 객체의 데이터를 쓰지 않을 경우에는 정적 메서드를 만드는 것이 낫습니다.

(static) 정적 메서드에 대해서는 나중에 심층적으로 포스팅하겠습니다.

 

꿀팁 정리

  • 처음에는 false값을 넣는다.
  • 관계, 논리 연산자를 통해 답이라면 true값을 리턴하게 해 주면 편하다.
  • char 타입으로 정수형 연산도 가능하다는 점을 기억한다.
  • char 은 변수명을 ch로 해주는 것이 관례이다.
  • jshell을 이용하면 char형 변수도 int형으로 casting 하기 쉽다. Ex) (int)’A’   …>  65 출력

 

 

 

섹션 9를 마치며

섹션 9에서는 정수 유형에 대한 내장 래퍼에 대해 익숙해져 보았어요. 그동안 explict와 implicit에 대해 살펴보고

부동소수점 유형에서 정수형으로 어떻게 변환하는지, casting을 배우고 더 높은 정밀도와 정확한 BigDecimal 클래스를 살펴보았습니다.

boolean 타입을 통해 논리 연산자와 short-circuit평가/ 키보드의 한계를 넘어선 유니코드를 char형을 통해서 무수히 많은 키값을 가지게 되었고요.

 

결국엔 자전거 타듯이 직접 코딩해야 본인 실력이 늘 수 있겠죠. 모든 개발자 여러분들 파이팅입니다!

728x90