• 검색 결과가 없습니다.

컴퓨터 프로그래밍-3 -3

N/A
N/A
Protected

Academic year: 2022

Share "컴퓨터 프로그래밍-3 -3"

Copied!
24
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

컴퓨터 프로그래밍-3

(2)

1. 수학적 연산을 위한 산술연산자

연 산 자 의 미 사 용 예 결 과 +

-

* /

%

더하기 빼기 곱하기

나누기(몫)

나누기(나머지)

6 + 2 5 - 3 2 * 3 8 / 2 8 % 3

8

2

6

4

2

(3)

<예제> 수치 데이터로 사칙연산하기

01:class Opr01 //산술연산자 02:{

03: public static void main(String[] args) 04: {

05: int a=10, b=4, c;

06: c=a+b;

07: System.out.println(a + " + " + b + " = " + c);

08: c=a-b;

09: System.out.println(a + " - " + b + " = " + c);

10: c=a*b;

11: System.out.println(a + " * " + b + " = " + c);

12: c=a/b;

13: System.out.println(a + " / " + b + " = " + c);

14: c=a%b;

15: System.out.println(a + " % " + b + " = " + c);

16: } 17:}

(4)

<예제> 문자열 데이터에 + 연산하기

01:public class Opr01_02 02:{

03: public static void main(String[] args) 04: {

05: String a="Apple";

06: String b="Banana";

07: String c=a+b;

08: System.out.println(c);

09: String str="결과값 : ";

10: int n=10;

11: System.out.println(str+n);

12: System.out.println("결과값 : "+n);

13: } 14:}

(5)

2. 두 수치 데이터의 대 관계를 비교 관계 연산자

연 산 자 의 미 사 용 예 결 과

>

>=

<

<=

==

!=

크다

크거나 같다 작다

작거나 같다 같다

같지 않다

6 > 2 2 >= 5 2 < 3 8 <= 2 8 == 3 8 != 6

true

false

true

false

false

true

(6)

<예제> 수치 데이터의 대소 관계 살피기

01:class Opr02 //관계연산자 02:{

03: public static void main(String[] args) 04: {

05: int a=10, b=4, c;

06: boolean test;

07: test=a>b;

08: System.out.println(a + " > " + b + " = " + test);

09: test=a<b;

10: System.out.println(a + " < " + b + " = " + test);

11:

12: //산술연산결과에 대한 대소관계를 물어볼 수도 있다.

13: System.out.println(a+b > a-b);

14: } 15:}

(7)

3.둘중에 한개를 선택하도록하는 조건연산자

▶ 형식

수식-1:조건식의 결과가 참(true)일 때 수행되는 식 수식-2:조건식의 결과가 거짓(false)일 때 수행되는 식

조건식 ? 수식-1 : 수식-2;

(8)

<예제>조건연산자 이용해서 최대값 구하기

01:class Opr03 02:{

03: public static void main(String[] args) 04: {

05: int a=5, b=10;

06: int max=a; //최대값을 저장할 변수 선언 07: max = a>b ? a : b;

08: System.out.println(" max = "+ max);

09: }

10:}

(9)

4.논리값을 비교 판단하도록 하는 논리 연산자

논리값1 논리값2 OR연산 AND연산 TRUE

TRUE FALSE FALSE

TRUE FALSE TRUE FALSE

TRUE TRUE TRUE FALSE

TRUE FALSE FALSE

FALSE 논리값3 NOT연산 TRUE

FALSE

FALSE TRUE

논리 NOT > 논리 AND > 논리 OR

(10)

<예제> 10대인지 아닌지 알아보기

01:class Opr04 //논리 연산자와 조건 연산자 활용하기 02:{

03: public static void main(String[] args) 04: {

05: int a=29;

06: String s="몰라";

07: s = (a>=10 && a <=19) ? "10대" : "10대 아님";

08: System.out.println(a + " => " + s);

09: }

10:}

(11)

<예제>대문자인지 아닌지를 판단하기

01:class Opr06 02:{

03: public static void main(String[] args) 04: {

05: char ch='b'; //문자 변수 선언

06: String s; //대문자인지 판단한 결과를 저장할 문자열 변수 선언

07:

08: s = (ch>='A' && ch<='Z') ? "대문자임" : "대문자가 아님";

09:

10: System.out.println(ch + "=>" + s);

11: } 12:}

(12)

5. 확장된 대입연산자

int a=10;

System.out.println(a + 10); //① System.out.println(a); //②

a = a + 10;

a += 10;

혹은

(13)

6. 정수형 변수값을 1 증가, 감소하는 증감 연산자

연산자 의미 사용 예

++ 1씩 증가. ++a (선행 처리) a++ (후행 처리) -- 1씩 감소. --a (선행 처리)

a-- (후행 처리)

(14)

<예제> 변수의 값을 1 증가시키는 증가 연산자

