(학) (공) (자)
01.04(6일차)
만석이
2024. 1. 4. 14:55
1교시
---(다중 for문)에제6--- 1 2 3 4 5 6 7 8 9 10 2 3 4 5 6 7 8 9 10 1 3 4 5 6 7 8 9 10 1 2 4 5 6 7 8 9 10 1 2 3 5 6 7 8 9 10 1 2 3 4 6 7 8 9 10 1 2 3 4 5 7 8 9 10 1 2 3 4 5 6 8 9 10 1 2 3 4 5 6 7 9 10 1 2 3 4 5 6 7 8 10 1 2 3 4 5 6 7 8 9 for(int i=1; i<=10; i++) { for(int j=0; j<10; j++) { int num = i+j; if(num>10) { num-=10; } System.out.print (num+" "); } System.out.println(); } ---while--- while(조건식){ (조건식이 참일때 반복할 명령) } 1.간편한 구성을 가진 반복문(선비교 후처리) 2.반복횟수가 정해져있지 않고, 조건식이 true일 경우 계속해서 반복하는 문법 3.for문보다는 구조가 간단하지만 무한루프 같은 오류에 빠지기쉽다. 4.while문은 for문 처럼 시작값과 증감값을 가지고 있지않기때문에 시작값과 증감값을 따로 지정해줘야한다. ---(while)예제1 Scanner scan = new Scanner(System.in); System.out.println("정수입력"); int n= scan.nextInt(); while(n!=0) { System.out.print .printf("%d의 값:",n); n=scan.nextInt(); } ---do while--- do{ } while(조건식); 1.선처리 후비교 2.조건에 맞지 않아도 무조건 한번은 실행한다. 3.제어문 중 유일하게 세미콜론을 붙히는 문법 4.반복횟수가 지정되는 경우 -> 횟수를 만족할때까지 반복 5.ex)물통에 물을 10번 채워라 ->for문 ex)물통에 물이 가득찰때까지 채워라 ->while문 6.특정 조건과 옵션이 부여되는 경우 -> 한 번 실행한 후 반복 여부 판단 ex)물통에 물을 따라보고 새지않으면 끝까지 채워라 ->do+while문 ---(do_while)예제1 int i =11; do { System.out.println(i); }while(i<=10); ---기타제어문--- 특징:break나 continue밑에는 어떠한 코드도 올수없다. 일반적으로 조건식의 검사를 통해서 반복문에 진입하게 되면 다음 조건식을 검사하기 전까지 반복문 안에 있는 모든 명령을 실행한다. 기타제어문을 통해 반복문의 흐름자체를 개발자가 직접 제어할수있다. ---break--- 반복문 내에서 break를 만나게 되면 가장 가까운 반복문을 종료하고 다음 코드를 실행하게된다. ---(break)예시1--- int n=1; while(true) { System.out.println(n); n++; if(n>10) { break; } } ---(break)예시2--- for(int i=1; i<=2; i++) { for(int j=1; j<=5; j++) { if(j%2==0) { break; } System.out.println(j+" "); } System.out.println(); } ---continue--- 반복문 내에서 continue를 만나게 되면 가장 가까운 반복문의 증감식으로 돌아간다. ---(continue)예제1--- for(int i=1; i<=2;i++) { for(int j=1; j<=5; j++) { if(j%2==0) { continue; } System.out.println(j+" "); } System.out.println(); } |
2교시
---label--- label은 항상 쌍으로 존재한다. label의 이름은 자기가 원하는대로 사용가능하다. label은 자신을 포함하고 있는 상위 개념에게만 달수있다. 일반적인 기타제어문은 단 하나의 반복문만 이동하게 해준다. break 와 continue에 label을 달아서 가장 가까이 있는 반복문이 아닌 내가 원하는 반복문을 빠져나오거나 이동할수있다. ---(label)예제1--- happy:for(int i=1; i<=3; i++ ) { for(int k=1; k<=10; k++) { System.out.print(k+" "); } for(int j=1;j<=10;j++) { if(j%2==0) { break happy; } System.out.println(j+" "); } System.out.println(); } ---배열--- //배열의 생성하는 방법 배열명 = new 자료형[길이]; //선언과 생성을 동시에 하는방법 자로형[] 배열명= new 자료형[길이]; //배열에 저장된 값을 미리 부여해 선언하는 방법 int[ ] arr = {1,2,3,4,5} 5개의 값을 대입했기 때문에 배열의 크기는 자동적으로 5가되며 각 순서에 맞게 데이터가 삽입된다. 해당 방법은 배열을 최초 선언할때만 가능하다. 배열을 선언한 후 다시 값을 대입하는 경우에는 이미 선언된 대열을 다시 정의하여 값을 대입하면 가능하다. arr = new int[ ]{2,3,4,5,6}; 값이 주소값에 저장되어 해당 주소를 통해 실제 메모리값에 접근가능하다. 특징 1.배열 선언시 크기를 지정 2.배열 선언 후 공간의 크기를 늘리거나 삭제할수없다. 3.지정된 자료형의 값만 지정할수있다. |
3교시
---배열의 구조--- 1.배열을 만든 후에는 값을 넣거나 꺼내야한다. 2.배열은 각 공간마다 위치를 알려주는 위치 값이 존대한다. 3.우리는 배열이 지니는 값들의 위치를 인덱스(index)라고 한다. 4.인덱스는 배열 공간마다 붙여진 번호로 0부터 시작하여 순차적으로 증가한다. ---배열의 초기값--- 1.배열은 생성과 동시에 데이터 자료형별로 기본값이 주어진다. 2.배열을 선언했을 때 저장되는 초기값을 자료형별로 정리할수있다. 정수:0 실수:0.0 문자형:'' 객체형:null ---배열에 값넣기--- ar = int[4]; ar[0] = 100; ar[1] = 200; ar[2] = 300; ar[3] = 400; ---배열의 출력--- 1.System.out.ptintln(arr[0]); 2.for(int i=0; i<ar.length;i++) { System.out.println(ar[i]); } ---(array)예시1--- char[] ch; ch = new char[4]; ch[0] = 'J'; ch[1] = 'A'; ch[2] = 'V'; ch[3] = 'A'; for(int i=0; i<ch.length; i++) { Systehttp://m.out.print(ch[i]); } ---(array)예시2--- //방에 값을 넣어주지않은 방의 값을 출력하면 null값이나온다. String[] str = new String[3]; str[0] = "hello"; for(int i=0; i<str.length; i++){ System.out.println(str[i]); } ---(array)예시3--- //LOVE출력 char[] cards = {'1','L','2','O','3','V','4','E','Y','5','6','0','U'}; String myWord =" "; int num = 0; for(int i= 0; i<=cards.length; i++) { num++; if(num%2==0 && num<10) { System.out.print (cards[i]); } } ---(array)예시4--- //프로그램이 실행되면 배열의 길이를 몇으로 할것인지 키보드에서 입력받는다. //키보드에서 입력받은 길이 만큼 알파벳을 넣고 출력하세요 //키보드에서 5를 입력받았다면 //A B C D E Scanner scan = new Scanner(System.in); System.out.println("정수를 입력하세요"); int num1 = scan.nextInt(); char[] ch1 = new char[num1]; System.out.println("알파벳을 입력하세요"); ch1[0] = (char)scan.nextInt(); for(int i=0; i<=ch1.length;i++) { System.out.println(ch1[i]); } } } |