본문 바로가기

java공부

[객체지향프로그래밍] 03 _ 함수와 메서드 ■ 함수란 (function) 하나의 기능을 수행하는 일련의 코드 구현된(정의된) 함수는 호출하여 사용하고 호출된 함수는 기능이 끝나면 제어가 반환됨 함수로 구현된 하나의 기능은 여러 곳에서 동일한 방식으로 호출되어 사용될 수 있음 ■ 함수 정의하기 함수는 이름, 매개 변수, 반환 값, 함수 몸체(body) 로 구성됨 int add(int num1, int num2) { int result; result = num1 + num2; return result; } ■ 함수 구현하기 예제 public class FunctionsTest { public static int addNum(int num1, int num2) { int result; result = num1 + num2; return result; .. 더보기
[객체지향프로그래밍] 02 _ 클래스로 구현 ■ 클래스는 객체의 청사진(blueprint) 이다. 객체의 속성은 클래스의 멤버 변수(member variable) 로 선언 함 학생 클래스 public class Order { int orderId; String buyerId; String sellerId; int productId; String orderDate; } 주문 클래스 public class Student { int studentNumber; String studentName; int majorCode; String majorName; int grade; } 회원 클래스 public class UserInfo { String userId; String userPassWord; String userName; String userAddres.. 더보기
[객체지향프로그래밍] 01 _ 객체(Object)란? ■ 객체 (Object) 의사나 행위가 미치는 대상 (사전적 의미) 구체적, 추상적 데이터의 단위 (학생, 회원, 생산, 주문, 배송) ■ 객체 지향 프로그램과 절차 지향 프로그래밍 아침에 일어나 학교를 가는 과정을 예를 들어보자. 절차 지향 프로그래밍 - 시간이나 사건의 흐름에 따른 프로그래밍 (대표적으로 C언어가 있다) - 일어난다 -> 씻는다 -> 밥을 먹는다 -> 버스를 탄다 -> 요금을 지불한다 -> 학교에 도착 객체 지향 프로그래밍 - 대표적으로 C++, C#, Python, JavaScript ... ■ 객체 지향 프로그램은 어떻게 구현하는가? 객체를 정의 각 객체 제공하는 기능들을 구현 각 객체가 제공하는 기능들 간의 소통 (메시지 전달) 을 통하여 객체간의 협력을 구현 더보기
[JAVA] 입출력 _ Scanner,BufferedReader, StringTokenizer 자바의 입출력 Scanner BufferedReader StringTokenizer 문자열로 활용하기 위해 사용 (문자열에 최적화) Scanner 보다 빠르다 1. Scanner 입력 형태 1 2 3 4 5 6 7 //Scanner를 사용했을시 입력 형태. Scanner sc = new Scanner(System.in); int n = sc.nextInt(); // int long l = sc.nextLong(); // int String str = sc.next(); // String String str2 = sc.nextLine(); // String cs 2. BufferedReader 사용 BufferedReader 클래스는 문자 입력 스트림으로부터 문자들을 읽어 들이는데, 버퍼링을 함으로써 문자.. 더보기
[기초알고리즘문제해결] 7번 문제 입력된 수가 소수인지 판별 13 답 : 13은 소수입니다. 반복문(for, while) , if 소수 1, 자기자신을 제외하고 나누어 떨어지는 약수가 있으면 소수가아님 소수 = 1과 자기자신만 나누어 떨어지는 경우 for문 반복문에서 i는 1을 제외한 2부터 검사하면 된다. num-1 까지 조건 검사 함 (= num의 반만큼만 검사 해도 됨) public class Main { public static void main(String[] args) { int num = 13; //소수 1, 자기자신을 제외하고 나누어 떨어지는 약수가 있으면 소수가아님 // 소수 = 1과 자기자신만 나누어 떨어지는 경우 boolean isPrimeNum = true; for(int i = 2; i 더보기
[기초알고리즘문제해결] 6번 문제 입력된 두 수의 최대공약수 구하기 12 18 답 : 6 반복문(for, while), if for문안에서 if문의 마지막으로 나누어 지는게 최대공약수가 될 것이다. public class Main { public static void main(String[] args) { int num1, num2; num1 = 12; num2 = 18; //먼저 두 수 중 큰수 먼저 알아내기 int small; int big; if(num1 > num2) { big = num1; small = num2; }else { big = num1; small = num2; } int gcd = 1; // 최대공약수 for(int i=1; i 더보기
[기초알고리즘문제해결] 5번 문제 대문자는 소문자로, 소문자는 대문자로 변환 helloWorlD 답: HELLOwORLd 배열, for, if 풀이 아스키코드 표 참조 public class Main { public static void main(String[] args) { String input = "helloWorlD"; char []arr; arr = input.toCharArray(); System.out.println(arr); for(int i=0; i= 'a' && arr[i] = 'A' && arr[i] 더보기
[기초알고리즘문제해결] 4번 문제 10진수를 2진수로 변환 19 답: 10011 배열, 반복문(while, for) 풀이 *19 / 2 9 ... 1 * 9 / 2 4 ... 1 * 4 / 2 2 ... 0 * 2 / 2 1 ... 0 * 1 / 2 0 ... 1 * 010011 => 19 몫이 0이 될때까지 계속 2로 나누기 나온 나머지 배열공간에 저장하기 public class Main { public static void main(String[] args) { int inputNum = 19; int bin[] = new int[100]; /* * 19 / 2 9 ... 1 * 9 / 2 4 ... 1 * 4 / 2 2 ... 0 * 2 / 2 1 ... 0 * 1 / 2 0 ... 1 * * 010011 => 19 * */ .. 더보기
[기초알고리즘문제해결] 3번 문제 가장 많이 출현한 수를 출력 1 2 2 3 1 4 2 2 4 3 5 3 2 정답 : 2 (5회) 배열, for문 for문 안을 다 돌면서 inputNum배열을 다 순회하여 mode 인덱스의 값을 1올려 (1개 추가) 설정 import java.util.Scanner; public class Main { public static void main(String[] args) { //사용자로부터 숫자 입력받기 Scanner scan = new Scanner(System.in); int []inputNum = new int[10]; for(int i=0; i 출현한 수 //index 값 -> index(출현한 수)가 몇번 나왔는지 저장하는 용도 // "mode[3] = 5 => 3번 숫자가 5번 출현했다".. 더보기
[기초알고리즘문제해결] 2번 문제 피보나치 수열을 출력해라 An = An-1 + An-2 1 1 2 3 5 8 13 21 34 ... 배열, for문 1. 배열 이용 public class Main { public static void main(String[] args) { //배열 이용 int []arr = new int[100]; //An = An-1 + An-2; n>=3 //a1 = 1, a2 = 2; arr[1] = 1; arr[2] = 1; for (int i=3; i 더보기

반응형