본문 바로가기
(학) (공) (자)

12.29(3일차)

by 만석이 2023. 12. 29.

1교시

관계(비교 연산자)

두개의 변수나 값을 비교하여 참과 거짓을 판단하는 연산자 
결과가 항상 논리형으로 반환받는다.
>, <, >=, <=, ==(동등비교연산자), !=
int x = 10;
int y = 20;
boolean result; //논리형 데이터만 담을숭있는 논리형 타입변수

result = x<y;
System.out.println("x <  y: " + result );

result = x==y;
System.out.println("x == y: " + result);

result = x!=y;
System.out.println("x != y: "+result);

System.out.println("------------------------------------");

논리연산자 

//피연산자를 두개 필요하는 이항연산자
//피연산자로 논리형 데이터만 사용이 가능하다.

//&&(and), ||(or), !(부정)

//A&&B
//And의미를 가지고있다.
//앞 뒤 모두 true값 일때 true값이 나온다.
 
int myAge = 30;
int limit = 35;

result = (limit-myAge) >= 5 && myAge >30;
System.out.println("&&연산결과 : "+result );


//T&&T = T
//T&&F = F
//F&&T = F
//F&&F = F

// ||는 or의미를 가지고있다.
//앞 뒤중 하나만 true 여도 true값을 반환한다. 

 int n1 = 10;
 int n2 = 20;
 
 result = (n1 +=10) > 20 || n2 -10 ==11;
 System.out.println("||연산결과: "+ result);
 
 // T || T ->T
 // T || F ->T
 // F || T ->T
 // F || F ->F
 
 !
 //not의 의미를 가지고있다.
 //True를 False로, False를 True로 바꿔준다.
 //!논리형데이터, !변수
 
 System.out.println("!연산결과 : "+ !result);
 
 비트연산자

 논리연산자와 기능은 비슷하나 bit단위(2진수)의 연산만 가능하다.
 1->true, 0->false
 & : 논리곱(AND):두 항이 모두 참이면 true
 | : 논리합(or):둘중 하나라도 참이면 true
 ^ : 베타적논리합(XOR): 두항이 모두 다르면 true
 ~ : 부정(not) :참을 거짓으로, 거짓을 참으로 바꾼다.
 
 int a = 10; //1010(8421)
 int b = 7;  //0111(421)
 int c = 0;
 
 c=a&b;
 System.out.println("c : " + c);
 
 c=a|b;
 System.out.println("c : " + c);
 
 c= a^b;
 System.out.println("c : "+c);
 
 ~연산

 //2진수로는 음수를 표현할수없다.
 //비트의 먄 앞자리는 수의 표현이ㅏ 아닌 부로의 표현으로
 //쓰기로 약속함
 
 

 

2교시

증감연산자

1씩 증가시키거나, 1씩 감소시키는 연산자

선행증감 
변수의 앞에서 사용
int a=10;
System.out.println("a: "+ ++a);

후행증감
int b=10;
System.out.println("b: "+ b++);

결과:11
System.out.println(b);

int c=5;
int d;
int e;

d= c++;

e=c;

System.out.println("c:"+c); //대입연산자 이후 2번째 println 때문에 d가 6이된다
System.out.println("e:"+e);
System.out.println("d:"+d); //++이후 최초로 대입연산자가 실행되기에 c는5가 된다.   '후행증감이니까'


정리하면 - 후행증감 변수가 실행 두번째 부터 증가된다.


삼항연산자

하나의 조건을 정의하여 조건식이 참일때 반환할값
조건식이 거짓일 때 반환할 값을 얻어내는 연산자
조건식 ? 조건식이 참일 때 반환할 값 : 조건식이 거짓일때 반환할 값;



문제 풀어보기

 * 과수원이 있다.
 * 배 사과 오렌지를 키우는데 하루에 생산되는 양은 각각 5,7,5 개이다.
 * 1. 과수원에서 하루에 생산되는 총 개수를 출력하세요
 * 2. 1시간당 생산되는 과일의 개수를 출력(단, 시간당 과일의 개수는 float로 출력할것)
 */



float ba = 5;
float ap = 7;
float or = 5;

float ba1 = 0;
float ap1 = 0;
float or1 = 0;


//하루는 시간으로 24시간이다.
//한시간당 60분
//하루는 분으로 1440분이다.

int sum =(int)(ba+ap+or);
System.out.println("하루총 생산량은:"+sum);

ba1=ba/24;
System.out.println("배 생산량(1시간)"+ba1);

ap1=ap/24;
System.out.println("사과 생산량(1시간)"+ap1);

or1=or/24;
System.out.println("오렌지 생산량(1시간)"+or1);


float sum1 = ba1+ap1+or1;

System.out.println("한시간동안 총 생산량"+sum1);


 

3교시

문제풀어보기

 *과수원이 있다.
 * 배 사과 오렌지를 키우는데 하루에 생산되는 양은 각각 5,7,5 개이다.
 *
 * 1. 과수원에서 하루에 생산되는 총 개수를 출력하세요(합)
 * 2. 1시간당 생산되는 과일의 개수를 출력(단, 시간당 과일의 개수는 float로 출력할것)
 * 
 */


int pear = 5;
int apple = 7;
int orange = 5;

float pear1 = 0;
float apple1 = 0;
float orange1 = 0;


//하루는 시간으로 24시간이다.
//한시간당 60분
//하루는 분으로 1440분이다.

int sum = pear+apple+orange;
System.out.println("하루총 생산량은:"+sum);

pear1=pear/24;
System.out.println("배 생산량(1시간)"+pear1);

apple1=apple/24;
System.out.println("사과 생산량(1시간)"+apple1);

orange1=orange/24;
System.out.println("오렌지 생산량(1시간)"+orange1);


float sum1 = pear1+apple1+orange1;

System.out.println("한시간동안 총 생산량"+sum1);




//농구공을 담기위해 필요한 상자를 구하세요
//상자 하나에는 농구공이 5개 들어갈수있다.
//농구공의 개수를 키보드에 입력받아 몇개의 상자가 필요한지 
//상자의 개수를 출력하세요

int balls = 0;

System.out.println("농구공의 개수를 입력하세요");
Scanner scan = new Scanner(System.in);
balls = scan.nextInt();

int box = balls % 5 == 0 ? balls/5 : balls/5+1; //삼항연산자로 풀어보기

System.out.println("박스의 개수: "+box);

scan.close();

 

 

꾸준히 복습...

'(학) (공) (자)' 카테고리의 다른 글

01.04(6일차)  (1) 2024.01.04
01.03(5일차)  (0) 2024.01.03
01.02(4일차)  (0) 2024.01.02
12.28(2일차)  (0) 2023.12.28
12_27(1일차)  (1) 2023.12.27