코딩하는 도로시

코딩 교육, 코딩 과학, 코딩 동화, 코딩 게임 등등! 아이부터 어른까지 모두 가능한 코딩! 함께 해보아요~~

전체 글 68

스택, 계산기 구현

"C언어는 기능별로 나뉜다면, JAVA 는 역할별로 나뉜다는 것!!!!" 1. 스택. public class StackVer1 { private char[] stack; private int size; private int top; //사용자가 원하는 크기의 스택 객체 생성 public void init(int size){ this.size = size; top = -1; stack = new char[this.size]; } //스택 맨 위의 데이터 꺼냄 public char pop(){ if(top == -1) return (char)0; return stack[top--]; } //스택에 데이터 하나를 쌓음. public boolean push(char ch){ if(top < (size-1)){ ..

개발메모장 2014.12.18

JAVA 에서의 스택과 힙

1. JAVA 에서의 스택 vs. 힙 자바에서 사용되는 메모리영역은 크게 2가지로 나눌수 있는데, 이를 스택영역과 힙 영역이라고 합니다. 1) 스택은 java가 automatic 하게 지정해주는 변수들을 저장하는데, 이 영역은 프로그래머가 건드릴 수 없다고 보시면 됩니다. 대표적으로 함수나 지역변수에 관한 정보가 이 영역에 저장되며, 이 영역에 저장되는 변수들은 이름을 가지고 있다는 특징을 가지고 있지요. 2) 힙은 프로그래머가 지정해주는 변수들을 저장하는데 대표적으로 new로 생성하는 객체들이 여기에 저장되며, 프로그래머가 만들고 싶을 떄 만들고 삭제하고 싶을 때 삭제할 수 있습니다. ex> Aircon aircon = new Aircon(); - 우변 : Aircon 클래스의 객체를 new로 생성! ..

개발메모장 2014.12.18

JAVA 함수 예제

* return ; //메소드를 종료 * System.exit(0); // 프로그램 종료​ [예제 1] //Date 클래스의 객체를 생성하면 오늘 날짜를 가지고 있다. //Date 객체에서 적절한 메소드를 선택하면 년도, 월, 일을 얻을 수 있다. // "오늘은 2014년 9월 26일입니다." 와 같이 출력하는 today 메소드를 작성하시오. public class DateTest { public void today(){ Date date = new Date(); // Date 라는 클래스를 import 하고 객체 생성 int year = date.getYear() + 1900; // year은 1900 년대부터 세기 시작하므로, 1900을 더해줌. int month = date.getMonth() + ..

개발메모장 2014.12.18

JAVA 함수, 필드와 메서드, Lombok

1. 함수 기본 지식 * 형식 //접근지정 결과자료형 이름(작업대상){.....} ex> public int sum(int num1, int num2) { retrun = num1 + num2 } * 함수를 작성하는 이유 : main 함수에 모든 코드를 우겨넣으면. 나중에 너무 길어지고 가독성이 떨어지겠죠? 그래서 기능별로 잘게 쪼개서 나누어 놓는 거에요. 그러면 프로그램을 깔끔하게 개발하고, 오류가 생겨도 보다 쉽게 수정할 수 있는 등 많은 장점을 느낄 수 있을 거에요. * 매개변수 : 함수가 실행될 때 받아오는 변수 2. '필드' 와 'method' public class Calc1 { //클래스에 저장한 변수를 우리는 '필드' 라고 한다. //필드는 private 으로 지정해야 함. private ..

개발메모장 2014.12.18

JAVA 제어문 예제

[예제 1] //년도를 입력받아 윤년인지 아닌지 출력하시오. // 4로 나누어서 나머지가 0이면 윤년 // 4로 나누어서 나머지가 0이지만 100으로 나누어도 나머지가 0이면 윤년 아님 // 위 식이 성립하면서 400으로 나눠 나머지가 0이면 윤년 int year; Scanner scan = new Scanner(System.in); //연도를 입력받고 System.out.println("Input year : "); year = scan.nextInt(); //윤년인지 아닌지 판단! if((year%4) == 0) // 4로 나누어 떨어질 때 { if((year%100) == 0) // 4로 나누어 떨어지면서, 100으로 나누어 떨어질 때 { if((year%400) == 0) // 100으로 나누어 ..

개발메모장 2014.12.18

JAVA 제어문

