5월, 2018의 게시물 표시

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...

JAVA - Starting JAVA

[자바프로그램의 구조] <자바 어플리케이션 만들기> 1. 자바 프로그램을 입력 2. 이를 확장자가 java인 (.java)인 자바 소스 파일 형태로 저장    만약 이 컴파일 단계에서 컴파일 오류가 나면 다시 프로그램을 수정한다. 3. 저장한 자바 소스 파일을 자바 컴파일로(javac.exe)로 컴파일한 후에 디버깅 한다. 4. 최종적으로 자바 인터프리터(java.exe)로 자바 프로그램을 실행시킨다. <자바 프로그램의 기본 구조> 자바는 클래스 단위로 프로그램을 작성하기 때문에 자바 소스 파일 안에 클래스를 정의해야 한다. 자바 소스 파일에는 여러 개의 클래스를 정의할 수 있지만, public으로 선언된 클래는 하나만 존재해야 한다. 또한 자바 소스 파일 이름과 동일한 클래스 이름을 갖는 클래스가 public 으로 선언 되어야 한다. 클래스를 구성하는 멤버는 크게 필드(변수 형태)와 메소드(함수 형태) 2가지가 있다. 이 둘의 구분은 소괄호인 ()로 한다. 메소드인 경우에 소괄호 ()가 기술되어야 한다. <String [] args> 메소드 이름 다음에 기술하는 ()안에 작성하는 인자로, 전달인자라고 한다. 전달 인자는 메소드를 실행시키는데 필요한 데이터를 전달받아야 할 경우에 사용한다. main 메소드의 경우 ()안에 기술한 args가 메소드에 값을 전달했을 경우 이를 받아오는 전달 인자로 사용된다. System.out.println(); 출력을 위한 println() 메소드를 호출하기 위해서 System 이란 클래스가 사용되었다. 시스템과 관련된 작업을 수행하기 위해서 사용되는 클래스가 System이다. System 클래스는 다음과 같은 3개의 필드와 다양한 메소드로 구성되어 있다. in 키보드로부터 입력받기 위한 필드 out 콘솔로 출력하기 위한 필드 err  에러 메시지를 콘솔로 출력하기 위한 필드 이 3개의 필드 중...

JAVA - Day8 - Static

이미지
<1> static이란? //고객정보를 등록하는 클래스 //공유하는 변수를 만들고 싶을 때 static을 쓴다. //변수에 커서를 댔을 때 s가 뜨면 공유되는 변수라는 뜻. //공유는 시키되 고정값을 주고싶을 경우에 final static을 쓴다. class Person { static int number = 0; String name; int age; public Person (String name, int age) { this.number++; this.name = name; this.age = age; //this는 클래스 자기자신을 뜻한다. } @Override public String toString() { return "고객숫자: "+ number+" 이름: "+ name +" 나이: "+ age; } } public class StaticTest_01 { public static void show() { System.out.println("static!"); } void show2() { System.out.println("그냥 method!"); } public static void main(String[] args) { System.out.println("#1"); Person p1 = new Person("홍길동", 10); System.out.println(p1); //공유되는 변수를 변경 Person p2 = new Person("Blue", 100); System.out.println(p2); //고객숫자가 1씩 증가하는 모습을 볼 수 있다. System.out.println(); ...