참조타입에 대한 설명으로 틀린 것은?
1.참조 타입에는 배열,열거,클래스,인터페이스가 있다.
2.참조타입변수의 메모리 생성위치는 스택이다. *변수는 다 스택
3.참조타입에서 ==, != 연산자는 객체 번지를 비교한다
✔ 4.참조타입은 null 값으로 초기화 할 수 없다. *참조타입은 null로 초기화 가능하다.
참조타입에 대한 설명으로 틀린 것은?
1.로컬변수는 스택영역에 생성되며 실행 블록이 끝나면 소멸된다.
2.메소드 코드나, 상수, 열거 상수는 정적(메소드) 영역에서 생성된다.
✔3.참조되지 않는 객체는 프로그램에서 직접 소멸 코드를 작성하는 것이 좋다.
*참조되지않은 객체는 자바의 가비지컬렉터가 자동 소멸 시켜 준다.
4.배열 및 객체는 힙영역에 생성된다.
String타입에 대한 설명으로 틀린 것은?
1.String은 클래스이므로 참조타입이다
✔2.String 타입의 문자열 비교는 ==를 사용해야한다. *String타입의 문자열 비교는 .equals 를 사용한다.
3.동일한 문자열 리터럴에 저장하는 변수는 동일한 String 객체를 참조한다
4.new String("문자열")은 문자열이 동일하더라도 다른 String객체를 생성한다.
배열의 기본 초기값에 대한 설명으로 틀린 것은?
1.정수 타입 배열 항목의 기초 초기값은 0이다.
2.실수 타입 배열 항목의 기초 초기값은 0.0f 또는, 0.0이다. *float의 초기값 : 0.0f
✔3.boolean 타입 배열항목의 기본 초기값은 true이다. *boolean타입 배열항목의 기본초기값은 false이다
4.참조 타입 배열 항목의 기본 초기값은 null이다.
주어진 배열의 항목에서 최대값을 구해보세요 (for문을 이용)
public class Exercise07 {
public static void main(String[] args) {
int[] array = {1,5,3,8,2};
int max = array[0];
for(int i = 0; i < array.length; i++){
//max와 비교하면서 크기가 크면 max가 큰 값이 된다.
if(max < array[i]){
max = array[i];
}
}
System.out.println("max :" + max);
}
}
↑ 배열의 최대값 구하기
주어진 배열의 항목에서 전체 항목의 합과 평균값을 구해보세요 (중첩for문을 이용)
public class Exercise08 {
public static void main(String[] args) {
int[][] arr = {
{95,86},
{83,92,96},
{78,83,93,87,88}
};
int sum = 0;
int count = 0;
double avg ;
for(int i = 0; i<arr.length; i++){
for(int j = 0; j<arr[i].length; j++){
//전체항목의 합
sum += arr[i][j];
//배열의 총 원소의 갯수
count++;
}
}
//평균값 구하기
avg = sum/count;
System.out.println("sum: "+sum);
System.out.println("avg: "+avg);
}
}
↑ 배열의 전체 합 구하기, 배열의 평균값 구하기
다음은 키보드로부터 학생수와 학생들의 점수를 입력받아서 최고점수 및 평균점수를 구하는 프로그램입니다.
실행 결과를 보고, 알맞게 작성해보세요 .
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class Exercise09 {
public static void main(String[] args) {
boolean run = true;
int studentNum = 0;
ArrayList<Integer> score = new ArrayList<>();
int sum = 0;
Scanner scanner = new Scanner(System.in);
while(run){
System.out.println("______________________________________________");
System.out.println("1.학생수|2.점수입력|3.점수리스트|4.분석|5.종료");
System.out.println("______________________________________________");
System.out.print("선택>");
int selectNo = scanner.nextInt();
if(selectNo == 1){
Scanner sc1 = new Scanner(System.in);
System.out.print("학생수>");
studentNum = sc1.nextInt();
} else if (selectNo == 2) {
for(int i =0; i<studentNum; i++){
Scanner sc2 = new Scanner(System.in);
System.out.print("score ["+i+"] : ");
score.add(sc2.nextInt());
}
} else if (selectNo == 3) {
for(int i =0; i<score.size(); i++){
System.out.println("score ["+i+"] : "+ score.get(i));
}
} else if (selectNo == 4) {
//arraylist 최대값구하기
int max = Collections.max(score);
System.out.println("최고점수: "+max);
//arraylist 평균구하기
for(int i=0; i<score.size(); i++){
sum += score.get(i);
}
int average = sum / score.size();
System.out.println("평균점수 "+average);
} else if (selectNo == 5) {
run = false;
}
System.out.println("프로그램 종료");
}
}
}
↑ arraylist 최대값구하기 , arralist 평균 구하기
* ArrayList의 .get() 는 리스트에서 어떤 객체를 가져오는데 사용되는 메소드입니다.
* ArrayList 최대값 / 최소값 구하는 방법
최댓값 : Collections.max()
최솟값 : Collections.min()
* ArrayList 평균 구하는 방법
int sum = 0;
for(int i=0; i < arraylist.size(); i++){
sum += arraylist.get(i);}
int average = sum / arraylist.size();
System.out.println(average);
'STUDY > JAVA' 카테고리의 다른 글
[JAVA] 22-07-14 중첩 클래스 중첩 인터페이스 ☑ (0) | 2022.07.14 |
---|---|
[JAVA-이것이자바다.6장] 클래스 확인 문제 (0) | 2022.07.13 |
[JAVA] 22-07-08 인터페이스를 이용한 주행 모드 바꾸기 문제 ☑ (0) | 2022.07.10 |
[JAVA]22-07-08 컬렉션 프레임워크 ☑ (0) | 2022.07.08 |
[JAVA] 22-07-07 인터페이스를 활용한 간식 먹기 문제 ☑ (0) | 2022.07.07 |