[제어문] * 조건문 : switch, if " switch가 메모리를 더 많이 차지하는 대신 더 빠르다. " * 반복문 : for(반복 횟수를 알 때), while(종료조건이 보일 때), do~while, * break, continue(다른 조건들 나오기 전에 먼저 처리!) [그 외 Tip !! ] * 자바의 클래스는 패키지 소속. 클래스를 사용하려면 그 클래스가 어떤 패키지 소속인지 지정해줘야 한다. * 단 java.lang 패키지는 자동으로 import 가 된다. * import 단축키 : Ctrl + Shift + O * 줄 정렬 단축키 : Ctrl + Shift + f [for문 사용법] => 1~100 사이의 5의 배수를 출력하시오. 1) 가장 안좋은 사용법 (for 문은 숫자 세는 목적으로..

개발메모장 2014.12.18

JAVA 기본자료형

1. 기본자료형 문자 : char 정수 : byte, short, int, long 실수 : float, double 논리 : boolean 이렇게 8가지 기본자료형을 제외한 나머지 자료는 클래스를 통해서 메모리가 할당됩니다. 예를 들어, 문자열 자료형은 String 이라는 클래스를 통해서 메모리가 할당되지요. 클래스는 첫번째 스펠링이 대문자로 되어 있으므로 구분하기가 쉬울 것입니다. 기본자료형과 클래스의 가장 큰 차이점! 기본자료형은 단순히 해당하는 크기의 메모리만 할당해주는 반면, 클래스는 자료형과 더불어 그 클래스만의 함수도 포함하고 있다는 점! * 유의점! long regNo = 9003012155000L; 이와 같이 long 자료형은 이 데이터가 long 형이라는 것을 명시해주기 위해 long ..

개발메모장 2014.12.18

JAVA 입출력

​​ 'day1' 이라는 이름으로 자바 프로젝트를 생성하고, 'demo' 라는 이름의 클래스 파일을 생성하였습니다. 그랬더니!! 이렇게 자동으로 일부 정의어가 입력되어 파일이 생성되는 군요. main 함수가 없으면 안되겠지요. 이것이 기본 틀입니다. main 이라는 이름의 함수는 ' 프로그램을 시작하는 함수' 라고 정의해둡시다. 하나의 클래스 안에는 main 함수 외에도 여러 함수가 함께 포함될 수 있어요. 그리고 이런 클래스들을 하나로 묶어주는 것을 'package'라고 합니다. 실제 window 에 프로젝트가 저장되는 폴더의 이름도 이 package 의 이름인 'day1' 으로 되어 있지요. 한가지 Tip 으로 명명법에 대해서 한번 살펴볼까요? 함수의 이름을 짓는 방법 중에 "Camel법" 이라는 것..

개발메모장 2014.12.18

이클립스 설치

www.eclipse.org 에 접속하여 -> download 를 클릭합니다. Eclipse Standard 4.4 를 다운받는데요. 32비트 혹은 64비트를 잘 구분하여 다운받습니다.!! 다운로드가 완료되면 압축된 파일을 풀고, eclipse를 실행합니다. eclipse가 제대로 작동하는지 확인해볼까요?? File -> New -> Java Project 순서로 클릭하여 들어가면 New Java Project 창이 뜹니다. 일단 간단하게, 프로젝트 이름만 입력하고 프로젝트를 생성해봅시다. 저는 'Hello' 라고 이름을 입력한뒤, 'Finish' 버튼을 눌러 프로젝트를 완성해주었습니다. 좌측 package Explorer 창에 새로운 프로젝트가 생성된 것을 볼 수 있습니다. Hello 라는 프로젝트를 ..

개발메모장 2014.12.18

JAVA 설치

1. JDK 다운로드 www.oracle.com 에서 다운받으시면 됩니다. * JAVA ME, SE, EE 의 차이점은 '사이즈'라고 보시면 됩니다. CPU가 java 명령어를 실행하도록 도와주는 '사전' 이 JDK 라고 본다면, ME는 매우 작은 사전, SE는 보통 사이즈의 사전, EE는 매우 큰 사전입니다. 물론 사전의 크기가 클수록 더 많은 단어를 포함하고 있겠죠. * 정확히 말하자면 ME = Mobile Edition, SE = Standard Edition, EE = Enterprise Edition 입니다. *서버와 관련한 Java 개발을 하려면 Servlet, JSP 라는 것들을 필요로 하는데, JSP 는 SE 버전에, Servlet 은 EE 버전에 포함되어 있습니다. 우리는 일단 SE 버전..

개발메모장 2014.12.18