1 - Hello,World!

이미지
<학습하기> 프로젝트(project) 하나의 프로그램을 만들기 위해 필요한 파일들을 묶어 관리하기 위한 단위. 프로그램 파일, 그래픽 파일, 음성파일, 데이터 파일 등이 포함된다. 솔루션(solution) 어떤 목적을 위해 필요한 프로그램들 - 프로젝트들의 모임 주석(comment) 프로그램 명령어가 아니라 프로그래머가 보기 위해 추가한 메모. -한줄 주석 : //으로 시작해서 문장 끝까지. -여러줄 주석 : /*로 시작해서 */까지. 함수(function) 어떤 작업을 하기 위한 명령어 여러개를 묶어서, 필요할때마다 간단하게 작업을 할 수 있도록 하는 묶음. -main함수  프로그램의 시작점으로, 프로그램을 실행시키면 윈도우에서 이 main함수를 찾아 실행하게 된다. 그러므로 main 함수는 프로그램 안에 반드시 단 하나가 있어야 한다. 함수는 함수 이름과 몸체로 구성되어 있으며, 함수를 구성하는 명령어들은 함수 몸체에 정의되어 있다. 함수 몸체는 하나의 블럭으로 이루어져 있다. 블럭(block) 0개 이상의 명령어들이 중괄호 {}로 묶어있는 단위. 프로그램 실행의 단위가 된다. 블럭은 서로 중복될 수 있으며, 중복된 블럭을 쉽게 알 수 있도록 들여쓰기를 하는 것이 좋다. {        명령어         {                   명령어                   명령어         }         명령어         명령어 } 문자열을 출력하는 함수 : puts  문자열을 출력할 명령어들을 모아놓은 묶음. ...

JAVA2 - Day4 - GridBagLayout, Canvas

