전체 글200 16. 객체 배열, 클래스의 정의 1. 객체 배열 우선 기억해야하는 것은 배열의 0번째 인덱스의 주소값과 배열 자체의 시작 주소값은 동일!!! 하다는 것 int[] array = new int[3]; for(int i=0; i 나처럼 귀차니즘 레벨이 만땅이 사람이라면 너무나도 고마운 기능이다. 2-2. 사용자 정의 타입이란? 클래스를 통해서 사용자 자신이 원하는 타입을 직접 만들 수 있다(여기서 타입==클래스 라고 생각하면 됨) 자바에서는 기본으로 제공되는 굉장히 많은 패키지와 그 안에 있는 클래스들이 있지만, 결국 내가 찾는 것이 없는 경우도 많다. 예를 들어 내가 멀티플레이 게임을 만들려고 할 때 게임 안에서 캐릭터를 생성하면 사람의 캐릭터 닉네임과 레벨 움직임이 있어야 한다. String name = "젤다"; int Lv = "1.. Java - 기본기 2021. 10. 22. 백준 Java - 4단계 1차원 배열 활용하기(2) : 3052번, 1546번 오늘도 자바 알고리즘 문제 중 3052번 1546번 총 2문제 풀이를 완료했다. 사실 예전처럼 한번에 모아서 싹! 올리고 싶었는데 점점 문제도 뭔가 어려워지고, 코드도 길어져서 이제 풀고 바로바로 올리려고 한다. 1. 3052번 : 서로 다른 나머지는 몇 개? 10개의 수를 입력받고 42 로 나누었을 때 서로 다른 나머지값은 몇 개 일까? import java.io.*; import java.util.Arrays; public class Q11_2 { public static void main(String[] args) throws IOException { Q_3052(); } static void Q_3052() throws IOException { BufferedReader br = new Buffe.. Java - 알고리즘 2021. 10. 20. 15. 객체 지향 언어란? 클래스와 객체(활용편) : 클래스와 객체 활용한 게임 만들기 1. 하나의 소스파일에 여러 클래스 작성하기 자바 소스 파일 안에는 2개 이상의 클래스를 넣을 수 있음. 이때 소스 파일 명과 public class의 "클래스명" 이 일치하여야 한다. 단!! public class 가 없는 경우 소스 파일 이름은 해당 소스 파일 내 어떤 클래스의 이름으로 해도 무방하다. 비고 자바 소스 파일 명 자바 클래스 명 설명 올바른 예 Hello2.java public class Hello2{} class Hello3 public class 가 있는 경우 소스파일의 이름은 반드시 public class 와 일치해야한다. Hello3.java class Hello2{} class Hello3{} public class가 하나도 없는 경우 소스파일의 이름은 어떤 클래스명으로해도 무.. Java - 기본기 2021. 10. 19. 14. 객체 지향 언어란? 클래스와 객체(개념편) 1. 객체 지향 언어 '80년 초 소프트웨어의 위기 - 기존 언어(ex. C언어) 빠른 변화를 못 쫓아감 → 해결책으로 객체지향 언어를 도입(절차적 → 객체지향) 코드의 재사용성이 높고, 유지보수가 용이, 중복 코드 제거 객체지향 언어 = 기존 프로그래밍 언어 + 객체지향 개념 & 규칙 2. 객체 지향 언어(OOP) : 4대 핵심 개념(자세한 내용은 다음에 좀 더 작성해두도록 하겠다) ※ 참고로 아래 4대 개념은 엄청!!!! 중요함과 동시에 정보처리기사 필기 시험 단골 출제 문제입니다. 캡슐화 상속 추상화 다형성 3. 객체 지향 개념 공부 방법(공부 커리큘럼) 개념과 규칙들을 당장 이해하는 것보다는 우선 외워서 기억하기 객체 지향의 기초 개념 : 자바의 정석 기초편 6장 & 7장 - 클래스와 객체, 객체.. Java - 기본기 2021. 10. 17. 백준 JAVA - 4단계 1차원 배열 활용하기(1) 이번에는 1차원 배열 문제를 풀어보았다. 뭔가 이전에 for 에 비해서 난이도가 확! 올라간 것 같은 느낌이였다. while 문을 그냥 넘긴 이유는 for 문을 한 번 했으니까 다른 문제를 먼저 접해보고 싶었다. 1차원 배열 문제중 10818번, 2562번, 2577번을 풀이 및 코드이다. 1. 10818번 - 최솟값, 최댓값 찾기 static void Q_10818() throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); // 변수 초기화 int num1.. Java - 알고리즘 2021. 10. 15. 13. String 클래스, Arrays로 배열 다루기(feat. String 클래스 매서드, Arrays 클래스 매서드) 1. String 클래스 String 클래스는 사실 char[] 와 메서드(기능)를 결합한 것 즉, 문자 배열 char[] 에다가 어떠한 메서드(기능)을 결합한 형태라고 생각하면 된다. String 클래스는 내용을 변경할 수 없다(read only) : 읽기만 가능 String a = "a"; String b = "b"; a = a + b 이때 a 는 어떻게 될까? a = ab 로 기존의 문자열이 바뀌는 것이 아닌 새로운 "ab" 라는 문자열이 생성 & 저장된다 2-1. String 클래스의 주요 매서드 메서드 설명 char : charAt(int index) 문자열에서 해당 위치(index)에 있는 문자를 반환한다. int : length() 문자열의 길이를 반환한다. String : substring.. Java - 기본기 2021. 10. 14. 12. 2차원 배열 기초 & 활용(feat. String 값 비교하기 & 2차원 배열을 활용한 문제 만들기) 1. 2차원 배열 사용하기 2차원 배열은 테이블 형태의 데이터를 저장하기 위한 배열(아래 그림 참고) 2차원 배열은 1차원 배열이 여러 개 모여있는 형태라고 생각하면 됨. 3차원 배열은 이러한 2차원 배열이 여러개 모여있는 형태(3차원 이상 잘 안 쓰임) 수학에서 사용했던 '함수'를 생각하면 오히려 이해하기 편하다. 참고로 num[i][j] 일때 num[row][column] => i 는 행, y 좌표 , column 은 열, x 좌표 아래 테이블 같은 형태는 비교 국어 영어 수학 1 100 100 100 2 20 20 20 3 30 30 30 요런 식의 배열로 변함 행 index : 0 ~ 3 (함수 y 좌표) 열 index : 0 ~ 3 (함수 x 좌표) score[0][0] score[0][1] s.. Java - 기본기 2021. 10. 14. 11. String 배열의 선언과 생성, 커맨드라인에서 입력받기(feat. 가위바위보 게임) 1. String 배열의 생성&선언 String 배열은 기본형이 아닌 참조형!! 이 때문에 기본값에 'null'이 들어감 String[] name = new String[3]; // 3개의 문자열을 담을 수 있는 배열을 생성 name = {"anne", "pray", "Reon"} String 활용해서 가위바위보 게임 만들기!! 내가 만들 가위바위보 게임의 조건은 다음과 같다. 조건 1. while, switch 사용하기 : 1,2,3으로 입력받고 99로 끝내기(if 문 두번 사용하지 않기) 조건 2. String 배열 사용하기 조건 3. Buffer 사용해서 입력받기(출력은 println 사용하기) 여기서 좀 더 고치면 출력도 bufferedWriter 로 하는 방법과 코드를 줄이는 방법 정도? imp.. Java - 기본기 2021. 10. 13. 10. 배열 다루기 활용편 (2) : 총합, 평균, 섞기, 로또 만들기 이번에는 따로 설명보다는 배열을 활용한 각종 코드에 대해서 공부하였다. 아래에는 해당 코드+설명을 함께 적도록 하겠다. 1. 배열 요소들의 총합&평균 구하기 static void Ex1() { int sum = 0; float average = 0f; int[] score = {100, 88, 90, 36, 80}; for(int i=0; i Java - 기본기 2021. 10. 11. 백준 JAVA - 3단계 for 활용하기 (2) (feat. 별 찍기, x보다 작은 수) 2021.09.29 - [알고리즘 공부] - JAVA - 3단계 for 활용하기 (1) (feat.Buffer, StringTokenizer, String.split 사용) 이번에는 for문 알고리즘 문제 2편입니다(1편은 위에 링크로) 지난 글에 이어서 2742번부터 10871번까지 풀어보았다. 다만 문제 유형에 맞춰 2742 ~ 11022 번까지와 2438 ~ 10871 번으로 나누어 적도록 하겠다. 1. 2742 ~ 11022 까지 풀이!! 여기 문제는 이전 문제를 풀었다면 크게 문제없을 정도의 난이도! 입력-출력의 반복이라는 점과 BufferedWriter 로 입력받았을 때 나누는 방법만 알면 크게 문제 될 것은 없어보인다. package baekJoon; import java.io.*; publ.. Java - 알고리즘 2021. 10. 8. 9. 배열 다루기 기초편 (1) : 배열의 생성, 선언, 인덱스 1. 배열이란? 배열은 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 즉 int 형 10개의 변수를 하나의 묶음으로 다루거나 String 형 10개의 변수를 하나의 묶음으로 다루는 것이 가능 int[] score = new int[5]; // int 값 5 개를 저장 할 수 있는 score 배열 생성 !!! 배열에는 자동으로 인덱스 == 저장 공간이 만들어짐. 이때 인덱스 번호는 1이 아닌 0부터 시작! 2. 배열의 생성과 선언 배열의 선언 - 배열을 다루기 위해 참조 변수의 선언 ⇒ 선언 방법은 아래 2가지 // 1. 배열 선언 타입[] 변수이름; // 이쪽을 보통 더 선호 타입 변수이름[]; // 2. 배열 선언+길이 지정 int[] score; // int 타입의 배열을 다루기 위한 참조변수 .. Java - 기본기 2021. 10. 8. 8. 조건문과 반복문 기초&활용(3) - break, contiune, 이름붙은 반복문(feat. 미니 게임 만들기 & 제곱근, 로그 계산기) 1. break문 자신이 포함된 하나의 반복문을 벗어난다. 아래 처럼 사용 가능 중요한 점은 for 문은 무한 반복 할 때 사용되는 true 가 생략 가능하나, while 문은 true 가 생략 불가능하다. static void breakk() { int i=0, sum=0; while(true) { // 여기서는 true 생략 불가 if(sum > 100) break; i++; sum+=i; } // end of while System.out.println("i = " + i); System.out.println("sum = " + sum); } static void forr() { int i=0, sum=0; for(;;) { // for 문은 true 생략 가능, 혹은 ;true; 사용 if(sum.. Java - 기본기 2021. 10. 4. 이전 1 ··· 12 13 14 15 16 17 다음