Q1. operator 값이 +,-,*,/인 경우 사칙 연산을 수행하는 프로그램을 if-else if문과 switch-case문을 사용해 작성
int num1 = 10; int num2 = 2; char operator = '+';
int num1 = 10;
int num2 = 2;
char operator = '+';
if (operator=='+') {
System.out.println("num1 + num2 = " + (num1 + num2));
} else if (operator=='-') {
System.out.println("num1 - num2 = " + (num1 - num2));
} else if (operator=='*') {
System.out.println("num1 * num2 = " + (num1 * num2));
} else if (operator=='/') {
System.out.println("num1 / num2 = " + (num1 / num2));
} else {
System.out.println("잘못된 연산자");
}
System.out.println("num1 입력");
int num1 = sc.nextInt();
System.out.println("num2 입력");
int num2 = sc.nextInt();
System.out.println("연산자 입력");
char operator = sc.next().charAt(0);
if (operator=='+') {
System.out.println("num1 + num2 = " + (num1 + num2));
} else if (operator=='-') {
System.out.println("num1 - num2 = " + (num1 - num2));
} else if (operator=='*') {
System.out.println("num1 * num2 = " + (num1 * num2));
} else if (operator=='/') {
System.out.println("num1 / num2 = " + (num1 / num2));
} else {
System.out.println("잘못된 연산자");
switch(operator) {
case '+' : System.out.println(num1 + num2);
break;
case '-' : System.out.println(num1 - num2);
break;
case '*' : System.out.println(num1 * num2);
break;
case '/' : System.out.println(num1 / num2);
break;
default : System.out.println("잘못된 연산자");
}
Q2. 구구단을 짝수 단만 출력하도록 프로그램
전체 구구단 출력
int i; //초기값
for(i=2; i <= 9; i++) {
System.out.println(i+"단");
for(int j=1; j<=9; j++)
System.out.println(i*j);
짝수 단만 출력
int i;
for(i=2; i<=9 ; i++) {
System.out.println(i+"단");
if(i%2==1) {
continue;
}
for(int j=1; j<=9; j++)
System.out.println(i*j);
}
Q3. 구구단을 단보다 곱하는 수가 작거나 같은 경우까지만 출력하는 프로그램
int i;
for(i=2; i<=9; i++) {
System.out.println(i);
for (int j=1; j<=9; j++) {
System.out.println(i*j);
if(i<=j) {
break;}
}
System.out.println();
}
Q4. 반복문을 사용하여 그림1 모양을 출력하는 프로그램
//별1
for(int i =1; i<=5; i++) {
for (int j =1; j<=5; j++) {
System.out.print("*");
}
System.out.print(i);
System.out.println();
}
//별2
for(int i = 1; i<=5 ; i++) {
for(int j=1; j<=i; j++) {
System.out.print("*");
}
System.out.print(i);
System.out.println();
}
//별3
for(int i = 1; i <= 5; i++) {
for(int j = i; j <= 5; j++) {
System.out.print("*");
}
System.out.print(i);
System.out.println();
}
//별4
//SSSSS*
//SSSS**
//SSS***
//SS****
//S*****
for(int i = 1; i<=5; i++) {
for(int j = i; j <=5; j++) {
System.out.print("S");
}
for(int k = 1; k<=i ; k++) {
System.out.print("*");
}
System.out.print(i);
System.out.println();
}
//Q4 내가 한 거
for(int i = 1; i<=7; i+=2) {
for(int j =1; j<=i; j++) {
System.out.print("*");
}
System.out.println();
}
//Q4 정답
for(int i=1; i<=5; i++) {
for(int j=i; j<=5; j++) {
System.out.print(" ");
}
for(int k=3; k<=(i*2)+1;k++) {
System.out.print("*");
}
System.out.println("구분");
}
함수=메소드
- 하나의 기능을 수행하는 일련의 코드
- 자주 반복되는 작업을 분할하여 모듈화 시켜놓은것
- 반복된 코드의 사용을 줄여 전체 프로그램 코드를 단순환
- 작성한 코드는 여러번 재사용
입력값(매개변수, paramater=인자(인수) 매개변수에 들어가는 값 argument) → 처리 과정 → 반환값(Return)
사용자 정의 함수
반환데이터형 함수이름 (매개변수(인자, 인수)) { 수행할 내용; return 반환값(함수를 종료하고 밖에 있는 값을 반환)}
함수 호출
변수 = 함수이름{매개변수값(인자값)}
//유형 1. 함수 내에서 처리한 결과값을 반환할 필요가 없고, 함수 내에서 수행에 필요한 데이터값을 넣어주지 않아도 되는 경우. 반환값이 없고, 매개변수가 없는 경우
//※반환할 것이 없다면 void
public static void add() {
int num1 = 10;
int num2 = 20;
int result = num1 + num2;
System.out.println(result);
return;
}
//유형 2. 함수 내에서 처리한 결과값을 반환할 필요가 없고, 함수 내에서 수행에 필요한 데이터값을 넣어줘야하는 경우. 반환값이 없고, 매개변수가 있는 경우
public static void add1(int num1, int num2) {
int result = num1 + num2;
System.out.println(result);
return;
}
//유형 3. 함수 내에서 처리한 결과값을 반환할 필요가 있고, 함수 내에서 수행에 필요한 데이터값을 넣어줘야하는 경우. 반환값이 있고, 매개변수가 있는 경우
//자료형
public static int add2(int num1, int num2) {
int result = num1 + num2;
return result; //호출한 곳으로 결과값(반환값)을 돌려보냄.
}
public static void main(String[] args) {
//함수호출 : 함수이름(매개변수값)
//유형1 : 반환값이 없고, 매개변수가 없는 경우
add();
System.out.println("----------------");
//유형2 : 반환값이 없고, 매개변수가 있는 경우
add1(10,20);
add1(20,40);
System.out.println("----------------");
//유형3 : 반환값, 매개변수가 있는 경우
//int add2(num1,num2);
add2(10,20); //호출, 함수 내에서 돌려보내준 값을 가지고 있음.
int sum = add2(10,20);
System.out.println(sum);
System.out.println(add2(10,20));
'KDT > Java' 카테고리의 다른 글
231123 Java (0) | 2023.11.23 |
---|---|
231122 Java (0) | 2023.11.22 |
231116 Java (0) | 2023.11.17 |
231115 Java (0) | 2023.11.17 |
231113 Java (0) | 2023.11.13 |