<기본적인 프레임 틀 복습하기> package com.layout; public class Main { public static void main(String[] args) { MyFrame my=new MyFrame("AWT",300,300); my.setVisible(true); } } ------------------------------------------------------------------------------------ package com.layout; import java.awt.Frame; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class MyFrame extends Frame{ public MyFrame(String title, int width, int height) { //title setTitle(title); //size  setSize(width, height); //window event // - local inner class /* class MyWindow extends WindowAdapter{ @Override public void windowClosing(WindowEvent e) { System.exit(0); } } MyWindow win=new MyWindow(); addWindowListener(win); */ // -anonymous class /* WindowAdapter win=new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { Syst...

JAVA2 - Day3 - anonymous, Inner class, FlowLayout

<anonymous> package com.annonymous; public class Main { public static void main(String[] args) { //2- 4 anonymous class , 익명 클래스 // - 이름이 없다. // - 클래스의 선언과 객체의 생성을 동시에 하는 클래스 // - 일회용, 단 하나의 객체만 생성. // - 단하나의 클래스를 상속받거나 또는 하나의 인터페이스를 구현. //Shape클래스를 상속받는 이름없는 클래스 // -> 객체생성!! (Shape rect) Shape rect = new Shape() { @Override void draw() { info(); System.out.println("Rect"); } void info() { System.out.println("ㅎㅎ"); } }; rect.draw(); // rect.info(); //접근이 안됨. Shape circle = new Shape() { @Override void draw() { System.out.println("Circle"); } }; circle.draw(); System.out.println("----------------------------------"); //Monster 인터페이스를 구현하는 익명클래스 Monster cat = new Monster() { @Override public void attack() { System.out.println("cat 공격!"); } @Override public void move() {...

JAVA - Program Control Statements

<단순 if 문> 어떤 경우에 어떤 행동을 지시하고싶을 때 <if~else문 > 두 가지 중에서 한 가지만을 선택할 때 <if~else if 문> 3개 이상의 경우에서 하나를 선택해야 할 경우에 사용 <switch문> 참이나 거짓의 결과를 반환하는 논리식이 아닌 정수식에 따라 분기한다. switch 문의 시작과 끝을 알리는 {} 중괄호는 절대 생략할 수 없다. switch 문 다음에 나오는 (정수식)에는 변수나 수식이 올 수 있으나 case 문 다음에 나오는 정수 값에는 변수나 수식이 올 수 없다. default 는 생략할 수 있다. <for문> 지정된 횟수만큼 반복 처리를 수행해야 하는 경우에 사용한다 <while 계열> while문 조건이 만족하는 동안 문장을 반복 수행한다. <do while문> 반복되는 문장을 일단 한 번은 실행하고, 그 다음에 조건식을 검사해 조건이 참이면 계속 반복하고 거짓이면 while문을 빠져 나온다. 같은 문장을 중복해서 기술해야할 때 쓰면 코드를 줄일 수 있다. [제어문의 다양한 활용] <if문과 for문 활용하기> 1부터 100사이의 짝수를 출력하되, 한 줄에 짝수 8개씩만 출력되도록 하기. public class Exam01{ public static void main(String [] args){ int count = 0; for(int i=2; i<=100; i+=2){ count++; System.out.print("\t"+i); if(count ==8){ count = 0; System.out.println(); } } } } <다중 for문 활용하기> 2단부터 9단을 출력해보자. public class Exam02{  public static void main(String...

Unity - 3rd Week

<학습목표> 물리 시뮬레이션에 대해 알아보자. 점프와 2단 점프를 만들어 보자. <gameObject 키워드> gameObject 키워드는 해당 스크립트(컴포넌트)가 붙어있는 게임 오브젝트를 가리킨다. transform 변수는 해당 스크립트와 함께 붙어 있는 트랜스폼 컴포넌트를 가리킨다. <Component 불러오기> 나와 같은 gameObject에 붙어있는 다른 Component를 불러올 수 있다. gameObeject.GetComponent<컴포넌트 이름> (); 함수로 불러오면 된다. 없는 컴포넌트를 불러 오라고 하면 null을 리턴한다. Transform t; MeshRenderer ; void start(){   t = gameObject.GetComponent<Transform> ();   m =gameObject.GetComponent<MeshRenderer> (); } <물리연산 시작하기> 원하는 오브젝트에 Rigidbody 컴포넌트를 부착하자. Rigidbody는 Add Component -> Physics에서 찾을 수 있다. Rigidbody와 Rigidbody2D를 혼동하지 말자.

JAVA - In/Output and Operation of Data type

[자료타입] 1.1 식별자 프로그램을 작성하다보면 클래스나 메소드 변수 등에 직접 이름을 주어야 하는 경우가 생긴다. 이러한 클래스 이름, 메소드 이름, 변수 등과 같은 이름을 식별자라고 한다. <식별자 명명 규칙.> - 영문자(A~Z, a~z)와 숫자 (0~9)를 쓴다. - 특수문자는 와 '_', '$'을 쓸 수 있다. - 첫 글자는 반드시 영문자나 '_'로 시작하여야 한다. - 식별자는 철자(스펠링)이 같다고 해도 대소문자를 구분한다. - 자바에서 사용되는 예약어는 사용할 수 없다. ex)class - 식별자는 가급적이면 자기 역할에 맞는 이름을 부여한다. - 스페이스나 \t, \n등은 올 수 없다. - 처음 글자는 숫자가 될 수 없다. <정수형 자료 타입> byte < short < int < long 1byte  2byte  4byte  8byte long에는 리터럴 접미사 L를 붙여주자. 숫자가 커지면 보기 좋게 상수에 _를 넣어줘도 괜찮다. <실수형 자료 타입> 실수를 표현할 수 있는 방법은 2가지 인데, 하나는 소수형태이고 다른 하나는 지수 형태이다. 소수 형태는 1234.5와 같고 이를 지수형 실수 형태로 표현해 보면 1.2345*10^3과 같다. 하지만 이는 수학적인 표현이므로 자바에서 직접 사용할 수 없기에 다음과 같이 가수부와 지수부로 나누어 표현한다. 1.2345E3 알파벳 E를 기준으로 앞에 기술된 1.2345는 가수부(mantissa)이고, 뒤에 기술된 3은 지수부(exponent)라고 한다. float에는 리터럴 접미사 f를 붙여야 한다. 숫자 뒤에 f가 붙지않으면 그 실수형 상수는 double형이 된다. 숫자 뒤에 f가 붙어있는 float형 상수만이 float형 변수에 저장된다. <논리연산자> op1 __ op2에 대해서 &&  op1과 o...

JAVA2 - Day2 - Exception, GUI

<Exception> package com.tryCatch; //#1 //예외에 대해서 공부하자! // - 프로그램 실행 중에 발생하는 예기치 않은 사건 (ERROR) //예외는 두가지 측면에서 발생할 수 있다. // 1. 하드웨어적인 측면 // ex)하드디스크 문제, 주기억장치 문제 etc.. // 2. 소프트웨어적인 측면 // ex)0으로 나눈 경우, 배열첨자 오류 etc... // >>소프트웨어적 예외는 모두 개발자 잘못! //#4 //Exception 클래스 // - 최고 조상 예외 클래스 // - java.lang.Exception >> 상속안해도 쓸 수 있다. //크게 두가지로 나눌 수 있다. // - Checked Exception // 확인시점: 컴파일 단계 // 반드시 예외를 처리해주어야 한다. // ex)IOException,... // - UnChecked Exception // 확인시점: 실행 단계 // 명시적 처리를 강제하지 않는다. // ex)NullPointerException,... //#5 //예외 처리 방법 // - try ~ catch 문 // - throws // - throw public class Ex_01_1 { public static void main(String[] args) { //#2 //1)컴파일 단계에서 나타나는 예외는 빨간 밑줄이 나타난다 //2)실행단계에서 나타나는 예외는 실행후 에러가 난다!! //#3 //예외는 특이하게 작용한다. //연산과 관련된 예외. /* int x=10, y=0; int res; res=x/y; System.out.println("res : "+ res); ...

JAVA2 - Day1 - Review, abstract, interface

<Review> package com.korea; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("Hello, World!"); //ctrl+F11 //compile //JAVAC가 없으면 안된다! //C언어 : 컴퓨터가 읽을 수 있는 언어로 변환. //JAVA : JVM(가상머신)가 이해할 수 있는 바이트코드로 변환. //컴파일을 하면 /* Main 클래스 로딩 * Main 함수 실행 (Static >> 로딩과 동시에 메모리에 만들어짐) * cf. 만약 instance면 객체를 만들어야 실행된다. * * System 클래스 안에도 여러 멤버가 있다 * ex. java.lang >> println, printf (모두 static) * */ //#2 Shape s = new Shape(10,10); //이제 s라는 지역변수에 Shape의 주소가 담기면서 객체가 생성됨. //컴파일하면 이제 메모리에 생성! s.draw(); //Shape //#3, //#4 Rect r = new Rect(20, 20); r.draw(); //Shape >> Rect } } --------------------------------------------------------------------------------------- package com.korea; public class Shape  { //클래스 안에는 속성(변수)와 기능(메서드)를 넣을 수 있다~! int x , y; void draw()  { System.out.p...