휴먼교육센터 개발자과정 19일차

조하영·2022년 8월 26일
0

연산자

System.out.println(10+20); //산술연산자
System.out.println(true); //논리연산자

boolean b1 = false;
boolean b2 = true;

System.out.println(b2);
System.out.println(!b1); //논리연산자(not)
System.out.println(b1&&b2); //논리연산자(and)
System.out.println(b1||b2); //논리연산자(or)

int a = 10;
a += 20; //증감연산자
int b = 30;

System.out.println(a);
System.out.println(-a); //부호연산자
System.out.println(b1==b2); //비교연산자
System.out.println(a>=b); //비교연산자
System.out.println((a>b)?"ok":"sk"); //조건연산자 (if) ? true : false

문제
1. 두개의 숫자가 같은지 비교하여 출력
int a=20, int b=30

답: System.out.println(a==b);
false

  1. a에 곱하기 -1한 결과를 다시 a에 저장 후 출력
    int a=40;

답: a= a*-1;
System.out.println(a);
-40

  1. a값 출력
    boolean a = false;

답:System.out.println(a);
false

  1. boolean aTest = true; aTest는 합격
    boolean bTest = false; bTest는 불합격

위 변수는 시험의 합격여부
한가지 시험만 합격하면 최종합격
이를 판별하여 출력

답:System.out.println(aTest||bTest);
true

  1. a가 b보다 크고 aa가 bb보다 작으면 성공
    이를 판별하여 출력

int a =10;
int b = 20;
int aa = 30;
int bb = 40;

답:System.out.println(a>b && aa<bb);
false

  1. c변수값이 a 변수값과 b변수값 사이에 있으면 true 출력

int a=10;
int b = 20;
int c = 30;

답:System.out.println(a<c && c<b);
false

  1. 수식이 a값 변수보다 크면 true 출력

int a a=30;
수식 (2+3)*2-4

답: System.out.println(a < (2+3)*2-4);
false

증감연산자

++a = a+1 전위 - 연산 후 실행
a++ = a+1 후위 - 실행 후 연산

int a1=40;
System.out.println(a1); //40
System.out.println(a1++); //40 후위 연산자여서 40 출력후 40+1 계산
System.out.println(a1); //41 a1은 40+1로 변경되었으므로 41 출력
System.out.println(++a1); //42 전위연산자여서 41+1 먼저 계산후 출력
System.out.println(a1); //42
System.out.println(a1+1); //43 출력할때만 연산하여 실제 a1값은 변경안됨
System.out.println(a1); //42

문제
다음 연산 결과를 계산하시오

int aa=40;
int bb=30;
int cc=20;
int dd=2;
int ee=4;

System.out.println(++aa); //41
System.out.println(aa); //41
System.out.println(++aa+bb++); //42+30=72
System.out.println(--cc+(-aa)); //19+(-42) = -23
System.out.println(cc+2); //19+2 = 21
System.out.println(cc); //19
System.out.println(--cc(ee-dd)+dd++);//18(4-2)+2=38

배열

인덱스와 벨류
index 는 0부터 시작

int[] point = new int[5] //new는 암기, 앞에 int[]: int를 저장하는 자료형을 선언
//point 는 변수명
//뒤에 int[5]: 5개의 int를 저장할 수 있는 공간(배열의 크기)
//index 는 0~4까지 생성
point[0]=80; //point 배열 (index) 0번 value에 80을 저장
point[1]=90; //point 배열 (index) 1번 value에 90을 저장
point[2]=92;
point[3]=88;
point[4]=98;

String[] partName = {"java","mysql","oracle","html","css"};

System.out.println(partName[0]+":"+point[0]); //java:80
System.out.println(partName[1]+":"+point[1]); //mysql:90
System.out.println(partName[2]+":"+point[2]); //oracle:92
System.out.println(partName[3]+":"+point[3]); //html:88
System.out.println(partName[4]+":"+point[4]); //css:98

문제
과일이름을 4개 저장할 수 있는 배열 생성
과일 이름 0번,3번 인덱스의 값에 저장
배열의 모든 값을 출력

String[] fruit = new String[4];

fruit[0]= "복숭아";
fruit[3]= "수박";

System.out.println(fruit[0]); //복숭아
System.out.println(fruit[1]); //NULL
System.out.println(fruit[2]); //NULL
System.out.println(fruit[3]); //수박

오후 실습

다음문제를 해결하시오..

1 <손코딩>
int a=10;
int b=30;
int c=40;

sysout(a++); //10
sysout(--b+c++); //69
sysout(c++); //41

답: 10,69,41

  1. <손코딩>a와 b 중 둘다 90점 이상이면 true의 식을 작성
    int a = 60;
    int b = 90;

답: System.out.println(a>=90 && b>=90);

  1. <손코딩> 2번의 a와 b 중 둘 중 하나면 90점 이상이면 false의 식을 작성

