JAVA : 2 face language
- compile
- interpreter

CPU (Center Process Unit) = '뇌' = 중앙처리장치 = '엔진' of 자동차 = OS(윈도우, 리눅스, 맥)
명명규칙 = 식별자 = 사용자정의
-> camel casing = countInfo (첫글자 소문자 + 단어연결 대문자)
-> 변수명, 메소드명 (특수문자로는 $와 _ 가능하지만 $는 클래스안의 클래스를 연결해줄때 자동생성되므로 사용 권장하지 않음.)
Pascal Casing = 클래스명 작성 시, 첫글자 무조건 대문자. (단어시작을 대문자로)

상수 : 변하지 않는 값
상수형 변수 : 모든문자를 대문자로 씀.
ex) Final int SAL = 5000
참조형 변수 : 객체의 주소를 갖는 변수
변수는 기본 stack에 저장 됨.


*.class 파일
JKD=JVM 라이브러리
OS 운영체제
HW 하드웨어

컴퓨터에서 음수 표현 방법 : 1의보수, 2의 보수가 있으나
연산 때문에 1의보수가 아닌 2의 보수를 사용함.
new A = new는 객체를 생성하는 명령
★객체지향언어★ : 메모리에 올려 놓지 않으면 못씀.
<삼항연산자>
(조건) ? true명령 : false명령
Package > Class > 멤버변수, 메소드


















