[문제1] 두 기억공간의 값을 변경하는 코딩을 하라
public class Ex04 {
public static void main(String[] args) {
// 두 정수를 저장할 x, y 변수를 선언하고
// 각각 10, 20으로 초기화하고
// 출력형식 : > x=10, y=20 출력...
// 동일한 자료형일 경우에는 콤마(,) 연산자를 사용해서 나열할 수 있다.
// int x = 10;
// int y = 20;
int x=10, y=20;
System.out.printf("교환 전> x=%d, y=%d\n", x, y);
// 프로그램 상에서 두 기억공간의 값을 교환하려면
// 반드시 동일한 자료형의 임시기억공간이 필요하다.
// 왜?
{
int temp = x;
x = y;
y = temp;
}
System.out.printf("교환 후> x=%d, y=%d\n", x, y);
} //main
---
[문제2] 함수 선언하기 위한 3가지
함수(메서드) 3가지 파악 => 정확히 사용할 수 있다.
1. 함수의 기능(일) 파악
2. 함수가 일처리를 할 때 필요한 값 파악 ( 매개변수, 파라미터, 인자, 인수 )
3. 함수가 일처리를 한 후에 반환(리턴)하는 값 파악 ( 리턴값, 리턴자료형 )
---
[문제3] 자료형에 대해 설명 하시오.
자료형 정의, 종류,
1. 자료형(data type) ?
값(data)의 종류에 따라 값이 저장될 공간의
ㄱ. 크기
ㄴ. 저장형식
을 정의한 것.
2. 기본형 & 참조형
기본형(Primitive Type) - 8가지
(1) 숫자형 <- 비실FD로 암기
ㄱ. 정수계열 - byte(1 byte), short(2 byte), [ int(4 byte) ], long(8 byte)
문자형 - char(2 byte)
ㄴ. 실수계열 - float(4 byte), [ double(8 byte) ]
(2) 논리형 boolean(1 byte) = true, false 조건 사용
참조형(Reference Type) - 배열, 클래스, 인터페이스
---
[문제4] 아래와 같이 코딩 하시오.
package days02;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Ex17 {
public static void main(String[] args) throws IOException {
// 이름, 국어, 영어, 수학을 입력받아서
// 총점, 평균을 계산하고
// [출력형식]
// 홍길동님은 국어: 89 영어: 78 수학: 56 총점: 000 평균:00.00 이다.
String name;
byte kor, eng, mat;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("> 이름을 입력하세요? ");
name = br.readLine();
System.out.print("> 국어 점수를 입력하세요? ");
kor = Byte.parseByte(br.readLine());
System.out.print("> 영어 점수를 입력하세요? ");
eng = Byte.parseByte(br.readLine());
System.out.print("> 수학 점수를 입력하세요? ");
mat = Byte.parseByte(br.readLine());
// 'kor + eng + mat' 의 값이 int인 이유 : 4bit씩 처리하는 cpu의 효율성 때문에
short total = (short)(kor + eng + mat);
double avg = total/3.0;
//double avg = total/3D; 이와같이 사용하여도 double로 형변환 됨
//double avg = (double)total/3;
System.out.printf("%s님은 국어: %d 영어: %d 수학: %d 총점: %d 평균:%.2f 이다.", name, kor, eng, mat, total, avg);
} //main
} //class
package days02;
import java.io.IOException;
import java.util.Scanner;
public class Ex17_02 {
public static void main(String[] args) throws IOException {
// 이름, 국어, 영어, 수학을 입력받아서
// 총점, 평균을 계산하고
// [출력형식]
// 홍길동님은 국어: 89 영어: 78 수학: 56 총점: 000 평균:00.00 이다.
String name;
byte kor, eng, mat;
//BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// Resource leak: 'sc' is never closed
// 객체를 모두 사용했으면 close 하라는 경고
Scanner sc = new Scanner(System.in);
System.out.print("> 이름 국어 영어 수학을 차례로 입력하세요? ");
name = sc.next(); // String
kor = sc.nextByte(); // byte
eng = sc.nextByte(); // byte
mat = sc.nextByte(); // byte
// 'kor + eng + mat' 의 값이 int인 이유 : 4bit씩 처리하는 cpu의 효율성 때문에
short total = (short)(kor + eng + mat);
double avg = total/3.0;
//double avg = total/3D; 이와같이 사용하여도 double로 형변환 됨
//double avg = (double)total/3;
System.out.printf("%s님은 국어: %d 영어: %d 수학: %d 총점: %d 평균:%.2f 이다.", name, kor, eng, mat, total, avg);
sc.close();
} //main
} //class
---
키워드(keyword) : 의미가 부여된 예약어
식별자(identifier) : 개발자가 부여한 이름들 (변수명, 클래스, 함수명 등)
---
변수와 상수 설명
- 값을 저장하는 메모리상의 저장공간
- 변수 : 변하는 수, 상수 : 고정된 수
상수는 무조건 대문자를 사용하기를 권장한다.
String firstName 변수
String FIRST_NAME 상수, MAX_VALUE, MIN_VALUE
리터럴 : 1 true 'A' 3.14
: 값 자체를 나타냄, 상수
: 기억공간(메모리)은 아님.
'Back-End > Java' 카테고리의 다른 글
| [ JAVA ] Exception in thread "main" java.lang.ArithmeticException: / by zero (0) | 2023.07.17 |
|---|---|
| [ JAVA ] 자료 형변환 (0) | 2023.07.14 |
| [ JAVA ] BigInteger, BigDecimal - long와 double 보다 더 큰 값을 갖는 자료형 (0) | 2023.07.14 |
| [ JAVA ] String to int, long, short, byte 형 변환 (0) | 2023.07.14 |
| [ JAVA ] Day01 Quiz (1) | 2023.07.14 |