답: System.out.println(a>=90 && b>=90);

  1. <손코딩>숫자 10개를 저장하는 배열을 선언하시오 배열명은 intPoint

답: int[] intPoint = new int[10];

  1. <손코딩>숫자 3개를 저장하는 배열을 선언할 때 초기값 10 20 30을 입력하시오 배열명은 intNumber

답: int[] intNumber = {10,20,30};

  1. <손코딩> a 배열의 모든 값을 0번 인덱스 부터 차례대로 출력하시오.

    int[] a = new int[4];
    a[1]=50;
    a[3]=40


System.out.println(a[0]);
System.out.println(a[1]);
System.out.println(a[2]);
System.out.println(a[3]);

배열의 사이즈?4
배열의 인덱스의 범위?0~3

  1. <손코딩>
    int[] a = {10,20,30,40};
    다음 결과값을 적으시오.
    sysout(a[0]); //10
    sysout(a[1]++); //20
    sysout(a[1]); //21
    sysout(a[2]); //30

답: 10 , 20 , 21 , 30

---------------- 8번 부터는 응용입니다.

  1. int pay=12345;
    pay는 금액이다. 금액을 단위별로 잘라서 배열에 저장하려고 한다 (원, 십원, 백원, 천원, 만원)
    배열을 선언한 후 금액의 알맞게 배열에 저장하시오.


int[] money = new int[5];

money[4]= pay/10000;
money[3]= pay%10000/1000;
money[2]= pay%1000/100;
money[1]= pay%100/10;
money[0]= pay%10;

  1. 철수는 1-6까지 숫자가 적힌 주사위를 굴려서 나온 숫자 만큼 전진하고, 그 곳에 미션을 해결하는
    게임을 만들고자 한다.
    다음 조언에 맞게 설계하시오
    가. 주사위를 굴려서 나오는 숫자가 있어야 한다.
    나. 게임은 총 10개의 칸이 있다. (첫번째 칸의 번호는 0번이다)
    다. 3번째 칸은 가위바위보 미션이 있고, 6번째 칸은 2칸뒤로라는 미션이 있다.
    (제시하지 않은 곳은 추후에 정할 예정이다, 현재는 기본값으로 한다)
    라. 설정한 게임판을 출력하시오.
    출력은 0번째 칸의 내용 :
    1번째 칸의 내용:


int[] marble = {1,2,3,4,5,6};

String[] game = new String[10];

game[2] = "가위바위보";
game[5] = "2칸 뒤로";

System.out.println(game[0]);
System.out.println(game[1]);

  1. int p={10,20,30,40,50}
    배열의 값을 다음과 같이 바꾸세요
    앞에 2개의 값을 자신의 위치에 저장한다.
    예를들어 2번 인덱스위치는
    2번 인덱스위치 = 1번인덱스 + 0번인덱스
    단 인덱스가 위 배열에서 벗어나면 0으로 한다.
    조건, 값을 더할 때는 갱신된 값이 아닌 10, 20, 30, 40, 50을 기준으로 갱신한다.

결과배열 = {10,30,60,90,120}


p[1] = 0 +p[0];
p[2] = p[0]+p[1];
p[3] = p[1]+p[2];
p[4] = p[2]+p[3];
p[0] = 0 + 0 ;

System.out.println(p[0]);
System.out.println(p[1]);
System.out.println(p[2]);
System.out.println(p[3]);
System.out.println(p[4]);

  1. String[] car ={"k5","sonata"};
    1번 인덱스 values값 뒤에 korea라는 글자를 추가하시오.
    조건, sonata라는 글자가 변하더라도 같은 결과가 나와야 합니다.

답: car[1] = car[1]+"korea";

  1. 철수는 골프 게임을 만들고 있다.
    함정의 위치의 좌표는 다음과 같다.
    int x=30; int y= 40;
    함정의 크기는 가로와 세로 각 20이다.
    (단 함정 모든 좌표는 x=30 y=40이상이다)
    int nowx=35; // 골프공의 x좌표
    int nowy=35; // 골프공의 y좌표

골프공이 함정에 빠졌는지를 판단하는 식을 작성하시고 이를 출력하시오.

답: boolean result = ((x <=nowx & nowx<=x+20) && (y<= nowy & nowy <=y+20));
System.out.println(result?"함정에 빠졌습니다":"함정에 빠지지 않았습니다");

13.다음조건에 맞게 출력하시오.
출력 문자열은 a인덱스 위치의 2번째 뒤 문자열이다. 만약 a가 배열의 인덱스 범위를 벗어나면
앞으로 이동한다. 예들들어 a=3 경우, 두번째 뒤인 4 -> 0 출력은 a가 된다.

String[] word={"a","b","c","d","e"};
int a13 = 3; //a는 인덱스 위치이다.

System.out.println(word[(a13+2)%5]);

profile
공부하는 개발자

0개의 댓글