JAVA

<JAVA_231207목> datatype, 연산자, for문, while/do-while/case/if 조건문

Technoqueen_X 2023. 12. 7. 20:06
728x90
반응형

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);
}
}

728x90
반응형