01:class Opr07 02:{

03: public static void main(String[] args) 04: {

05: int a=10, b=10;

06: ++a; //선행처리 07: System.out.println(a);

08: b++; //후행처리 09: System.out.println(b);

10: }

11:}

(15)

<예제> 증감 연산자의 선행처리와 후행처리

01:class Opr08 //대입 연산자와 증감 연산자 02:{

03: public static void main(String[] args) 04: {

05: int a=10, b=10;

06: System.out.println(++a); //선행처리

07: System.out.println(a);

08:

09: System.out.println(b++); //후행처리

10: System.out.println(b);

(16)

<예제> 증감 연산자의 선행처리와 후행처리

12: a=b=10;

13: int c;

14:

15: c=++a;

//선행처리

16: System.out.println(c + " => " + a);

17:

18: c=b++;

//후행처리

19: System.out.println(c + " => " + b);

20: } 021:}

(17)

<문제>

1. 54321초가 몇 시간 몇 분 몇 초인지 환산하시오 .(ex02_01.java)

[결과] 54321 초 = 15 시간 5 분 21 초

2. 반지름이 5인 원의 면적과 둘레를 구하시오.(ex02_02.java) [힌트]-원주율은 3.141592입니다.

[결과] area = 78.5398 dulre = 31.41592

3. 365.2421일이 며칠 몇 시간 몇 분 몇 초인지 환산하시오 .(ex02_03.java)

[결과] 365.2421 = 365 : 5 : 48 : 37

(18)

<문제>

5. 짝수인지 홀수인지 판단하는 프로그램을 조건 연산자 를 이용하여 작성하시오.(ex02_05.java)

[결과] 7은 홀수이다.

8은 짝수이다.

(19)

<문제>

11. 다음 프로그램의 결과값을 예측해 보시오.

class OpEx11 {

public static void main (String []args) { System.out.println (3/2);

System.out.println (3<2);

System.out.println (3*4);

}

}

(20)

<문제 풀이>

1.

class ex02_01 {

public static void main(String[] args) { int hour=0,min=0, sec=0;

long data, temp;

temp = data = 54321;//초 hour = (int) (temp / 3600);

temp = temp % 3600;

min = (int) (temp / 60);

sec = (int) (temp % 60);

System.out.print(data + " 초 = " + hour + " 시간 ");

System.out.println(min +" 분 " + sec + " 초 ");

} }

(21)

<문제 풀이>

2.

class ex02_02 {

public static void main(String[] args) { int r=5;

double area, dulre, phi = 3.141592;

area = r*r*phi;

dulre = 2*r*phi;

System.out.println(" area = "+ area +"\t\tdulre = “ + dulre);

} }

(22)

<문제 풀이>

3.

class ex02_03 {

public static void main(String[] args) { double data = 365.2421, temp;

int day, hour, min, sec;

temp=data;

day=(int)temp;

temp=(temp-day)*24;

hour=(int)temp;

temp=(temp-hour)*60;

min=(int)temp;

temp=(temp-min)*60;

sec=(int)temp;

System.out.println( data + " = " + day + " :"

hour + " : " + min + " : " + sec); + }

}

(23)

<문제 풀이>

5.

class ex02_05 {

public static void main(String[] args) { int num01 = 7, num02 = 8;

String result;

result = num01%2 == 0 ? "짝수" : "홀수";

System.out.println(num01 + "은 " + result + "이다 .");

result = num02%2 == 0 ?"짝수" : "홀수";

System.out.println(num02 + "은 " + result + "이다 .");

} }

(24)

<문제 풀이>

해설

7. unsigned 란 예약어는 C언어에서 사용되는 것으로서 자바 컴파일러는 인식하지 못하여 컴 파일 에러가 발생합니다.

11. 1, false, 12, 12 12. true, 4, 4, 10, 4

문제 답 문제 답 문제 답 문제 답

7. 컴파일에러 8. 5 9. 14 10. 16 11. 해설에 12. 해설에

참조

관련 문서

산출 자료에

그러므로 ㉥ ‘김 선생님’은 현재의 담화 상황에 참여하지 않는 인물을 지칭하는 표현이라는 설명은 적절하다.. 그러므로 ㉤이 아버지가 지금까지 은주와 나눈 대화의 화제

Label 객체 역시 버튼 객체와 같이 몇 가지 다른 종류의 생성 자 함수를 제공하고 있는데 Label 없이 생성하려는 경우 인 수 없는 Label() 생성자를 사용하고 처음부터

[r]

도시 근교를 중심으로 봄철은 딸기 철인데 역병으로 인해 사람들이 딸기체험농장 에 갈 수 없고, 운송 인력 부족으로 딸기를 시장이나 슈퍼마켓 등에 공급하 지

[r]

(Taekwondo, Weight Lifting Players) (90 min × 6 days/week) Warming

15) 세광음악출판사