- 변수명은 i-j-k순으로!
- 이중 for문 - 구구단
- 이중 for문 - 별찍기
- 메소드
- 오늘의 문제
public class Practice {
public static void main(String[] args) {
double myHeight = 175.9;
hiEveryone(12, 160.5);
hiEveryone(13, myHeight);
byEveryone();
}
public static void hiEveryone(int age, double height) {
System.out.println("제 나이는 "+age+"세 입니다.");
System.out.println("저의 키는 "+height+"cm 입니다.");
}
public static void byEveryone() {
System.out.println("다음에 또 만나요.");
}
}
변수명은 관습적으로 i-j-k 순으로 적어주자 (k-j-i XXX)
for 중첩문
public class Practice {
public static void main(String[] args) {
for(int i = 0; i<4; i++) {
System.out.println("--------------------");
for(int j = 0; j<4; j++) {
System.out.println(("["+i+","+j+"]"));
}
System.out.println('\n');
}
}
}
/*--------------------
[0,0]
[0,1]
[0,2]
[0,3]
--------------------
[1,0]
[1,1]
[1,2]
[1,3]
--------------------
[2,0]
[2,1]
[2,2]
[2,3]
--------------------
[3,0]
[3,1]
[3,2]
[3,3] */
문제 - 구구단 짝수단만 출력 - 선생님 방법(실무)
public class Hello {
public static void main(String[] args) {
for(int i = 2; i<10; i++) {
if(i%2!=0) //여기에서 컨트롤하는게 적정
continue; //★continue를 사용해서 직관적으로!
for(int j = 2; j<10; j++) {
System.out.println(i+"x"+j+"="+i*j);
}
System.out.println();
}
}
}
문제 - 구구단 결과값이 홀수인 것만 출력
public class Hello {
public static void main(String[] args) {
for(int i = 2; i<10; i++) {
for(int j = 1; j<10; j++) {
if((i*j)%2==1)
System.out.println(i+"x"+j+"="+i*j);
}
System.out.println();
}
}
}
문제- 구구단 결과값이 2의 배수인 것의 갯수
public class Hello {
public static void main(String[] args) {
int count=0; //count변수 초기화!
for(int i = 2; i<10; i++) {
for(int j = 1; j<10; j++)
if((i*j)%2==0) {
count++;
}
}
System.out.println(count);
}
}
문제 - 별찍기
public class Hello {
public static void main(String[] args) {
for(int i = 1; i<6; i++) {
for(int j = 1; j<=i; j++) {
System.out.print("*");
}
}
System.out.println();
}
}
//*
//**
//***
//****
//*****
문제 - 별찍기
public class Practice {
public static void main(String[] args) {
for(int i=5; i>=1; i--) {
for(int j = 1; j<=i-1; j++) {
System.out.print(" ");
}
for(int j=5; j>=i; j--) {
System.out.print("*");
}
System.out.println();
}
}
}
// *
// **
// ***
// ****
//*****
문제-별찍기
public class Practice {
public static void main(String[] args) {
for(int i=5; i>=1; i--) {
for(int j = 5; j>i; j--) {
System.out.print(" ");
}
for(int j=1; j<=i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
//*****
// ****
// ***
// **
// *
public class Hello {
public static void main(String[] args) {
for(int x = 1; x<=6; x++) {
for(int y=1; y<=x; y++) {
System.out.print(" ");
}
for(int y = 6; y>=x; y--) {
// for(int j = 1; j<=i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
//*****
// ****
// ***
// **
// *
문제 -별찍기 피라미드
과제
메소드
1. 함수 찾는 방법
( )앞에 있는건 함수다.
ex) main( ) → main 함수
2. 함수 만들기 - 만든거 써먹기
public class Practice {
public static void main(String[] args) { //함수 써먹는 부분(JVM이 알아서 main함수 호출함)
hiEveryone(12); //main함수 만든 부분
hiEveryone(13);//해당 파라미터에 맞는 value를 넣어준다.
System.out.println("프로그램의 끝");
}
public static void hiEveryone(int age) { //함수 만드는 부분 //hiEveryone(파라미터=매개변수=인자)
System.out.println("좋은 아침 입니다.");
System.out.println("제 나이는 "+age+"세 입니다."); //함수호출
}
}
*함수만드는 부분 파라미터에선 "변수 선언(=메모리할당)"이 무조건 온다!!!!
*함수 안에 함수가 올 수 없다. 함수는 클래스 안에 들어가는 것.
{ { } } XXX / {}{} O
*void는 return값이 없다는 것.
public class Practice {
public static void main(String[] args) {
int result; //result는 무조건 정수값!
result = adder(4,5);
System.out.println("4 + 5 = " + result);
System.out.println("3.5 x 3.5 = " + square(3.5));
}
public static int adder(int num1, int num2) {
int addResult = num1+num2;
return addResult; //이 값으로 리턴해준다.
}
public static double square(double num) {
return num*num; //이 값으로 리턴해준다.
}
}
*return = 결과값
오늘의 문제
1.반복문 3가지의 무한루프 만드는 방법은?
- for(;;){ }
- while(true){ }
- do{
} while(true);
2.구구단 출력을 하시오.
public class Practice {
public static void main(String[] args) {
for(int i = 2; i<=9; i++) {
for(int j = 1;j<=9; j++) {
System.out.println(i+"x"+j+"="+i*j);
}
System.out.println();
}
}
}
3.짝수단만 찍으시오.
public class Practice {
public static void main(String[] args) {
for(int i = 2; i<=9; i++) {
if(i%2!=0)
continue;
for(int j = 1;j<=9; j++) {
System.out.println(i+"x"+j+"="+i*j);
}
System.out.println();
}
}
}
4.3의 배수인 단만 출력하시오.
public class Practice {
public static void main(String[] args) {
for(int i = 2; i<=9; i++) {
if(i%3!=0)
continue;
for(int j = 1;j<=9; j++) {
System.out.println(i+"x"+j+"="+i*j);
}
System.out.println();
}
}
}
5.아래의 Star를 찍으시오.
*****
*****
*****
*****
*****
public class Practice {
public static void main(String[] args) {
for(int i = 1; i<=5; i++) {
for(int j = 1;j<=5; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
*
**
***
****
*****
public class Practice {
public static void main(String[] args) {
for(int i = 1; i<=5; i++) {
for(int j = 1;j<=i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
*****
****
***
**
*
public class Practice {
public static void main(String[] args) {
for(int i = 5; i>=1; i--) {
for(int j = 1;j<=i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
*
**
***
****
*****
public class Hello{
public static void main(String[] args) {
for(int i = 1; i<=5; i++) {
for(int j = 5;j>i; j--) {
System.out.print(" ");
}
for(int j = 1;j<=i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
*****
****
***
**
*
public class Practice {
public static void main(String[] args) {
for(int i = 5; i>=1; i--) {
for(int j = 1;j<=i; j++) {
System.out.print("*");
}
System.out.println();
for(int j = 5;j>=i; j--)
System.out.print(" ");
}
System.out.println();
}
}
*
***
*****
*******
public class Hello {
public static void main(String[] args) {
for(int x = 4; x>=1; x--) {
for(int y=0; y<=x; y++) {
System.out.print(" ");
}
for(int y =7 ; y>=x*2-1; y--) {
System.out.print("*");
}
System.out.println();
}
}
}
6.함수는 어떻게 알아 볼수 있는가?
(중괄호)앞에 있는 것이 함수
7.함수는 어떻게 만드는가?
함수이름(파리미터){
함수호출}
파라미터에는 변수 선언이 온다.
(메모리 할당) 파라미터에는 변수의 선언이 여러개가 올 수도 있고, 없을 수도 있다.
파라미터에서 변수 초기화를 할 수 없다.
8.함수는 어떻게 써먹는가?
main함수{
파라미터에 맞는 value 넣어준다.}
9.아래의 함수를 만드시오.
함수이름: starPrint
매개변수: type 1개
기능: 매개변수에 3를 전달하면 3층 석탑, 5를 전달하면 5층석탑
예) 3전달시 3층석탑
*
**
***
5전달시 5층석탑
*
**
***
****
*****
public class Hello {
public static void main(String[] args) {
starPrint(3);
}
public static void starPrint(int num) {
for(int i=1;i<=num; i++) {
for(int j=1; j<=i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
10.아래의 함수를 만들고,해당함수를 호출하여 확인하시오.
함수이름: getGrade()
매개변수: double type 1개
리턴: 수 우 미 양 가 중 하나의 char 타입
public class Practice {
public static void main(String[] args) {
System.out.println(getGrade(60.6));
}
private static char getGrade(double grade) {
char addGrade;
System.out.print(grade);
if (grade >= 90) {
addGrade = '수';
} else if (grade >= 80) {
addGrade = '우';
} else if (grade >= 70) {
addGrade = '미';
} else if (grade >= 60) {
addGrade = '양';
} else {
addGrade = '가';
}
return addGrade;
}
}
선생님답↓
public class Practice {
public static void main(String[] args) {
int kor = 93;
int eng = 84;
int math =77;
int sum = kor+eng+math;
double avg = sum/3.0;
System.out.println("당신의 성적은 : "+getGrade(avg)+"입니다");
}
public static char getGrade(double avg) { //수우미양가는char니까,
//데이터타입은 avg가 들어가야하니까 double
char ch = '가';//빨간줄 없애기.일단 초기화 시켜놓기
if(avg<=90) {
ch = '수'; //이 값으로 반환할거니까!
}else if(avg<=80) {
ch = '우';
}else if(avg<=70) {
ch = '미';
}else if(avg<=60) {
ch = '양';
}else {
ch = '가';
}
return ch;
}
}
11.매개변수 하나를 받아 원의 넓이를 리턴하는 함수를 작성하시오.
public class Practice {
public static void main(String[] args) {
System.out.println("반지름 12.5cm인 원의 넓이 : " + circle(12.5)+"㎠");
}
public static double circle(double radius) {
double pi = 3.14;
return radius*radius*pi;
}
}
선생님답↓
public class Practice {
public static void main(String[] args) {
double Area = getCircleArea(10.0);
System.out.println("원의 넓이는 "+Area);
}
public static double getCircleArea(double r) {
double area=0; //double로 일단 초기화
area = r*r*Math.PI; //Math.PI 가 파이값
return area;
}
}
12.매개변수 두개를 받아, 사각형의 넓이를 리턴하는 함수를 작성하시오.
public class Practice {
public static void main(String[] args) {
double result;
result = Rectangle(12.5,10.5);
System.out.println("가로12.5cm, 세로10.5cm인 사각형의 넓이 : " + result+"㎠");
}
public static double Rectangle(double num1,double num2) {
double addResult = num1*num2;
return addResult;
}
}
'코딩 > 수업 정리' 카테고리의 다른 글
참고하기 좋은 사이트 (0) | 2020.12.01 |
---|---|
20.12.01 Tue [007] (0) | 2020.12.01 |
자바 자습 (0) | 2020.11.28 |
20.11.27 Fri [005] (0) | 2020.11.27 |
20.11.26 Thu [004] (0) | 2020.11.26 |
댓글