반복문 for
지겹도록 사용할 일이 많은 반복문! 자바에서의 반복문은 자바스크립트와 별반 다르지 않다.
// 자바스크립트
for (let i = 0 ; i <= 10; i++) {
...
}
// 자바
for (int i = 0; i <= 10; i++) {
...
}
자바스크립트에서 선언 키워드를 작성한다면, 자바에서는 데이터 타입을 작성하는 정도의 차이다. 그래서 '음! 그렇군~'하며 보던 차에 신기한 것을 발견했당!! 바로 문자열로도 반복문을 만들 수 있다는 점이다! 우왕~!!
for (char alpa = 'a'; alpa <= 'z'; alpa++){
System.out.print(alpa + " ");
System.out.println((int)alpa);
}
// a 97
// b 98
// c 99
// d 100
// e 101
// f 102
// g 103
// h 104
// i 105
// j 106
// k 107
// l 108
// m 109
// n 110
// o 111
// p 112
// q 113
// r 114
// s 115
// t 116
// u 117
// v 118
// w 119
// x 120
// y 121
// z 122
위와 같이 알파벳 a~z까지 아스키코드 값을 출력하는 반복문을 작성할 수 있다! 자바스크립트도 가능한데 내가 몰랐던 걸까? 싶어서 또 챗 지피티 선생님께 물어봤다.
자바스크립트에서도 가능하다! 지피티 선생님께 컴퓨터가 문자를 아스키코드 값으로 인식하기 때문에 문자로도 반복문을 사용할 수 있는지 물었더니 다음과 같이 답변해주었다. 정말 정말 신기하다!!
JavaScript를 포함한 많은 프로그래밍 언어에서 문자는 내부적으로 ASCII(정보 교환을 위한 미국 표준 코드) 코드 값으로 표시됩니다. ASCII 코드는 문자, 숫자, 구두점 및 기타 특수 기호와 같은 각 문자에 고유한 번호를 할당하는 표준입니다.
JavaScript에서 산술 연산이나 문자 비교를 수행할 때 기본 ASCII 코드 값이 사용됩니다. 이렇게 하면 숫자와 마찬가지로 루프, 비교 및 기타 작업에서 문자를 사용할 수 있습니다.
향상된 반복문 foreach
자바에는 향상된 for문이 있다. 그냥 반복문도 아니고 향상된 반복문이라니! 그게 뭘까?
for (데이터타입 변수명 : 컬렉션) {
...
}
// 예시
int[] arr = {1,2,3,4,5,6,7,8};
for (int el : arr){
System.out.println("el = " + el);
}
// 출력 결과
// el = 1
// el = 2
// el = 3
// el = 4
// el = 5
// el = 6
// el = 7
// el = 8
이렇게 하면 굳이 증가시킬 변수를 만들어주지 않고도 쉽게 반복할 수 있다.
while문
int num = 0;
while (num <=5) {
System.out.println("num = " + num);
num++;
}
// num = 0
// num = 1
// num = 2
// num = 3
// num = 4
// num = 5
while문은 조건을 먼저 검사한 뒤에 문장을 실행한다.
do-while 문
int num2 = 0;
do {
System.out.println("num2 = " + num2);
num2++;
} while (num2 <= 5);
//num2 = 0
//num2 = 1
//num2 = 2
//num2 = 3
//num2 = 4
//num2 = 5
do~while문은 먼저 실행한 뒤에 조건식을 검사한다.
이중포문
for문을 두 개 활용해서 이중 포문을 만들 수 있다. 이중 포문으로 구구단을 만들어보자.
public class LoopLoopTest {
public static void main(String[] args) {
for (int i = 2; i <= 9; i++){
for (int j = 1; j <= 9; j++){
System.out.println(i + "x" + j + "=" + i*j);
}
}
}
}
// 2x1=2
// 2x2=4
// 2x3=6
// ....
// 9x8=72
// 9x9=81
이차원 배열의 요소도 이중 포문으로 쉽게 출력할 수 있다.
int[][] arr = {{1,2,3,4,5}, {1,2,3,4,5}};
for (int i = 0; i < arr.length; i++){
for (int j = 0; j < arr[0].length; j++){
System.out.print(arr[i][j] + "\t");
}
System.out.println();
}
// 1 2 3 4 5
// 1 2 3 4 5
이렇게 여러 반복문을 보다보니 C언어나 자바스크립트, JAVA 모두 크게 형태가 다르지 않다. 휴 정말 다행이다. 만약 모두 제각기 다른 형태였다면 헤롱헤롱~(@~@)~상태였을 것이다. 이런 점 때문에 프로그래밍 언어를 여러 개 배울수록 학습속도가 빨라지나보다~!
'> 개발 > JAVA' 카테고리의 다른 글
자바 Scanner (0) | 2023.07.30 |
---|---|
자바의 배열 : 1차원배열과 2차원배열 (0) | 2023.07.30 |
자바의 배열 : 기본배열, 객체배열 (0) | 2023.07.27 |
자바의 객체와 클래스 (0) | 2023.07.23 |
자바의 기본 자료형 : 숫자자료형, 문자자료형, 형 변환 (0) | 2023.07.15 |
댓글