728x90
728x90
* 이 글은 제가 공부하기 위해 최대한 사실에 입각해 내용을 적으려고 하지만 일부 내용들이 정확하지 않을 수 있습니다.
혹시나 잘못된 부분이 있으면 너그럽게 이해해주시고 피드백 부탁드려요!
5.3.5 반복문의 중지(break 와 continue)
- 반복문에 종속
package chapter05;
public class BreakEx {
public static void main(String[] args) {
for (int i=0; i < 10; i++) {
// 조건식(i < 10)을 지워도 해당 코드 실행 가능
// i가 지속해서 증가하면서 5를 만나면 braek가 되기 때문
if ( i == 5) {
break;
}
System.out.println(i);
}
}
}
package chapter05;
public class BreakEx2 {
public static void main(String[] args) {
for (int i =0; i< 5; i++) {
for(int j=0; j<5; j++) {
if (j ==3) {
break;
}
System.out.println("i="+i+", j="+j);
}
}
}
}
package chapter05;
public class BreakEx3 {
public static void main(String[] args) {
target:for (int i =0; i< 5; i++) { // target => label (중요치않음)
for(int j=0; j<5; j++) {
if (j ==3) {
break target;
}
System.out.println("i="+i+", j="+j);
}
}
}
}
5.3.6 무한반복문 만들기
// for문 이용 for ( ; ; ) { 실행문; } // while문 이용 while (true) { 실행문; } // do~while문 이용 do { 실행문; } while (true); |
package chapter05;
import java.util.Scanner;
public class MenuEx {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
boolean run = true;
while(run) {
System.out.println("1. 고객조회 2. 고객등록 3. 정보수정 4. 종료");
int input = scanner.nextInt();
switch (input) {
case 1:
System.out.println("고객 xxx의 정보가 조회되었습니다.");
break;
case 2:
System.out.println("고객 xxx의 정보가 등록되었습니다.");
break;
case 3:
System.out.println("고객 xxx의 정보가 수정되었습니다.");
break;
case 4:
System.out.println("프로그램이 종료됩니다.");
run = false;
break; // label로 해도 됨
default:
break;
}
}
}
}
5장 연습문제
package chapter05;
public class Excercise1 {
public static void main(String[] args) {
int sum = 0;
for (int i = 0; i<=100; i++) {
// 방법 1
// if(i % 5 == 0) {
// sum += i;
// }
// 방법 2(삼항연산)
// sum += i % 5 == 0 ? i : 0;
}
System.out.println("5의 배수의 합계는 " + sum);
}
}
package chapter05;
public class Excercise2 {
public static void main(String[] args) {
int evenSum = 0;
int oddSum = 0;
for(int i=1; i<=100; i++) {
if ( i % 2 == 0) {
evenSum += i;
}
else {
oddSum += i;
}
}
System.out.println("짝수의 합계는 "+evenSum);
System.out.println("홀수의 합계는 "+oddSum);
}
}
package chapter05;
public class Excercise3 {
public static void main(String[] args) {
for(int x=1; x<=6; x++) {
for (int y=1; y<=6; y++) {
if (x+ y == 6) {
System.out.printf("(%d, %d)\n", x,y);
}
}
}
}
}
package chapter05;
public class Excercise4 {
public static void main(String[] args) {
for(int i=0; i<5; i++) {
for(int j=0; j<i+1; j++) {
System.out.printf("*");
// System.out.println("("+ i + +","+ j + ")");
}
System.out.println();
}
}
}
package chapter05;
public class Excercise5 {
public static void main(String[] args) {
// for(int i=5; i>0; i--) {
// for(int j=0; j<i; j++) {
// if (i>5 && j<5) {
// System.out.printf(" ");
// }
// else {
// System.out.printf("*");
// }
//
// }
// System.out.println();
// }
for(int i =0; i<5; i++) {
for(int j=0; j<5; j++) {
if(i+j <= 4) {
System.out.print("*");
}
}
System.out.println();
}
}
}
package chapter05;
public class Excercise6 {
public static void main(String[] args) {
for(int i=0; i<5; i++) {
for(int j=0; j<9; j++) {
System.out.print("(" + i + ","+j + ")");
// if (i<=j && j == 4) {
// System.out.print("(" + i + ","+j + ")");
// }
// else if (i+j == 4) {
// System.out.print("(" + i + ","+j + ")");
// }
}
System.out.println();
}
}
}
package chapter05;
public class Excercise7 {
public static void main(String[] args) {
// 주사위의 눈 6
// 횟수
// Math.random()
int i=0;
while(true) { // while(주사위의눈 != 6) {
int d = (int)(Math.random()*6)+1;
System.out.println("("+d+")"); // 주사위
// System.out.println((int)(d*45)+1); // 로또
i++;
if(d == 6) {
System.out.printf("총 주사위 굴린 횟수는 : %d", i);
break;
}
// System.out.println("횟수 : " + 횟수);
}
}
}
6장 배열
6.1 배열 선언
데이터 타입[] 변수명;
데이터 타입 변수명[];
* 데이터 타입[] 변수명[]; => 동시에 붙이면 2차원 배열이 되니 조심하자!
package chapter06;
import java.util.Iterator;
public class ArrEx1 {
public static void main(String[] args) {
int[] arrInt;
int arrInt2[] = new int[5];
// 자바의 지역변수는 반드시 초기화해야함.(변수 선언만 해서는 안됨)
// C언어의 지역변수는 안할 수는 있으나 문제가 있음
// System.out.println(arrInt[0]);
// arrInt2[0] =1;
// arrInt2[1] =2;
// arrInt2[2] =3;
// arrInt2[3] =4;
// arrInt2[4] =5;
// for문으로 변환
for (int i = 0; i < arrInt2.length; i++) {
arrInt2[i] = i + 1;
}
System.out.println(arrInt2);
// 런타임 오류, null 포인터 에러
}
}
6.2 배열 사용
인덱스는 0번부터 시작하기 때문에 마지막 배열의 길이에서 -1 값이 된다.
배열의 길이를 알 수 있는 방법은 배열변수명.length 이다.
package chapter06;
public class ArrEx6 {
public static void main(String[] args) {
String[] arrStr = {"홍길동","이순신","김유신","강감찬"};
System.out.println("배열의 길이 :"+arrStr.length);
}
}
package chapter06;
import java.util.Arrays;
public class ArrEx7 {
public static void main(String[] args) {
String[] arrStr = {"홍길동","이순신","김유신","강감찬"};
System.out.println("배열의 길이 : "+arrStr.length);
for(int i =0; i < arrStr.length; i++) {
System.out.println(arrStr[i]);
}
System.out.println(arrStr); // 나중에 다시 한번 공부할 내용
System.out.println(Arrays.toString(arrStr)); // 배열의 내용을 전개해주는 것
}
}
package chapter06;
public class ArrEx8 {
public static void main(String[] args) {
int[] number = new int[100];
// 배열 변수에 대입
for (int i=0; i<number.length; i++) {
number[i] = i+1;
}
// 배열 변수 출력
for (int i = 0 ; i <number.length; i++) {
System.out.println(number[i]);
}
}
}
package chapter06;
public class Lotto {
public static void main(String[] args) {
int[] lotto = new int[6];
int idx = 0;
while (true) {
int number = (int)(Math.random()*45)+1;
boolean insert = true;
for (int i=0;i<=idx; i++) {
if (lotto[i] == number) {
insert = false;
break;
}
}
if (insert == true) {
lotto[idx] = number;
idx++;
}
if (idx == 6) break;
}
for (int i=0; i<lotto.length;i++) {
System.out.println(lotto[i]);
}
}
}
package chapter06;
public class ArrEx9 {
public static void main(String[] args) {
System.out.println("첫번째 값 :"+args[0]);
System.out.println("두번째 값 :"+args[1]);
// 실행시 지정될 아규먼트 (인자 인수라고 표현)
// 초기값을 가지고 실행
// 문자열 배열, 공백이 인자의 구분값 홍길동 이순신
}
}
6.3 다차원 배열
package chapter06;
public class ArrEx10 {
public static void main(String[] args) {
// 첫번째
int[][] matrix = new int[3][3];
matrix[0][0] = 1;
matrix[0][1] = 2;
matrix[0][2] = 3;
matrix[1][0] = 4;
matrix[1][1] = 5;
matrix[1][2] = 6;
matrix[2][0] = 7;
matrix[2][1] = 8;
matrix[2][2] = 9;
// [지연][순환]
// 두번째
int[][] matrix2 = {{10,20,30},{40,50,60},{70,80,90}};
// 세번째
int[][] matrix3 = {
{100,200,300},
{400,500,600, 100, 200},
{700,800,900}
};
System.out.println("[첫번째]");
for(int i=0;i<matrix.length;i++) {
for(int j=0;j<matrix[i].length;j++) {
System.out.print(matrix[i][j]+" ");
}
System.out.println();
}
System.out.println();
System.out.println("[두번째]");
for(int i=0;i<matrix2.length;i++) {
for(int j=0;j<matrix2[i].length;j++) {
System.out.print(matrix2[i][j]+" ");
}
System.out.println();
}
System.out.println();
System.out.println("[세번째]");
for(int i=0;i<matrix3.length;i++) {
for(int j=0;j<matrix3[i].length;j++) {
System.out.print(matrix3[i][j]+" ");
}
System.out.println();
}
}
}
package chapter06;
import java.util.Arrays;
public class ArrEx11 {
public static void main(String[] args) {
int[][][] arrInt = new int[3][3][3];
int value = 0;
// 값 대입
for ( int i =0 ; i <= 2; i++) {
for (int j=0; j <=2; j++) {
for (int k =0; k <=2; k++) {
arrInt[i][j][k] = value++;
}
}
}
// 값 대입
for ( int i =0 ; i <= 2; i++) {
for (int j=0; j <=2; j++) {
for (int k =0; k <=2; k++) {
System.out.print(arrInt[i][j][k]+"\t");
}
System.out.println();
}
}
System.out.println(Arrays.deepToString(arrInt));
}
}
package chapter06;
public class ArrEx12 {
public static void main(String[] args) {
// 배열 초기화
// 1. 크기를 통한 초기화
int[] arr2 = new int[3];
// 2. 지정된 값을 통한 초기화
int[] arr = new int[] {1,2,3,4};
// 선언 = 할당
// 위처럼 동시에 하면 [] 생략 가능
int[] arr3 = {1,2,3,4};
int[] arr4;
// arr4 = {1,2,3,4}; // 오류 발생
arr4 = new int[] {1,2,3,4};
int[][] arrInt = new int[3][];
arrInt[0] = new int[] {1};
arrInt[1] = new int[] {2,3};
arrInt[2] = new int[] {4,5,6};
for(int i=0; i<arrInt.length;i++) {
for(int j=0;j<arrInt[i].length;j++) {
System.out.print(arrInt[i][j]);
}
System.out.println();
}
}
}
728x90
300x250
'Full Stack > JAVA' 카테고리의 다른 글
[풀스택과정] JAVA 연습문제/코딩테스트(연산자, 제어문, 배열) (1) | 2023.01.14 |
---|---|
[풀스택과정] JAVA 6장 배열, 7장 클래스(1) (0) | 2023.01.13 |
[풀스택과정] JAVA 5장 제어문 (0) | 2023.01.11 |
[풀스택과정] JAVA 4장 연산 (0) | 2023.01.10 |
[풀스택과정] JAVA 1장 자바기초 2장 자바설치 3장 변수와 자료형 (0) | 2023.01.09 |