목록전체 글 (214)
파파비의 블로그
if 문을 사용하여 다양한 분기를 나타낼 수 있다. if( ~ ) else if ~ else if ~ ... else~ 이렇게 말이다. 하지만 이렇게 분기가 많아질 경우 가독성이 떨어지는 경우가 있다. 그럴 땐 switch 구문으로 바꾸어서 표현해보자! 물론, 항상 if switch가 되는 것은 아니다. 그러니 switch의 구문의 표현을 잘 이해해야 한다. switch구문을 사용하는 방법은 다음과 같다. switch(인스턴스){ case (값1) : 구문; break; case (값2) : 구문 break; .... default : 구문 break; } 여기서 핵심적으로 짚고 넘어가야할 부분은 다음과 같다. 1. 인스턴스 - 객체지향에서의 인스턴스를 의미하기는 하나 type에 제한이 있다. - 정수형..
if문이나 while 문 등의 조건을 따질 때 자주쓰는 and, or등의 표시는&&와 ||이 있다. 단락평가라는 것은 위와 같은 조건문에서 앞의 조건만 따져봤을 때도 바로 결과를 알 수 있다면, 뒤의 조건은 생략하는 것을 의미한다. 예를 들어 x && y 라는 조건문에서는 x가 거짓이면 y의 참거짓 결과에 상관없이 무조건 거짓이다. 따라서 y의 조건은 확인할 필요 없이 거짓이라고 판단하면 된다. 이렇게 생략하는 것을 "단락평가"라고 한다. &&, || 조건은 둘 다 단락평가를 한다. 반대로 &와 |은 의미가 같지만 단락평가를 하지 않는다. 이 둘의 차이를 알아두자.
java는 c#과는 다르게 난수를 만들어내는 방법이 상대적으로 복잡(?)했다. 아무튼 난수를 뽑아내는 순서는 다음과 같다. 1) import java.util.Random; //Random 패키지를 import하기 를 통해 util 패키지를 불러온다 물론 import java.util.*; 를 통해 util 전부를 import해도 상관없다. 2) Random rand = new Random(); // Random 객체를 형성하기 랜덤객체를 형성해야한다. unity에서 c#을 활용했을 때는 그냥 정적메소드를 통해 난수들을 뽑아냈다보니 객체를 형성해야한다는게 어색하고 낯선 포인트로 느껴지는 부분이다. 3) rand.nextInt() // next00~ 을 통해 난수를 뽑아낸다. 여기서 다른 불편한 점이 있었..
c#에서는 데이터를 분류하는 기준 중에 하나로 값형식과 레퍼런스형식이 존재한다. (다른 언어들에도 많이 쓰이는 것으로 알고 있다.) 값형식과 레퍼런스형식은 어떻게 다른 것일까? 값형식은 어떤 변수에 데이터를 할당하면 스택 메모리에 값이 바로 할당된다. 레퍼런스형식은 어떤 변수에 데이터를 할당하면 변수에는 1차적으로 data가 저장된 주소값이 저장된다. 주소값은 정확히는 스택 메모리에 존재하며 data는 힙 메모리에 할당된다. 따라서, 레퍼런스 형식의 data를 호출하면 우리는 data가 존재하는 힙 메모리의 주소를 받게 되고, 값 형식은 주소가 아니라 바로 값을 얻게 된다. 값형식의 경우 int, byte, bool, float, double 등 기본 자료형이 속하며 레퍼런스 형식의 경우, class로 ..
c#에서는 타입을 분류하는 다양한 기준들이 있지만, 그 중에는 mutable과 immutable로도 나눌 수 있다. 이 둘의 나누는 기준은 "할당한 data를 변경 가능하냐?" 이다. 예를 들어보자면, int는 mutable한 type인데. int num = 3 으로 할당할 경우, 스택 메모리상에 할당된다 (int는 값형식이니까..) 스택 메모리 100번지에 할당 됐다고 가정해보자, 그 뒤에 num = 4; 로 값을 바꿀 경우, 동일한 메모리상에서 값이 변경 된다. 스택 메모리 100번지에 값은 3이 아니라 4가 되는 것이다. 반대로 string은 immutable 한 type이다. string a = "hello"의 경우, 힙 메모리에 저장된다.(string은 레퍼런스 형식이기 때문이다) 힙 메모리 1..
1. string에서 char[]로 바꾸는 방법이 있다. - string 변수에 .ToCharArray()라는 함수다. - 정적함수가 아니라, 객체에 들어가 있는 메소드다. - ex) string pap = "Hello pap"; char[] bee = pap.ToCharArray(); 2. char[]에서 string 으로 바꾸는 방법도 있었다. - string a = new string(bee); - new string()을 이용하면 된다.