My footsteps
for문,while문,break문,배열 본문
- for문 : 조건을 반복하는 동안 블럭 {}을 반복 , 반복횟수를 알고 싶을때 저장
for (int i=1; i<=5; i++) {
Stytem.out.println("hello") }
for (초기화 int i =1 ; 조건식 i<=5; 증감식 i++) { 수행될 문장 }
- for문은 안에 조건식을 잘 써줘야한다. 아니면 무한반복이 될수있기때문..
- 변수를 하나 이상 쓸수도 있다. for (int i =1,j=10 ...) 이런식으로
- 위의 식을 for문으로 간단히하면 저렇게 된다. 헷갈린다면 위에것처럼 쉽게 쓰고 나서 방법을 찾는게 가장 좋다
- 이 별찍기의 식은
for(int i=1; i<=5; i++) {
for(int j=1; j<=i; j++) {
System.out.print("*");
}System.out.println();
}
이렇게 되는데 , i를 세로줄 j를 가로줄이라고 생각하면 쉽다
for(int i=1; i<=5; i++) // i는 5줄보다 작거나 같고 하나씩 증가한다
for(int j=1; j<=i; j++) // j는 i보다 작거나 같고 하나씩 증가한다
System.out.print("*"); // 별 하나 출력
System.out.println(); // 줄바꿈
- while문 : 반복횟수 모를때 (for문과 호환 가능)
- break문 : 자신이 포함된 하나의 반복문만 벗어남
int sum = 0;
int i = 0;
while(true) { // while 무한반복문 쓸때는 true꼭 쓰기! for문 무한반복문은 for(;;){ } 이렇게 쓰면댐
if (sum > 100) // sum이 100을 넘으면
break; // 실행을 멈춘다. 이 밑은 실행되지 않고 while문을 완전히 벗어남
++i; // i에 1씩 더해주기
sum += i; // sum = i+sum
}
sop("i=" + i);
sop("sum="+sum);
} }
뭔소리여...하
- continue문 : 자신이 포함된 반복문의 끝으로 이동. 다음 반복으로 넘어감. 전체 반복 중에서 특정 조건시 반복을 건너뛸때 유용하다
for (int i =0; i <= 10; i++) {
if (i%3==0) // i는 3의 배수
continue;
sop(i);
}
결과값: 1 2 4 5 7 8 10 // 3의 배수들은 안나옴. 컨티뉴로 3의 배수 부분만 빼고 넘어갔기 때문
- 이름붙은 반복문 : 그냥 break문은 하나의 반복문만 벗어날수 있는데 그 반복문에 이름을 붙이면 하나 이상의 반복문을 벗어날수있다
- for나 while문 앞에 그냥 이름을 붙여주면 된다. Loop1 : for(int i =0 ....) 이런식으로
- 배열 : 같은 타입의 여러 변수를 하나의 묶음으로 다루는것,저장공간이 연속적이다
- int[ ] score = new int[ ] // [ ] 안에 공간 갯수 넣음
- 배열 사용하기전에 '참조변수'를 선언해줘야한다. 배열저장공간창고에 가기전 통로라고 생각하면됨.
타입 [ ] 변수이름; // 배열을 다루기위한 참조변수 선언
변수이름 = new 타입[배열의 길이]; // 실제 저장공간인 배열을 생성
int [ ] score; // int(정수)타입의 배열을 다루기 위한 참조변수 score 선언
score = new int[5]; // int타입의 값 5개를 저장할 수 있는 배열 생성
score[3] = 100; // 3번 인덱스에 100을 저장..이런식으로 원하는 인덱스에 원하는값 저장 가능
- 참조변수 이름은 자동으로 저장되며(=인덱스), 인덱스의 범위는 0부터 '배열길이-1'까지이다. 0부터 시작하기 때문에 -1
- 배열의 길이는 한번 생성하고 실행하면 그 길이를 바꿀수 없다 (int형 상수,즉 리터럴값 이기 때문)
int [ ] arr = new.int[5]; // 길이가 5인 int배열
int tmp = arr.length; // arr.length의 값이 5이고 tmp에 5가 저장됨
- 배열이름.length를 쓰는 이유? : 조건식변경에 용이하기 위해서
ex)
int [ ] score = new int [5]; // 배열의 길이를 6에서 5로 변경했다고 치면
for (int i=0; i < score.length; i++) // 조건식을 변경하지 않아도됨. 첫번째줄만 바꾸면 자동 적용
sop(score[ i ]);
- 배열의 초기화 : 배열의 각 요소에 처음으로 값을 저장하는것
int [ ] score = { 초기화값1 , 2, 3, 4, 5 } 이런식으로 적는다.
단, 초기화는 두문장으로 나눌수 없다. 꼭 저렇게 한줄로만 적어야함
- iArr이라는 배열의 내용을 값이 아닌 문자열로 출력하는 방법 (캐릭터 배열은 어레이 안쓰고 그냥 프린트해도 나옴.얘만 예외임)
Sop(Arrays.toString(iArr));
- 배열의 활용 (로또번호섞기)
'예습 > 이론' 카테고리의 다른 글
객체 (0) | 2023.01.03 |
---|---|
Srting배열,커맨드 라인,2차원 배열,객체 (0) | 2023.01.02 |
반올림,비교연산자,논리연산자,조건과 대입연산자,조건문과 반복문,if,switch (0) | 2022.12.31 |
형변환 (0) | 2022.12.30 |
단항,이항 연산자 (0) | 2022.12.29 |