며칠 전 올렸던 사이트는 코딩 문제를 풀고 나서 다른 사람들의 답도 확인할 수 있게 되어 있는데, 구경하다보면 어떤 방식으로 돌아가는 건지는 알겠는데 생소한 코드들이 있었다.
보통 그런 것들이 제목에 있는 축약형이라 이 기회에 정리해본다.
for문 축약(향상된 for문, for each문)
주로 배열 원소를 출력할 때 많이 사용한다.
배열 인덱스 문제를 해결할 수 있다. (ArrayIndexOutOfBoundsException 예외를 피할 수 있다.)
(알고리즘 문제 풀 때 저 에러 너무 자주봐서 괴로웠던...ㅠㅠ)
아래는 문법이다.
for(자료형 변수명 : 배열명){
...
}
자료형은 배열의 자료형이다.
String[] arr = {"a","b","c","d"};
for(String s : arr) {
System.out.println(s);
}
평소 사용하던 i 없어도 결과가 나오는 것을 확인할 수 있다.
원리와 어떤 점이 개선되었는지 자세히 설명한 출처는 이쪽 링크로...
Java foreach문(향상된 for문)
오늘 포스팅 할 내용은 자바의 foreach문(향샹된 for문으로 부르기도 한다.)에 대해 알아볼 것이다. 보통 for문을 사용할땐 아래와 같이 사용한다. for(int i=0; i
mommoo.tistory.com
if-else 축약(삼항 연산자)
자바에서 유일하게 피연산자를 세 개나 가지는 조건 연산자이다.
문법은 이렇다.
조건식 ? 반환값1 : 반환값2
물음표(?) 앞의 조건식에 따라 결괏값이 참(true)이면 반환값1을 반환하고, 결괏값이 거짓(false)이면 반환값2를 반환한다.
int num = 3;
int num2 = 5;
int a;
if(num-num2>0) {
a = 10;
}else {
a = 30;
}
기존 if 문이다. 결과값은 30이다.
int num = 3;
int num2 = 5;
int a;
a = (num-num2>0)? 10 : 30 ;
삼항연산자로 바꿔보았다. 역시나 결과값은 30이다.
코드가 한줄로 줄어들어 간결한 코딩을 할 수 있다!
'Study > Java' 카테고리의 다른 글
[JAVA] 스택(stack) (0) | 2022.11.22 |
---|---|
[JAVA] 내부 클래스 (0) | 2022.11.13 |
[JAVA] 클래스 변수, 인스턴스 변수, 지역 변수 (0) | 2022.10.12 |
[JAVA] 생성자 (0) | 2022.10.10 |
[자료구조] 배열과 리스트의 차이 (0) | 2022.10.07 |