반응형

<출처: http://javaora.tistory.com/entry/Learning-the-JavaFX-Script-Programming-Language-Lesson-4-Data-Types >

목차
- String
- Number and Integer
- Boolean
- Duration
- Void
- Null

* String

String은 홑('') 또는 겹(쌍, "") 따옴표로 선언한다.

var s1 = 'Hello';
var s2 = "Hello";

홑/겹따옴표는 대칭적으로 홑따옴표 사이에 겹따옴표를 넣거나, 반대로 겹따옴표 안에 홑따옴표를 포함시킬 수 있다. 홑 따옴표와 겹따옴표 사이의 차이는 없다.

추가적으로 String 내부에 중괄호({})를 이용하여 expression 를 사용하는 것도 가능하다.

def name = 'Joe';
var s = "Hello {name}"; // s = 'Hello Joe'

내포된 expression 은 그 자신 안에 따옴표로 둘러싸인 String을 사용 할 수 있으며, 그 String 안에 또 다른 expression 을 포함 시킬 수도 있다.

def answer = true;
var s = "The answer is {if (answer) "Yes" else "No"}"; // s = 'The answer is Yes'

런타임(runtime) 시에, 컴파일러는 answer 의 값에 따라 적절히 Yes 와 No 를 선택하게 된다.

여러개의 String을 연결하는 작업은 따옴표 내에 중괄호들을 사용하여 연결한다.

def one = "This example ";
def two = "joins two strings.";
def three = "{one}{two}"; // join string one and string two
println(three); // 'This example joins two strings.'


* Number and Integer

Number 와 Integer 는  수적인(numerical) 데이터를 나타내며, 대부분의 경우 값을 할당하면 컴파일러에서 자동으로 추론하여 올바른 형(type)을 선택한다.

def numOne = 1.0; // compiler will infer Number
def numTwo = 1; // compiler will infer Integer

물론 정확한 변수의 타입을 지정 할 수도 있다.

def numOne : Number = 1.0;
def numTwo : Integer = 1;

Number 는 부동소수점 숫자를 나타내며, Integer 는 오직 정수를 표시한다. 따라서 Number는 정밀한 부동소수점 계산시 필수적인 것이고, 일반적인 경우 대부분 Integer를 사용하면 될 것이다.


* Boolean

Boolean 형은 true 와 false 라는 두가지 값(상태)를 나타낸다. 이 형식은 어떤 애플리케이션의 특정 내부적인 상태를 나타내기에 좋으며 주로 조건문의 값을 선택할때 많이 사용된다.

var isAsleep = true;
if (isAsleep) { wakeUp(); }

위 조건문의 괄호("()")안의 값이 true 이면 중괄호({}) 내부의 함수 호출 문장이 실행된다. 조건문과 관련한 좀 더 자세한 사항은 다음시간의 Expression 편에서 알아보도록 하겠다.


* Duration

Duration 형은 고정된 단위시간(밀리초, 초, 분, 시간 등) 을 나타낸다.

5ms; // 5 milliseconds
10s; // 10 seconds
30m; // 30 minutes
1h; // 1 hour

Duration 형은 시간단위(time literals) 와 함께 표시된다. - 예를들면, 5m에서 m은 분(minute) 을 나타낸다. 시간단위는 대부분 애니메이션을 사용할 때 필요로 한다.(애니메이션과 관련된 사항은 차후 레슨에서 배우게 될것이다.)


* Void

Void는 함수의 리턴 형이 없는 것을 나타낼때 사용된다.

function printMe() : Void {
     println("I don't return anything!");
}

위 코드는 명시적으로 함수의 리턴형을 생략하는 것과 동일하다.

function printMe() { 
     println("I don't return anything!"); 
}

JavaFX의 Void 키워드는 대문자 V로 시작된다. Java의 경우 소문자 void로 사용하는데 주의해야 한다.

* Null

Null은 특수한 값(value)으로 값이 없는 상태를 나타내는 값이다. Null은 0이나 빈 String 값("")과는 다르다. Null을 0이나 빈 String 값과 비교한 결과는 false 이다.(같지 않다.)

Null 키워드는 비교하는 것은 가능하며, 일반적으로 아래와 같은 형식으로 사용된다.

function checkArg(arg1: Address) {
     if(arg1 == null) {
          println("I received a null argument.");
     } else {
          println("The argument has a value.");
     }
}

위 함수는 하나의 인자를 받아 인자의 값이 null인지를 체크하고 결과를 프린트한다.

+ Recent posts