개발자로 가는길 :: 2/24 자바 수업 ( 배열 , 클래스 )

2/24 자바 수업 ( 배열 , 클래스 )

728x90
반응형

1교시 09:30~10:20 

 

진정 취하서 제출하러 합동청사 방문을 위한 외출
이날 이래저래 수업에 집중 할 수 없는 환경이라 작성도 뒤늦게 마저 한다...

100% 공부를 위한 환경이 못되다 보니 좀 아쉽다.

구글 드라이브에 수업 자료가 올라와있긴 하니 다시 한번 봐야겠다.


2교시 10:30~11:20

 

배열 예제 

package ch5;

public class ArrayEx3 {

	public static void main(String[] args) {
		// 대괄호 위치는 변수타입 뒤로 와도 상관없음 int[] score = {}
		// [] : 1차원 배열
		// [] : 2차원 배열 ( 행 , 열 구분)
		int score[] = { 100 ,88,100,100,90}; 
		
		//배열의 총 합과 평균
		int sum=0; // 합계를 저장할 변수
		float average = 0f ;
		
		for (int i = 0; i < score.length; i++) {
			sum += score[i];
			
		}
			
			average = sum / (float)	score.length;
			System.out.println("총합은 "+sum+"점 입니다" );
			System.out.println("평균은 "+average+"점 입니다");
		
	}

}
package ch5;

public class ArrayEx4 {

	public static void main(String[] args) {
		int score[] = {79,88,91,33,100,55,95};
		
		int max = score[0];
		int min = score[0];
	
		//최대값과 최소값
		
		for (int i = 1; i < score.length; i++) {
						
			if(score[i] > max ) {
			max = score[i];
		}
			else if (score[i]< min) {
			min = score[i];
			
		}
		System.out.println("최대"+max);
		System.out.println("최소"+min);
		
				
		}

	}
}

어 이건 결과가 좀 이상한데.... 강사님 코드랑 다른부분이 없는데 결과가 이상하게 나온다.. ?

근데 강사님은 실행도 안해보고 지나간다 ?   ㅠㅠ 어쩌라고..

 

3교시 정신없어서 그냥 지나감

 

4교시 12:30~13:20

 

2차원 배열

package ch5;


public class ArrayEx8 {

	public static void main(String[] args) {
		
		//2차원 배열
		//선언
		int[][] score = new int[4][3]; // 4행 3열
		int[] score2[] = new int[2][3]; // 2행 3열
		int score3[][] = new int[5][2]; // 5행 2열
		
		System.out.println(score2[0][0]);
		System.out.println(score2[1][2]);
		
		System.out.println(score2.length); // 2차원 배열의 길이는 : 행 의 길이
		System.out.println(score2[0].length); // 행 번호 입력시 열 의 길이가 출력됨
		
		//score3 = 5행 2열
		for (int i = 0; i < score2.length; i++) {
			for (int j = 0; j < score2[i].length; j++) {
				System.out.printf("%d\t", score[i][j]);
							
			}
			System.out.println();
		}
		//2차원 배열 선언 , 생성 , 초기화
		int[] score4[]= {
				{10,11,12},
				{20,21,22}
		};
		//향상된 for 문  2차원 배열 접근 코드
		for (int arr[]:score4) {
			for(int j:arr) {
				System.out.printf("%d\t",j);
			}
			System.out.println();
		}
		
		}
	}

두번째 향상된 코드는 설명을 들어도 참 모르겠다.... 강사님이 밥아저씨로 보인다

 

5교시 14:30~15:20

 

배열 연습 문제 ArrayEx8.java 다시 확인할 것.. 전혀 이해 안감

 

6교시 15:30~16:20

 

배열 연습 문제 ArrayEx9.java 도 다시 확인

package ch5;

import java.util.Scanner;

public class ArrayEx9 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String words[][]= {
				{"chair", "의자"},
				{"compter", "컴퓨터"},
				{"integer","정수"	}
				
		};
		
		
		for (int i = 0; i < words.length; i++) {
			 
			System.out.printf("Q%d). %s 의 뜻은?\n",i+1,words[i][0]);
			
			System.out.println("답변");
			
			//답변 입력받기
			String answer = sc.nextLine();
			
			//정답과 답변 비교
			if(answer.equals(words[i][1])){
				System.out.println("정답입니다");
			}
			else {
				System.out.printf("틀렸습니다 정답은 %s 입니다\n",words[i][1]);
			}
		}
	}

}

클래스 설명 시작

 

//자바 = 객체지향 언어
//코드의 재사용성이 높다
//코드 관리가 용의하다
//신뢰성 높은 프로그래밍을 가능하게 함
//클래스 = 객체를 정의 해 놓은것
//클래스 용도 = 객체를 생성하는데 사용

 

package ch6;
//자바 = 객체지향 언어
//코드의 재사용성이 높다
//코드 관리가 용의하다
//신뢰성 높은 프로그래밍을 가능하게 함
//클래스 = 객체를 정의 해 놓은것
//클래스 용도 = 객체를 생성하는데 사용

public class Tv {
	//속성 (Property) == > 멤버 변수
	//크기,길이,높이,색상,볼륨,채널 등등
	
	//멤버 변수 (프로그래밍에 필요한 것만 만든다)
	String color;  	// 색상
	int channel; 	// 채널
	boolean power; 	// 전원상태
	
	
	
	//기능 (Function) == > Method 메서드
	//켜기 , 끄기 , 볼륨up , 볼륨down 등등등
	
	//Method 
	void power() {
		power = !power;
	}
	void channelUp() {
		channel++;
	}
	void channelDown() {
		channel--;
	}
}

 

7교시 16;30 ~17:20

 

클래스 개념 설명

package ch6;

public class Car2 {
	//속성 ( property ) : 멤버변수
	//제조사 , 모델 , 색상, 최대속도
	String company;
	String model;
	String color;
	int maxspeed;
	
	//생성자
	
	// 기본(default) 생성자
	// 생성자의 이름은 클래스 이름과 동일해야 함
	// 리턴값이 없음
	
	// 목적 : 인스턴스가 생성될 때 호출됨
	//		 인스턴스 초기화 담당
	
	public Car2() {
		super();
		// TODO Auto-generated constructor stub
	}
	
	
	public Car2(String company, String model, String color, int maxspeed) {
		super();
		this.company = company;
		this.model = model;
		this.color = color;
		this.maxspeed = maxspeed;
	}
	
	
	
	



	//기능(function) : Method
	//전진한다 , 후진한다
	void forward() {
		System.out.println("전진한다");
	}
	
	void backward() {
		System.out.println("후진한다");
	}
}

 

728x90
반응형

댓글()