코드네임 :
배열 본문
배열 선언문 모양이 C랑 좀 다르다묘,, +new도 있삼
배열 인덱스 시작은 항상 0번부터!! (공통)
배열의 길이 (array.Length) 만큼 반복할 때,
for문 사용 시 i = 0 으로 두었다면,
i < array.Length 처럼 ' < ' 를 사용할 것 !! (그래야 배열의 길이만큼 반복함 (index가 0부터 시작하니께)
▶ for(int i = 0; i < array.Length; i++)
<정수와 정수의 나눗셈 계산결과를 소수점으로 구하고 싶을 때>
정석 (정수형 변수 하나만 실수형 변환) - (실수와 정수의 연산 결과 = 실수이므로) - 이걸 추천하심
float average = (float)sum /points.Length;
or
float average = sum / (float)points.Length;
or
정수형 변수 하나 앞에 1.0f(실수)를 곱하기 (실수와 정수의 연산 결과 = 실수이므로)
float average = 1.0f * sum / points.Length;
or
float average = sum / (1.0f * points.Length);
+ 강의내용 첨 봤을 때 뭔가 잉.. 했기 땜에 찾아봤음
⬇️ 간단하게 C#에서 배열 표현법 보여줌
https://yeko90.tistory.com/entry/c-기초-배열-선언-초기화-하는-3가지-방법
1번째 선언 방법 : 변수 선언 후 배열 할당
int array[];
array = new int[] {1,2,3};
or
int array[];
array = new int[3] {1,2,3}; // 이 방법은 배열의 크기를 애초부터 먼저 정하는 방법
// but 미리 크기를 정해버리면 추후 크기 수정이 어려우니
// compile 단에서 알아서 크기를 정하는 첫번째 방법 추천
or
int points[];
points = new int[5];
2번째 선언 방법 : 변수 선언과 동시에 배열 할당
int[] array = new int[] {1,2,3};
or
int[] array = new int[3] {1,2,3};
or
int[] points = new int[5];
3번째 선언 방법 : new 사용 X
int[] array = {1,2,3};
(여긴 강의 내용)
배열 is 상자
상자에 넣는 값 = 요소
상자 수 = 요소 수
배열 준비 ! : 긴 상자 한개만
int[] points;
연결할 상자 준비 ! : 5개를 준비하려면 오른쪽에 new int [5] 작성
int[] points = new int[5]; // new int[5]로 생성된 배열의 메모리 5개를 points에 넘겨줌
new : "만든다"라는 의미
즉 int형 상자 다섯 개를 만든다는 뜻
예제 #1
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test2 : MonoBehaviour
{
void Start()
{
int[] array = new int[5]; // array에 5개 메모리 공간 할당
array[0] = 2;
array[1] = 10;
array[2] = 5;
array[3] = 15;
array[4] = 3;
for(int i=0; i < 5; i++) // 0~4까지 반복
// for(int i=0; i <= 5; i++)으로 작성 시 마지막에 오류남
// 처음에 array배열에 5개의 메모리를 할당했으므로
// i <= 5면 0~5까지의 index의 요소 6개를 요구하는 것인디
// 5번(6번째)배열은 없으므로
Debug.Log(array[i]);
}
}
/* 실행결과
2
10
5
15
3
*/
예제 #2 : 배열에 포함된 숫자 중 90이상만 출력
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test2 : MonoBehaviour
{
void Start()
{
int[] points = { 83, 99, 52, 93, 15 }; // 정수형 배열 points
for (int i = 0; i < points.Length; i++) // 0 ~ points배열의 길이(=총 index 개수)
// 즉, 배열의 길이만큼 반복
{
if (points[i] >= 90) // 배열 요소 중 90 이상인 수가 있다면,
Debug.Log(points[i]); // 해당 요소를 출력
}
}
}
/* 실행결과
99
93
*/
예제 #3 : 배열에 포함된 값의 평균 구하기 (정수와 정수의 나눗셈) + 아래에 더 있음
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test2 : MonoBehaviour
{
void Start()
{
int[] points = { 83, 99, 52, 93, 15 };
int sum = 0;
for (int i = 0; i < points.Length; i++) // 배열의 길이(5)만큼 == 배열의 5번째(4번) 요소까지
sum += points[i]; // sum에 배열의 요소들 더하기
int average = sum / points.Length; // 평균 내기 (정수와 정수의 나눗셈)
Debug.Log(average);
}
}
/* 실행결과
68 (정수의 나눗셈이기 땜에!! --- 실수 나눗셈이라면 결과는 68.4)
*/
⬇️
정수와 정수의 나눗셈에서 실수형의 결과를 얻고 싶다면? (=소수점까지 출력하고 싶다면?)
정석 (정수형 변수 하나만 형변환) (실수와 정수의 연산 결과 = 실수이므로) - 이걸 추천하심
float average = (float)sum /points.Length;
or
float average = sum / (float)points.Length;
or
정수형 변수 하나 앞에 1.0f(실수)를 곱하기 (실수와 정수의 연산 결과 = 실수이므로)
float average = 1.0f * sum / points.Length;
or
float average = sum / (1.0f * points.Length);
➡️ 일케 바꾸고 실행시키면 결과가 68.4가 나온다!!!
'프로그래밍 > Unity(C#)' 카테고리의 다른 글
method (사용자 정의 함수) (0) | 2023.07.03 |
---|---|
Unity랑 다른 VS 연결법 (0) | 2023.07.02 |
조건제어문 (C와 내용 같음...^^) (0) | 2023.06.30 |
변수 사용하기 (0) | 2023.06.29 |
C# 스크립트 & 실행 (0) | 2023.06.27 |