문제 : 위와 같이 출력되는 코드 만들기 먼저 스캐너로 반 수를 입력받는다. 2차원 배열로 점수 입력받기 합계, 평균 구해서 표로 출력하기
배열이란? -자료를 순차적으로 한꺼번에 관리하는 방법 -동일한 자료형의 순차적 자료 구조 -배열의 순서는 0부터 시작 -자바에서는 객체 배열을 구현한 ArrayList를 많이 활용함 배열의 선언과 초기화 1)배열 선언하기 int [ ] arr1 = new int[10]; int arr1[ ]=new int[10]; 2)배열 초기화하기 -배열은 선언과 동시에 자료형에 따라 초기화됨.(정수는 0, 실수는 0.0, 객체는 null) -필요에 따라 초기값을 지정할 수 있음. int[] numbers=new int[]{10,20,30}; //개수 생략해야함. int[] numbers={10,20,30}; //new int[] 생략 가능 int[] ids; //선언 후 배열을 생성하는 경우 ids=new int[]..
변수의 종류, 유효 범위와 메모리 변수유형 선언위치 사용범위 메모리 생성과 소멸 ---------------------------------------------------------------------------------------------------------------- 지역변수 메서드 내부 메서드 내부 스택 함수가 호출될 때 생성되고 (local var) 함수가 끝나면 소멸됨. 멤버변수 클래스 멤버 클래스 내부 힙 인스턴스가 생성될 때 힙에 생성, 변수로 선언 GC가 메모리 수거할 때 소멸됨. static 변수 클래스 내부 클래스 내부 데이터영역 프로그램이 처음 시작할 때 (클래스 변수) 상수와 함께 생성되고 프로그램이 끝나고 메모리를 해제할 때 소멸됨. --------------------..
4가지 모양이 각 13장씩 있는 총 52장 카드 뽑기 예제 만들기 클래스 3개가 필요하다. //Card 클래스 //카드 개수와 무늬를 상수로 선언해준다. //생성자를 추가하고 //toString()으로 오버라이딩 해준다. //Deck 클래스에 초기화 블록을 생성한다. //뽑는 기능 //카드 섞는 기능을 추가한다. //pick() 메서드 호출해서 출력해보기 //★중요★ //초기화블럭을 사용했기 때문에 생성자보다 먼저 실행됨 //섞어보면 //랜덤으로 섞어서 나온다. (너무 기니까 생략)
생성자(Constructors) -모든 클래스는 반드시 최소한 하나의 생성자가 있어야 함. -객체를 생성할 때 new 키워드와 함께 사용함. -생성자는 일반 함수처럼 기능을 호출하는 것이 아니고 객체를 생성하기 위해 new와 함께 호출됨. -객체가 생성될 때 변수나 상수를 초기화하거나 다른 초기화 기능을 수행하는 메서드를 호출함. -생성자는 반환값이 없고 생성자 이름은 클래스 이름과 동일함. -대부분의 생성자는 외부에서 접근 가능하지만(public) 필요에 따라 private으로 선언되는 경우도 있다. 기본 생성자(default constructor) -클래스에 반드시 적어도 하나 이상의 생성자는 존재해야 한다. -클래스에 생성자를 구현하지 않아도 new 키워드와 함께 생성자를 호출할 수 있음. -클래스..
JVM의 메모리 구조 1. 호출스택(Call Stack) -- LIFO (Last In First Out), 후입선출, 가장 마지막에 들어온 자료가 가장 먼저 삭제된다. -메서드의 저장 공간 -메서드가 호출되면 메서드 수행에 필요한 메모리 공간을 할당받고 -메서드가 종료되면 사용하던 메모리를 반환함. ->프로그램의 시작점 main()이 시작하면서 필요한 메모리 공간을 할당함. ->호출 스택에서 맨 위에 있는 메서드가 현재 실행 중이며 아래에 있는 메서드가 바로 위에 메서드를 호출한 메서드이며 대기 상태로 있음. 2. 힙(Heap) -인스턴스가 생기는 공간 -new 연산자에 의해 생성되는 객체는 모두 여기에 생성됨. 호출 스택 (Call Stack) 확인 예제 같은 클래스에 있는 메서드를 .으로 호출 가능..
드디어 대망의 객체지향....... 이전 학원에서 수업 듣고 자바의 정석 객체지향 문제 거의 10번은 반복해서 푼 것 같은데 아직도 친해지지 못한 객체지향..... 이번엔 꼭 수업 뽝 열심히 듣고 이해하고 말테다. 객체(Object) -의사나 행위가 미치는 대상 -구체적, 추상적 데이터 단위(학생, 회원, 생산, 주문, 배송...) 클래스 -객체의 속성은 멤버 변수(member Variable)로 선언함. *객체 vs 클래스 붕어빵 붕어빵 기계 *클래스 : 객체를 정의해 놓은 코드, 객체를 생성하는 데 사용함. - java 파일 하나에 클래스는 여러 개가 있을 수 있지만 public 클래스와 .java 파일의 이름은 동일함. - 클래스는 대문자로 시작하는 것이 좋음. 함수와 메서드 함수(function)..
While문 - 조건이 참(true)인 동안 반복 수행 - 조건이 맞지 않으면 반복 수행을 멈추게 됨. -ex) 달리는 자동차, 일정 횟수만큼 돌아가는 나사못, 특정 온도까지 가동되는 에어컨 while(조건식) { 수행문1; ..... } 수행문2; do~while문 - 조건과 상관없이 한 번은 수행문을 수행 do { 수행문1; } while(조건식) { 수행문2; ..... } for문 for(초기화 식(1); 조건식(2); 증감식(4) { 수행문(3); } 수행 순서 : 1 -> 2 -> 3 -> 4 -> 2 -> 3 -> 4 -> 3 -> 4... *2번이 false가 되는 순간 반복 종료. 예제 예제 01. while문을 활용한 3을 입력했을 때 종료하는 프로그램 구현 예제 02. do~while..