본문 바로가기

java

(25)
Java - 실무4 [학점계산기] public class Main { public static void main(String[] args) { GradeCalculator gradeCalc = new GradeCalculator("김신의", 4.0, 100); gradeCalc.addCourse(new Course("OOP", Course.CREDIT_MAJOR, "A+")); gradeCalc.addCourse(new Course("신호와시스템", Course.CREDIT_MAJOR, "A")); gradeCalc.addCourse(new Course("해석학", Course.CREDIT_MAJOR, "B+")); gradeCalc.addCourse(new Course("확률", Course.CREDIT_MAJOR, "A+")); gr..
Java - 실무3 [영화관] Theater.java - 행과 열을 인수로 받아 이중 Seat 배열을 가진다. - 좌석을 예약하거나 취소한다 - 예약된 좌석을 보여준다. public class Theater { private Seat[][] seats; private int rowCount, colCount; // Theater 생성자 : 행, 열 인수. public Theater(int rowCount, int colCount) { // 행은 알파벳의 26자리를 넘어가지 못한다. if (rowCount > 26) { rowCount = 26; // number of alphabets } // 영화관의 시트 이중 배열을 생성한다. seats = new Seat[rowCount][colCount]; // 해당 시트자리마다 시트객체를 생..
Java - 실무2 [포켓몬 도감] Pokemon.java - 포켓몬 클래스이다. - 이름과 전투력을 지정할 수 있다. public class Pokemon { public final String name; public final int cp; // 포켓몬 생성자 인수 : 이름, 전투력 public Pokemon(String name, int cp) { this.name = name; this.cp = cp; } // String에서 toString이라는 원래 있는 메소드를 오버라이드 @Override public String toString() { return name + "(" + cp + ")"; } } PokeBag.java - 포켓몬을 저장하는 가방의 개념으로 - 같은 종류의 포켓몬을 저장하는 리스트를 만들고 그러한 여러종류의 포..
Java - 실무1 [은행] BankAccount.java - 은행 계좌 클래스 public class BankAccount { private int balance; private Person owner; // 은행 계좌 생성자 잔액 public BankAccount(int pBalance){ // 잔액이 0 이하로 주어질 때는 balance를 0으로 if (pBalance < 0){ balance = 0; } else{ balance = pBalance; } } // 은행계좌 생성자 오버로딩 Person public BankAccount(Person pOwner){ owner = pOwner; balance = balance; } // 은행계좌 생성자 오버로딩 잔액, Person public BankAccount(int pBala..
Java - 6 [try - catch, 인스턴스 변수 - 클래스 변수] try-catch 예외처리 - 자바에서는 오류가 날 수 밖에 없는 코드가 존재 할수 있다. 예를 들면 사용자의 입력에 따라 다른데 배열에서 for문이 먼저 정의된 길이보다 초과해서 입력이 되었다거나, 입력 문자열의 크기가 너무 크다거나 다른 형태의 자료형으로 입력되었다거나 하는 형식이다. 이러한 문제를 해결하려면 예외처리가 필수적이다. try{ // 오류를 발생 시킬 수 있는 코드 } catch (Exception e) { // 오류가 발생한 경우 처리 할 코드 } 실행 예외 발생 이유 ArithmeticException 0으로 나누기와 같은 부적절한 산술 연산을 수행할 때 발생 IllegalArgumentException 메서드에 부적절한 인수를 전달할 때 발생 IndexOutOfBoundsExcept..
Java - 4 [Class, 접근제어자] Class 자바의 클래스는 아래와 같은 구조를 갖는다. public class Person { String name; int age; int cashAmount; // 은행 계좌? } 변수와 메소드의 모둠이며 이것을 선언할 때는 일반 자료형과 같이 선언한다. public class BankAccount { int balance; // 소유인? } public class Person { String name; int age; int cashAmount; BankAccount account; } 클래스안에 다른 클래스를 선언하여 자료형처럼 사용이 가능하다. Method 메소드의 형태는 다음과 같다. - 메소드의 리턴 타입 - 메소드의 이름 - 파라미터 - 기능의 수행부분 Instance 클래스를 선언하고 이..
Java - 2 [형변환, 조건문, 반복문] 형변환 자료형의 범위 int x = 2; double y = x; 더 작은 자료형의 값을 더큰 자료형에 넣으면 그 값의 범위를 온전히 보전하며 형변환이 가능하다. 하지만 그 반대의 경우 Typecasting(형변환)을 해줘야 하는데 Typecasting(형변환) double x = 2.1; int y = (int) x; 이렇게 형변환을 해주면 해당하는 값의 범위에 맞게 값이 잘려 표현된다. 위의 범위와 같이 랭크에 따라 형변환이 가능하다. Literal 아까 전에 봤던 표기법이 리터럴 표기법이다. long e = 1231512351235L 이와 같이 리터럴이라고 하면 자료형의 고정된 표기법을 말하는데 short 나 byte int의 경우 정수 리터럴 이라고 할수 있다. 조건문 if if (조건부분 1) ..
Java - 1 [변수, 연산자] 실행파일 실행하기 Shift + F10 코드를 분석해보자 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } } public : 접근제어자 (공개설정) class HelloWorld : 클래스 정의 main : 함수이름 void : 리턴값이 없음 String[] args : args라는 이름의 문자열을 입력값으로 받기 static : 정적메소드 일단 넘어가자. 변수 자바는 int : 자료형 옆에 x 변수이름을 써준다. 중요한 변수이름 규칙이 있다. 1. 대소문자 구분 2. 숫자로 시작할 수 없다. 3. 자바의 키워드(예약어 : public, static, .. 같은)는 ..