[ 목차 ]
# 배열 실습문제
- 1.
package day06;
public class ArrayTest {
public static void main(String[] args) {
// 배열 선언 후 1~10까지 값 넣기
// int ar[] = new int[5]; 가능
int[] arData = new int[10];// 이 방식으로 사용하자. (java)
for (int i = 0; i < arData.length; i++) {
arData[i] = i + 1;
}
for (int i = 0; i < arData.length; i++) {
System.out.println(arData[i]);
}
}
}
- 2.
package day06;
import java.util.Scanner;
public class ArrayTask {
public static void main(String[] args) {
// 100~1까지의 값 배열에 넣고 출력
/*
* int[] arData = new int[100];// 이 방식으로 사용하자. (java)
*
* for (int i = 0; i < arDate.length; i++) { arData[i] = 100-i ;
* System.out.println(arData[i]); } for (int i = 0; i < arDate.length; i++) {
* System.out.println(arData[i]); }
*/
// 1~10까지 값을 배열에 넣고 총 합 구하기
// int[] arNumber = new int[10];
// int total =0;
//
// for(int i=0;i<arNumber.length;i++) {
// arNumber[i] = i+1;
// }
//
// for(int i=0;i<arNumber.length;i++) {
// arNumber[i] = i+1;
// total += arNumber[i];
// 3명의 수학점수를 사용자에게 입력받아 배열에 저장하고 평균 점수를 출력
// Scanner sc = new Scanner(System.in);
// int [] arMath = new int[3];
// String msg = "번 학생의 수학점수 >>";
// int total =0;
//
// for(int i=0; i<arMath.length;i++) {
// System.out.print(i+ 1+ msg);
// arMath[i] = sc.nextInt();
// }
// for(int i=0; i<arMath.length;i++) {
// total += arMath[i];
// }
// System.out.println("평균 >>"+ total/3.0);
// }
// 0,1,2,3,4,0,1,2,3,4 배열에 담고 출력;
// int [] arData = {0,1,2,3,4,0,1,2,3,4};
// int [] arData = new int[5];
// for(int i=0; i<arData.length;i++) {
// arData[i] = i%5;
// }
// for(int i=0; i<arData.length;i++) {
// System.out.print(arData[i]);
// }
// A~F 까지 배열에 담고 출력 A:65
char[] arData = new char[6];
for (int i = 0; i < arData.length; i++) {
arData[i] = (char) (i + 65);
}
for (int i = 0; i < arData.length; i++) {
System.out.print(arData[i]);
}
}
}
- 3.
package day06;
import java.util.Scanner;
public class ArrayTask2 {
public static void main(String[] args) {
// //A~F 까지 중 C를 제외하고 저장하고 출력
// char[] arData = new char[5];
// int temp = 0;
// for(int i=0;i<arData.length;i++) {
// temp=i;
// if(temp>1) {temp++;}// 변경 필요한 부분부터 증감하여 C값을 제외해주기
// //continue; 사용시 그 해당 부분을 공백으로 사용하여 주소값을 차지하여 문제가 발생한다.
//
// arData[i] = (char)(temp+65);
// }
// for(int i=0; i<arData.length;i++) {
// System.out.println(arData[i]);
// }
// 5개의 정수를 입력한 뒤 배열에 담고 최대/최소 값 출력하기
int[] arData = new int[5];
Scanner sc = new Scanner(System.in);
String msg = "번쨰 정수 입력>>";
int max = 0, min = 0;
for (int i = 0; i < arData.length; i++) {
System.out.println(i + 1 + msg);
arData[i] = sc.nextInt();
}
max = arData[0];
min = arData[0];
for (int i = 1; i < arData.length; i++) {// 0이 이미 들어와 있기 때문에 1부터
if (max < arData[i]) {
max = arData[i];
}
if (min > arData[i]) {
min = arData[i];
}
// else if 사용하는 경우 민 값고 확인을 하기 힘들다.
}
System.out.println("최대값 :" + max);
System.out.println("최소값 :" + min);
}
}
# 2차원 배열 - 배열 안에 배열
- 2차원 배열 선언
- 자료형[][] 배열명 = new 지료형[행][열]; 가로/ 세로 내려감
- 자료형[][] 배열명 = new 지료형{{값1, 값2...},{값1, 값2...},{값1, 값2...},{값1, 값2...},{값1, 값2...}};
- ex) int [][] arr = new int[3][5];
- 2차원 배열의 길이
- arrData.length = arrData[0].length; (해당 주소값의 길이) : 행의 길이
- arrData[i].length : 열의 길이
package day06;
public class ArrayTest2 {
public static void main(String[] args) {
//2행 3열
int[][] arrData = {{3,4,5},{1,2,3}};
for(int i =0;i<arrData.length;i++) {
for(int j=0;j<arrData[i].length;j++) {
System.out.println(arrData[i][j]);
}
}
}
}
package day06;
public class ForTask {
public static void main(String[] args) {
/*
* *
* **
* ***
* *****
* ******
*/
for(int i=0;i<5;i++) {
for(int j=0;j<i+1;j++) {
System.out.print("*");
}
System.out.println();
}
}
}
# 함수와 메소드
- 클래스 밖에 선언되어 있다면 함수라고 부르지만 클래스 내부에 선언되어 있는 함수는 메소드라고 부른다.
- 자바에서는 모든 함수가 클래스 내부에서 선언되기 때문에 메소드만 존재한다.
- 개념 상 함수가 메소드보다 더 큰 범주이므로 메소드를 함수라고 불러도 되지만, 자바는 메소드만 존재하므로 메소드라고 부르는게 좋다.
- 메소드
1. 기능
2. 이름 뒤에 소관호
3. 단, 키워드 뒤에 소괄호는 메소드가 아니다.
- 메소드는 선언과 구현
- 리턴타입 메소드명(자료형 매개변수,.................) <- 선언부
- { <- 구현부(기능적부분)
- 실행할문장;
- return 리턴값;
- }
1. 리턴타입 : 반환할 값이 있다면 반환 값의 자료형을 작성한다. 없다면 void를 작성
2. 메소드명 : 동사로 작성한다. EX) add, sum.......
3. 매개변수 : 외부에서 전달받을 값이 있다면, 자료형과 순서에 맞게 선언해준다.
(자료형이 반드시 필요하다.)
4. 실행할 문장 : 생략이 가능하다. 메소드의 기능을 구현하는 코드를 작성한다.
5. return : 생략이 가능하다, 리턴타입과 묶인다.
- 메소드의 선언 순서
1. 기능을 생각한다.(숫자를 더해주는 기능)
2. 기능에 알맞은 메소드 명을 생각한다(가능하면 동사로,add, sum. plus)
3. 반환타입이 생각나지 않는다면 우선 void로 작성한다
void add(){}
4. 매개변수를 생각한다. (받아올 값/ 생각이 나지 않으면 비워든다 일단)
void add(int num1, int num2){}
5. 실행할 문장을 작성한다.
- void add(int num1, int num2){
- int result = num1 + num2 ;
- }
6. 리턴 값을 생각한다.
- int add(int num1, int num2){
- int result = num1 + num2 ;
- return result;
- }
- 메소드 추가 설명
1. return 타입이 있는경우 하나의 값으로 불 수 있다.
2. 메소드는 기능을 저장하는 것이라고 볼 수 있다.(우리끼리하는 소리 면접때X)
package day06;
public class MethodTest {
int addTen(int num) {
int result = num + 10;
return result; // 정수형 타입
}
public static void main(String[] args) {
MethodTest methodTest = new MethodTest();
System.out.println(methodTest.addTen(3));
}
}
'Java > Java 학원 복습' 카테고리의 다른 글
자바 클래스 - 학원 (0) | 2022.10.03 |
---|---|
자바 학원 필기 7 (0) | 2022.10.03 |
자바 학원 필기 5 (0) | 2022.10.03 |
자바 학원 필기 4 (1) | 2022.10.03 |
자바 학원 필기 3 (1) | 2022.10.03 |