JAVA-05

JAVA-05

for 문

  • 횟수에 의한 반복문
  • 반복 횟수가 특정된 경우에 사용한다.
  • 무언가 값이 하나씩 변하는 반복일 때 사용한다.
for(초기식; 조건식; 증감식;){
	조건식의 연산 결과가 true라면 반복할 문장 
}
(끝값 - 초기값) / 증감값 = 반복횟수 
  • 초기식 : 새로운 변수를 하나 선언해준다. 시작할 값
  • 조건식 : 반복이 수행될 때 조건식을 작선한다.
  • 증감식 : 매 반복마다 마지막에 수행할 문장을 작성한다.

문제

1부터 10까지 출력

for (int i = 1; i < 11; i++) {
			System.out.println(i);
		}

10부터 1까지 출력

for (int i = 10; i > 0; i--) {
			System.out.println(i);			
		}

12부터 3씩 증가하여 13번 출력

for (int i = 12; i < 51; i+=3) {
			System.out.println(i);						
		}

100, 94 ,88, 82, .... 28 출력

for (int i = 100; i > 22; i-=6) {
			System.out.println(i);						
		}

1부터 10까지 총 합 구하기

int result = 0;
		for (int i = 1; i < 11; i++) {
			result += i;
		}
        System.out.println(result);

n하나 입력 받아서 1부터 n까지의 총 합 구하기

System.out.print("숫자를 입력하세요 : ");
		int num = sc.nextInt();
		int result1 = 0;
		for (int i = 1; i < num+1; i++) {
			result1 += i;
		}
		System.out.println(result1);

n,m입력 받아서 n부터 m까지 출력하기

System.out.print("시작 값을 입력하세요 : ");
		int numStart = sc.nextInt();
		System.out.print("종료 값을 입력하세요 : ");
		int numEnd = sc.nextInt();
		for (int i = numStart; i < numEnd+1; i++) {
			System.out.println(i);
		}

1부터 100까지 중 짝수만 출력하기

for (int i = 1; i < 101; i++) {
			if(i % 2 == 0) {				
				System.out.println(i);
			}
		}

1부터 100까지 3과 5의 공배수만 출력하기

for (int i = 1; i < 100; i++) {
			if(i % 15 == 0) {
				System.out.println(i);				
			}
		}

A부터 F까지 출력하기

for (int i = 65; i < 91; i++) {
			System.out.println((char)i);
		}
		

AbCdEfGh.............Yz까지 출력

for (int i = 65; i < 91; i++) {
			char alpha = 'A';
			if(i % 2 == 0) {
				alpha = (char)(i+32);
				System.out.println(alpha);
			}else {
				System.out.println((char)i);							
			}
		}

중첩문 안쓰고 구구단 출력하기

for (int i = 1; i < 10; i++) {
			switch(i){
			case 1: case 2:case 3: case 4: case 5: 	case 6: case 7: case 8: 
			case 9: 
				System.out.println(i + "*1" +"=" + i*1);
				System.out.println(i + "*2" +"=" + i*2);
				System.out.println(i + "*3" +"=" + i*3);
				System.out.println(i + "*4" +"=" + i*4);
				System.out.println(i + "*5" +"=" + i*5);
				System.out.println(i + "*6" +"=" + i*6);
				System.out.println(i + "*7" +"=" + i*7);
				System.out.println(i + "*8" +"=" + i*8);
				System.out.println(i + "*9" +"=" + i*9);						
			default :
				break;
			}
		}

10진수 입력 받고 2진수 출력하기

1번째 방법(바이너리 함수)

int num4 = sc.nextInt();
		String binary = Integer.toBinaryString(num4);
		System.out.println(binary);

2번째 방법(반복문)

System.out.println("10진수를 입력하세요");
		String result2 = "";
		String result3 = "2진수 : ";
		int num5 = sc.nextInt();
		for (int i = 0; num5 > 0; i++) {
			result2 += (num5 % 2);
			num5 /= 2;
			//System.out.println(result);
		}
		for (int i = result2.length()-1; i >= 0 ; i--) {
			result3 += result2.charAt(i);
		}
		System.out.println(result3);

배열

같은 자료형의 여러 변수를 나열해 놓은 것

  • 여러 값들을 하나의 이름과 인덱스로 관리하기 위해서
  • 규칙성이 없던 값들에 규칙성을 부여하기 위해서
String [] arMsg = {"이강민", "꽃", "자바", "13", "arry"}

배열의 선언

자료형 [] 배열명 = {1,2, ....}
int [] array = {1,2,3,5,.....};

//자료의 대략적인 갯수와 자료형태를 알지만 어떤 값이 입력 될지 모를 때
자료형 [] 배열명 = new 자료형[칸수]
int [] arrData = new int[10];

배열의 인덱스 번호가 0부터인 이유
실제 값들이 저장되어 있는 공간이 할당되면 이름은 존재하지 않고 주소값만 존재한다.
따라서 시작 주소값을 배열명 변수가 갖고 있고 주소연산을 통해 다음 주소값으로 이동한다. 시작 주소에서 이동한 횟수(연산된 정수)가 인덱스 번호가 되고 첫번째 방은 배열명이 기억하고 있는 주소에서 0번 옮겨야 하므로 인덱스 번호는 0부터 시작한다.

배열의 사용

배열명[idx] = 값; // 공간
syso(배열명[idx]) // 값;

배열은 길이를 가진다.
길이를 활용하여 반복횟수를 특정할 수 있으며
또한 배열 사용을 통해 값을 출력 할 수 있다.

int [] arData = {5,10,100,99,17134};
		
		for (int i = 0; i < arData.length; i++) {
			System.out.println(arData[i]);	
		}

배열은 값을 재할당 할 수 있다.

int [] arData = {5,10,100,99,17134};
		arData[2] = 200;
		for (int i = 0; i < arData.length; i++) {
			System.out.println(arData[i]);	
		}

위와 같이 2번방에 100이 아닌 200이 출력된다.

값이 없는공간만 만들 수 있다.

int [] arData2 = new int[10];

공간만 있는 배열에 값을 넣고 출력할 수 있다.
단, 값을 할당 받지 못한 배열의 방은 0을 출력한다.

int [] arData2 = new int[5];
		arData2[0] = 10;
		System.out.println("넣어봐~!");
		arData2[1] = sc.nextInt();
		System.out.println(arData2[1]);
		for (int i = 0; i < arData2.length; i++) {
			System.out.println(arData2[i]);
		}
        // 10 , 5 , 0, 0, 0 을 출력한다.ㄴ

좋은 웹페이지 즐겨찾기