일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Git
- 프로그래밍기초
- 자바기초
- Java
- 기초코딩
- github
- 알고리즘
- 데이터베이스
- 프로그래밍
- 초보코딩
- 메소드
- 초보코딩탈출
- JShell
- 프로그래밍언어
- 리눅스
- 스프링 기초
- 자바
- 제이쉘
- 이클립스
- 자바프로그래밍
- 클래스
- Elk
- eclips
- 컴퓨터과학개론
- JAVA기초
- 자바 스프링
- spring
- 배열
- 스프링
- 코딩초보
- Today
- Total
키보드워리어
【자바】논리연산자 활용한 메소드 만들어보기 본문
먼저 논리 연산자를 사용하는 메서드를 만드실 때
좋은 팁부터 말씀드릴게요!
/*
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형을 통해서 무수히 많은 키값을 가지게 되었고요.
결국엔 자전거 타듯이 직접 코딩해야 본인 실력이 늘 수 있겠죠. 모든 개발자 여러분들 파이팅입니다!
'JAVA > 입문' 카테고리의 다른 글
【자바】if - else 중첩문 소개합니다. (0) | 2022.12.09 |
---|---|
【자바】조건문 소개및 활용 방법 (0) | 2022.12.06 |
【자바】char타입 표현과 연산 (0) | 2022.11.26 |
【자바】Boolean - 단축평가 논리연산자 (0) | 2022.11.25 |
【자바】Boolean형 (0) | 2022.11.23 |