----------------------------------------------------------------
23-12-07(목) 숙제제출_이수정
Exercise1.java
import java.util.Scanner;
public class Exercise1 {
public static void main(String[] args) {
// 1.다음 연산의 결과를 적으시오.
int x = 2;
int y = 5;
char c = 'A';
System.out.println(1 + x << 33); // 6
System.out.println(y >= 5 || x < 0 && x > 2); // true
System.out.println(y += 10 - x++); // 13
System.out.println(x+=2); // 5
System.out.println( !('A' <= c && c <='Z') ); // false
System.out.println('C'-c); // 67-65=2
System.out.println('5'-'0'); // 5
System.out.println(c+1); // 66
System.out.println(++c); // B
System.out.println(c++); // B
System.out.println(c); // C


// 2.아래의 코드는 사과를 담는데 필요한 바구니(버켓)의 수를 구하는 코드이다.
// 만일 사과의 수가 123개이고 하나의 바구니에는 10개의 사과를 담을 수 있다면, 13개의 바구니가 필요할 것이다. (1)에 알맞은 코드를 넣으시오.
int numOfApples = 123; // 사과의 개수
int sizeOfBucket = 10; // 바구니의 크기(바구니에 담을 수 있는 사과의 개수)
int numOfBucket = ((1));
System.out.println("필요한 바구니의 수 :"+numOfBucket);
// 풀이 :
numOfApples % sizeOfBucket > 0 ? numOfApples/sizeOfBucket + 1 : numOfApples/sizeOfBucket


// 3.아래는 변수 num의 값에 따라 '양수','음수', 0을 출력하는 코드이다. 삼항 연산자를 사용해서 (1)에 알맞은 코드를 넣으시오.
// 풀이 :
int num = 0;
System.out.println(num>0 ? "양수" : (num<0 ? "음수" : "0"));


// 4.아래는 변수 num의 값 중에서 백의 자리 이하를 버리는 코드이다.
//만일 변수 num의 값이 456이라면 400이되고 111이라면 100이 된다. (1)에 알맞은 코드를 넣으시오.
// 풀이 :
int num = 456;
System.out.println((num/100)*100); // (num/100)*100 나눗셈연산자는 반올림하지 않고 버림하는 성질 이용


// 5.아래는 변수 num의 값 중에서 일의 자리를 1로 바꾸는 코드이다. 만일 변수 num의 값이 333이라면 331이 되고, 777이라면 771이 된다. (1)에 알맞은 코드를 넣으시오.
int num = 333;
System.out.println( /* (1) */ );
// 풀이 : ((num/10)*10)+1


// 6.아래는 변수 num의 값보다 크면서도 가장 가까운 10의 배수에서 변수 num의 값을 뺀 나머지를 구하는 코드이다.
// 예를 들어, 24의 크면서도 가장 가까운 10의 배수는 30이다. 19의 경우 20이고, 81의 경우 90이 된다.
// 30에서 24를 뺀 나머지는 6이기 때문에 변수 num의 값이 24라면 6을 결과로 얻어야 한다. (1)에 알맞은 코드를 넣으시오.
// [Hint] 나머지 연산자를 사용하라.
// 풀이 :
int num = 24;
System.out.println( /* (1) */ ); //10-num%10


// 7.아래 코드의 문제점을 수정해서 실행결과와 같은 결과를 얻도록 하시오.
/*
byte a = 10;
byte b = 20;
byte c = a + b;
char ch = 'A';
ch = ch + 2;
float f = 3 / 2;
long l = 3000 * 3000 * 3000;
float f2 = 0.1f;
double d = 0.1;
boolean result = d==f2;
System.out.println("c="+c);
System.out.println("ch="+ch);
System.out.println("f="+f);
System.out.println("l="+l);
System.out.println("result="+result);
*/
// 풀이 :
byte a = 10;
byte b = 20;
byte c = (byte) (a + b);
char ch = 'A';
ch = (char) (ch + 2);
float f = 3 / 2f;
long l = 3000 * 3000 * 3000L;
float f2 = 0.1f;
double d = 0.1;
boolean result = (float)d==f2;
System.out.println("c="+c);
System.out.println("ch="+ch);
System.out.println("f="+f);
System.out.println("l="+l);
System.out.println("result="+result);


// 8.다음은 문자형 변수 ch가 영문자(대문자 또는 소문자)이거나 숫자일 때만 변수 b의 값이 true가 되도록 하는 코드이다. (1)에 알맞은 코드를 넣으시오.
char ch = 'z';
boolean b = (/* (1) */);
System.out.println(b);
// 풀이 : ('a' <= ch && ch<='z') || ('A' <=ch && ch<='Z') || ('0'<=ch && ch<='9')


// 9.다음은 대문자를 소문자로 변경하는 코드인데, 문자 ch에 저장된 문자가 대문자인 경우에만 소문자로 변경한다. 문자코드는 소문자가 대문자보다 32만큼 더 크다.
// 예를들어 'A'의 코드는 65이고 'a'의 코드는 97이다. (1)~(2)에 알맞은 코드를 넣으시오.
// 풀이 :
char ch = 'A';
char lowerCase = (('A' <= ch && ch<= 'Z')) ? ((char)(ch+32)) : ch; // ('A' <= ch && ch<= 'Z'), (char)(ch+32)
System.out.println("upperCase:"+ch);
System.out.println("lowerCase:"+lowerCase);


// 10. 1~100을 총합을 구하되, 10으로 나누어 떨어지는 수는 제외하고 합계를 구한다.
// 풀이 :
int sum = 0;
int i = 1;
while (i <= 100) {
if (i % 10 != 0) {
sum += i;
}
i++;
}
System.out.println("합계는"+sum);


// 11. 수를 하나 입력받아, 1부터 입력될 수 사이의 짝수의 합계를 구한다.
// 풀이 :
Scanner scan = new Scanner(System.in);
System.out.print("짝수 합계 구하기: ");
int n = scan.nextInt();
int tot = 0;
int j = 1;
while (j<=n) {
if ( j% 2 == 0) {
tot += j;
}
j++;
}
System.out.println("짝수의 합은"+tot);
}
}


'JAVA' 카테고리의 다른 글
<JAVA_231211월> 2차원배열, 3차원배열, 숫자 맞추기 게임, 총점 평균 계산 (0) | 2023.12.11 |
---|---|
<JAVA_231208금> for문, array, 구구단, 로또, 가위바위보 (2) | 2023.12.11 |
<JAVA_231206수> Eclipse 프로그램 설치 (2) | 2023.12.06 |
<JAVA_PreClass_231024화> (2) | 2023.10.24 |
<JAVA_PreClass_231023월> (2) | 2023.10.23 |