int[] a;
배열을 가리킬 참조 변수 a를 선언new int[13]
: 총 13개의 int형 값을 저장할 수 있는 메모리공간 확보a = new int[13]
: 생성된 배열 첫번째 요소의 주소값이 참조변수 a
에 할당된다.int[] a = new int[13];
배열선언과 함께 첫번째 요소의 주소값 참조변수 a
에 할당, 값은 0으로 초기화int[] a = new int[13] {1, 2, 3}
: 배열에 실제 값을 넣어서 초기화int[] a = {1, 2, 3}
: 선언과 초기화를 하나의 문장으로 할 때에 new int[13]
생략 가능배열_참조변수 이름[인덱스]
: 배열 참조 변수의 이름과 배열의 인덱스를 활용하여 배열 내 특정요소에 할당된 값에 접근 가능Arrays.toString()
메서드를 통해 배열의 요소 쉽게 확인가능int[] ages = { 30, 32, 39, 59, 23 };
System.out.println(Arrays.toString(ages));
// [30, 32, 39, 59, 23];
배열_참조변수 이름.length
으로 배열이 가지 요소의 개수를 얻을수있다.int[][] kcal;
kcal = = new int[31][3];
int[][] kcal = new int[31][3];
ex) int[][] ages = new int[5][];
외부 배열만 생성된 상태 → 내부배열 크기 자유롭게 지정 가능
int[][] key = new int[5][];
ages[0] = new int[5];
ages[1] = new int[6];
ages[2] = new int[7];
// or
{ 30, 32, 39, 59, 23 },
{ 31, 41, 52, 56, 72, 13 },
{ 45, 32, 84, 23, 13, 42, 55 },
int[] scores = { 100, 90, 85, 95, 100 };
int sum = 0;
//for문, 배열 값 수정가능
for (int i = 0; i < scores.length; i++) {
sum += scores[i];
}
//while문, 배열값 수정가능
while (i < scores.length) {
sum += scores[i++];
}
//향상된 for문 -> 배열을 순회하면 배열의 값을 읽어오는 것만 가능
// 배열의 값 수정 불가
for (int score: scores) {
sum += score;
}
package com.codestates.seb.calculator;
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
System.out.println("===Java Calculator===");
Scanner input = new Scanner(System.in);
/*
요구 사항에 따라 간단한 계산기를 만들어주세요.
1. 사용자의 입력으로 첫 번째 숫자, 연산자, 두 번째 숫자를 받아야 합니다.
2. 연산자의 종류는 +, -, *, / 입니다.
3. 소수점 연산을 수행할 수 있어야 합니다.
4. 연산 결과를 콘솔에 출력합니다.
*/
// TODO...
System.out.println("첫 번째 숫자를 입력해주세요.");
double num1 = input.nextDouble();
System.out.println("연산자를 입력해주세요.");
char op = input.next().charAt(0);
System.out.println("두번째 숫자를 입력해주세요.");
double num2 = input.nextDouble();
double ca = calculate(num1, op, num2);
System.out.println("결과값: " + ca);
}
//메서드 정의부
public static double calculate(double a, char b, double c){
double result = 0.0;
if(b == '+')
result = a + c;
else if(b == '-')
result = a - c;
else if(b == '*')
result = a * c;
else if(b == '/')
result = a / c;
else
System.out.println("입력이 잘못되었습니다.");
return result;
}
}
// 1. arr 배열이 빈배열인지 체크
if(arr.length == 0)
// 2. arr 배열의 마지막 인덱스 요소 리턴
return arr[arr.length -1];
// 3. 빈배열 리턴
return new arr[]{};
// 4. 문자열 공백 구분하여 단어별 요소를 가지는 문자열타입 배열 생성
String[] a = str.split(" ");
// 5. 문자열 길이 만큼의 크기르 가지는 문자요소를 가지는 배열 생성
char[] arr = new char[str.length()];
// 6. 빈배열인 result배열에 짝수인 경우 칸을 하나씩 늘리면서 마지막 인덱스에 해당값 추가
if(arr[i] % 2 == 0) {
result = Arrays.copyOf(result, result.length +1);
result[result.length - 1] = arr[i];
}
// 7. result 배열에 arr 배열의 값 복사
System.arraycopy(arr, 0, result, 0, arr.length);
System.arraycopy(원본배열, 원본 복사시작 인덱스, 복사할배열, 복사할배열 복사시작위치, 복사할 요소의 개수);
//
Arrays.copyOfRange(arr, len -8, len -4)
// 피보나치 수열 - 수를 입력받아 num번째 까징 총num+1개의 피보나치 수열 리턴
int[] result = new int[num + 1];
// 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다.
result[0] = 0;
result[1] = 1;
// 그다음 2번째 피보나치 수부터는 바로 직전의 두 피보나치수의 합으로 정의
for(int i = 2; i < num +1 ; i++){
result[i] = result[i-2] + result[i-1];
}
return result;