it공부/Java

프로그래머스 자바강의 요점정리

콩쨈 2020. 7. 5. 21:35
반응형

주석

더보기

문제 설명

주어진 코드의 3번째 줄을 주석 처리한 후, 코드를 제출해보세요.

코드를 한 줄 주석 처리하려면 코드 앞에 //를 입력하세요. 주석 처리한 코드는 프로그램을 실행할 때 영향을 주지 않습니다.

주석은 다음과 같이 사용할 수 있습니다.

  • 한 줄만 주석 처리 : // 주석 처리할 내용
  • 여러 줄을 주석 처리 : /* 주석 내용 */
  • 문서화 주석 : /** 주석 내용 */

/** 문서화 주석을 * 써 * 봅시다. */ public class HeloWorld{ public static void main(String[] args){ System.out.println("HelloWorld"); // 한 줄만 주석 처리합니다. // System.out.println("test"); /* 여러 줄을 주석 처리합니다.*/ /* System.out.println("1"); System.out.println("2"); System.out.println("3"); */ } }

문제 설명

주어진 코드의 3번째 줄을 주석 처리한 후, 코드를 제출해보세요.

코드를 한 줄 주석 처리하려면 코드 앞에 //를 입력하세요. 주석 처리한 코드는 프로그램을 실행할 때 영향을 주지 않습니다.

주석은 다음과 같이 사용할 수 있습니다.

  • 한 줄만 주석 처리 : // 주석 처리할 내용
  • 여러 줄을 주석 처리 : /* 주석 내용 */
  • 문서화 주석 : /** 주석 내용 */

/** 문서화 주석을 * 써 * 봅시다. */ public class HeloWorld{ public static void main(String[] args){ System.out.println("HelloWorld"); // 한 줄만 주석 처리합니다. // System.out.println("test"); /* 여러 줄을 주석 처리합니다.*/ /* System.out.println("1"); System.out.println("2"); System.out.println("3"); */ } }

문제 설명

주어진 코드의 3번째 줄을 주석 처리한 후, 코드를 제출해보세요.

코드를 한 줄 주석 처리하려면 코드 앞에 //를 입력하세요. 주석 처리한 코드는 프로그램을 실행할 때 영향을 주지 않습니다.

주석은 다음과 같이 사용할 수 있습니다.

  • 한 줄만 주석 처리 : // 주석 처리할 내용
  • 여러 줄을 주석 처리 : /* 주석 내용 */
  • 문서화 주석 : /** 주석 내용 */

/** 문서화 주석을 * 써 * 봅시다. */ public class HeloWorld{ public static void main(String[] args){ System.out.println("HelloWorld"); // 한 줄만 주석 처리합니다. // System.out.println("test"); /* 여러 줄을 주석 처리합니다.*/ /* System.out.println("1"); System.out.println("2"); System.out.println("3"); */ } }

문제 설명

주어진 코드의 3번째 줄을 주석 처리한 후, 코드를 제출해보세요.

코드를 한 줄 주석 처리하려면 코드 앞에 //를 입력하세요. 주석 처리한 코드는 프로그램을 실행할 때 영향을 주지 않습니다.


주석은 다음과 같이 사용할 수 있습니다.

  • 한 줄만 주석 처리 : // 주석 처리할 내용
  • 여러 줄을 주석 처리 : /* 주석 내용 */
  • 문서화 주석 : /** 주석 내용 */

/** 문서화 주석을 * 써 * 봅시다. */ public class HeloWorld{ public static void main(String[] args){ System.out.println("HelloWorld"); // 한 줄만 주석 처리합니다. // System.out.println("test"); /* 여러 줄을 주석 처리합니다.*/ /* System.out.println("1"); System.out.println("2"); System.out.println("3"); */ } }

 

변수 - 실습

더보기

문제 설명

코드 4번째 줄에 System.out.println(number);는 number라는 변수를 출력합니다. 그런데, number 변수가 선언되어 있지 않네요. 변수는 반드시 사용하기 전에 선언해 주어야 합니다.

4번째 줄에 정수형 변수, number를 선언하고 3이란 값을 대입해보세요.
힌트1

변수는 다음과 같이 선언합니다.

// 정수를 담는 변수, count 선언 int count; // 실수를 담는 변수, average 선언 double average;

변수를 선언하면서, 동시에 변수에 값을 할당할 수 있습니다.

// 정수를 담는 변수, count를 선언하고 여기에 10을 저장합니다. int count = 10; // 실수를 담는 변수, average를 선언하고 여기에 11.1을 저장합니다. double average = 11.1;

  1. int number = 3;이라 적고 코드를 채점해보세요. 

문제 설명

코드 4번째 줄에 System.out.println(number);는 number라는 변수를 출력합니다. 그런데, number 변수가 선언되어 있지 않네요. 변수는 반드시 사용하기 전에 선언해 주어야 합니다.

4번째 줄에 정수형 변수, number를 선언하고 3이란 값을 대입해보세요.
힌트1

변수는 다음과 같이 선언합니다.

// 정수를 담는 변수, count 선언 int count; // 실수를 담는 변수, average 선언 double average;

변수를 선언하면서, 동시에 변수에 값을 할당할 수 있습니다.

// 정수를 담는 변수, count를 선언하고 여기에 10을 저장합니다. int count = 10; // 실수를 담는 변수, average를 선언하고 여기에 11.1을 저장합니다. double average = 11.1;

  1. int number = 3;이라 적고 코드를 채점해보세요. 

문제 설명

코드 4번째 줄에 System.out.println(number);는 number라는 변수를 출력합니다. 그런데, number 변수가 선언되어 있지 않네요. 변수는 반드시 사용하기 전에 선언해 주어야 합니다.

4번째 줄에 정수형 변수, number를 선언하고 3이란 값을 대입해보세요.
힌트1

변수는 다음과 같이 선언합니다.

// 정수를 담는 변수, count 선언 int count; // 실수를 담는 변수, average 선언 double average;

변수를 선언하면서, 동시에 변수에 값을 할당할 수 있습니다.

// 정수를 담는 변수, count를 선언하고 여기에 10을 저장합니다. int count = 10; // 실수를 담는 변수, average를 선언하고 여기에 11.1을 저장합니다. double average = 11.1;

  1. int number = 3;이라 적고 코드를 채점해보세요. 

문제 설명

코드 4번째 줄에 System.out.println(number);는 number라는 변수를 출력합니다. 그런데, number 변수가 선언되어 있지 않네요. 변수는 반드시 사용하기 전에 선언해 주어야 합니다.

4번째 줄에 정수형 변수, number를 선언하고 3이란 값을 대입해보세요.
힌트1


변수는 다음과 같이 선언합니다.

// 정수를 담는 변수, count 선언 int count; // 실수를 담는 변수, average 선언 double average;

변수를 선언하면서, 동시에 변수에 값을 할당할 수 있습니다.

// 정수를 담는 변수, count를 선언하고 여기에 10을 저장합니다. int count = 10; // 실수를 담는 변수, average를 선언하고 여기에 11.1을 저장합니다. double average = 11.1;


  1. int number = 3;이라 적고 코드를 채점해보세요. 

상수

더보기

문제 설명

원의 둘레, 반지름 * 2 * 원주율을 구하는 코드를 짜려 합니다. 빈칸에 원주율을 나타내는 double 타입 상수, PI를 선언과 동시에 초기화해 코드를 완성해보세요. 원주율은 3.14159입니다.

힌트1

상수란 변하지 않는 값을 의미합니다. 상수는 다음과 같이 선언합니다.

  • 상수는 final 키워드를 사용해 선언하세요.
  • 상수는 대문자로만 씁니다.

final int J; // J에는 값을 단 한 번 담을 수 있습니다. J = 10; // 이제 J 값을 변경할 수 없습니다.

  1. final double PI = 3.14159;를 작성하고 제출 버튼을 눌러 보세요.  

문제 설명

원의 둘레, 반지름 * 2 * 원주율을 구하는 코드를 짜려 합니다. 빈칸에 원주율을 나타내는 double 타입 상수, PI를 선언과 동시에 초기화해 코드를 완성해보세요. 원주율은 3.14159입니다.

힌트1

상수란 변하지 않는 값을 의미합니다. 상수는 다음과 같이 선언합니다.

  • 상수는 final 키워드를 사용해 선언하세요.
  • 상수는 대문자로만 씁니다.

final int J; // J에는 값을 단 한 번 담을 수 있습니다. J = 10; // 이제 J 값을 변경할 수 없습니다.

  1. final double PI = 3.14159;를 작성하고 제출 버튼을 눌러 보세요.  

문제 설명

원의 둘레, 반지름 * 2 * 원주율을 구하는 코드를 짜려 합니다. 빈칸에 원주율을 나타내는 double 타입 상수, PI를 선언과 동시에 초기화해 코드를 완성해보세요. 원주율은 3.14159입니다.

힌트1

상수란 변하지 않는 값을 의미합니다. 상수는 다음과 같이 선언합니다.

  • 상수는 final 키워드를 사용해 선언하세요.
  • 상수는 대문자로만 씁니다.

final int J; // J에는 값을 단 한 번 담을 수 있습니다. J = 10; // 이제 J 값을 변경할 수 없습니다.

  1. final double PI = 3.14159;를 작성하고 제출 버튼을 눌러 보세요.  

문제 설명

원의 둘레, 반지름 * 2 * 원주율을 구하는 코드를 짜려 합니다. 빈칸에 원주율을 나타내는 double 타입 상수, PI를 선언과 동시에 초기화해 코드를 완성해보세요. 원주율은 3.14159입니다.

힌트1


상수란 변하지 않는 값을 의미합니다. 상수는 다음과 같이 선언합니다.

  • 상수는 final 키워드를 사용해 선언하세요.
  • 상수는 대문자로만 씁니다.

final int J; // J에는 값을 단 한 번 담을 수 있습니다. J = 10; // 이제 J 값을 변경할 수 없습니다.



  1. final double PI = 3.14159;를 작성하고 제출 버튼을 눌러 보세요.  

타입

더보기

문제 설명

주어진 코드가 아래와 같이 출력되게 만들고 싶습니다. 빈칸에 알맞은 타입을 채워 문제를 해결해 보세요.

false a 20 2147483648

힌트: 아래의 예를 참고하여 문제를 해결하세요.

boolean isFun = true; char c ='f'; int x = 59; // long 타입 값에는 소문자 l이나 대문자 L을 붙여야 합니다. long big = 3456789L; // float 타입 값에는 소문자 f나 대문자 F를 붙여야 합니다. float f = 32.5f; double d = 23.34;

  • int형 변수는 최대 2147483647까지 담을 수 있습니다. 더 큰 값을 사용하고 싶다면 long형을 사용하세요.

문제 설명

주어진 코드가 아래와 같이 출력되게 만들고 싶습니다. 빈칸에 알맞은 타입을 채워 문제를 해결해 보세요.

false a 20 2147483648

힌트: 아래의 예를 참고하여 문제를 해결하세요.

boolean isFun = true; char c ='f'; int x = 59; // long 타입 값에는 소문자 l이나 대문자 L을 붙여야 합니다. long big = 3456789L; // float 타입 값에는 소문자 f나 대문자 F를 붙여야 합니다. float f = 32.5f; double d = 23.34;

  • int형 변수는 최대 2147483647까지 담을 수 있습니다. 더 큰 값을 사용하고 싶다면 long형을 사용하세요.

문제 설명

주어진 코드가 아래와 같이 출력되게 만들고 싶습니다. 빈칸에 알맞은 타입을 채워 문제를 해결해 보세요.

false a 20 2147483648

힌트: 아래의 예를 참고하여 문제를 해결하세요.

boolean isFun = true; char c ='f'; int x = 59; // long 타입 값에는 소문자 l이나 대문자 L을 붙여야 합니다. long big = 3456789L; // float 타입 값에는 소문자 f나 대문자 F를 붙여야 합니다. float f = 32.5f; double d = 23.34;

  • int형 변수는 최대 2147483647까지 담을 수 있습니다. 더 큰 값을 사용하고 싶다면 long형을 사용하세요.

문제 설명

주어진 코드가 아래와 같이 출력되게 만들고 싶습니다. 빈칸에 알맞은 타입을 채워 문제를 해결해 보세요.

false a 20 2147483648


힌트: 아래의 예를 참고하여 문제를 해결하세요.

boolean isFun = true; char c ='f'; int x = 59; // long 타입 값에는 소문자 l이나 대문자 L을 붙여야 합니다. long big = 3456789L; // float 타입 값에는 소문자 f나 대문자 F를 붙여야 합니다. float f = 32.5f; double d = 23.34;

  • int형 변수는 최대 2147483647까지 담을 수 있습니다. 더 큰 값을 사용하고 싶다면 long형을 사용하세요.

 

기본형 타입 변환 - 실습(1)

더보기

문제 설명

int 타입 변수, intValue의 값을 long 타입 변수에 넣으려 합니다. 빈칸에 long 타입 변수, longValue를 선언하고, 변수를 intValue를 이용해 초기화해주세요.
힌트1

기본형 타입을 변환하는 방법에 대해 알아봅시다.

  • 묵시적 형 변환
    • 크기가 작은 타입을 크기가 더 큰 타입으로 바꿀 때는 컴파일러에 별도의 명령을 하지 않아도 됩니다.

예를 들어,

int x = 50000; // 형 변환이 묵시적으로 이루어집니다. long y = x;

  1. long longValue = intValue;라고 적고, 코드를 제출해보세요. 

문제 설명

int 타입 변수, intValue의 값을 long 타입 변수에 넣으려 합니다. 빈칸에 long 타입 변수, longValue를 선언하고, 변수를 intValue를 이용해 초기화해주세요.
힌트1

기본형 타입을 변환하는 방법에 대해 알아봅시다.

  • 묵시적 형 변환
    • 크기가 작은 타입을 크기가 더 큰 타입으로 바꿀 때는 컴파일러에 별도의 명령을 하지 않아도 됩니다.

예를 들어,

int x = 50000; // 형 변환이 묵시적으로 이루어집니다. long y = x;

  1. long longValue = intValue;라고 적고, 코드를 제출해보세요. 

문제 설명

int 타입 변수, intValue의 값을 long 타입 변수에 넣으려 합니다. 빈칸에 long 타입 변수, longValue를 선언하고, 변수를 intValue를 이용해 초기화해주세요.
힌트1

기본형 타입을 변환하는 방법에 대해 알아봅시다.

  • 묵시적 형 변환
    • 크기가 작은 타입을 크기가 더 큰 타입으로 바꿀 때는 컴파일러에 별도의 명령을 하지 않아도 됩니다.

예를 들어,

int x = 50000; // 형 변환이 묵시적으로 이루어집니다. long y = x;

  1. long longValue = intValue;라고 적고, 코드를 제출해보세요. 

문제 설명

int 타입 변수, intValue의 값을 long 타입 변수에 넣으려 합니다. 빈칸에 long 타입 변수, longValue를 선언하고, 변수를 intValue를 이용해 초기화해주세요.
힌트1

기본형 타입을 변환하는 방법에 대해 알아봅시다.

  • 묵시적 형 변환
    • 크기가 작은 타입을 크기가 더 큰 타입으로 바꿀 때는 컴파일러에 별도의 명령을 하지 않아도 됩니다.

예를 들어,

int x = 50000; // 형 변환이 묵시적으로 이루어집니다. long y = x;

  1. long longValue = intValue;라고 적고, 코드를 제출해보세요. 

문제 설명

int 타입 변수, intValue의 값을 long 타입 변수에 넣으려 합니다. 빈칸에 long 타입 변수, longValue를 선언하고, 변수를 intValue를 이용해 초기화해주세요.
힌트1

기본형 타입을 변환하는 방법에 대해 알아봅시다.

  • 묵시적 형 변환
    • 크기가 작은 타입을 크기가 더 큰 타입으로 바꿀 때는 컴파일러에 별도의 명령을 하지 않아도 됩니다.

예를 들어,

int x = 50000; // 형 변환이 묵시적으로 이루어집니다. long y = x;

  1. long longValue = intValue;라고 적고, 코드를 제출해보세요. 

문제 설명

int 타입 변수, intValue의 값을 long 타입 변수에 넣으려 합니다. 빈칸에 long 타입 변수, longValue를 선언하고, 변수를 intValue를 이용해 초기화해주세요.
힌트1

기본형 타입을 변환하는 방법에 대해 알아봅시다.

  • 묵시적 형 변환
    • 크기가 작은 타입을 크기가 더 큰 타입으로 바꿀 때는 컴파일러에 별도의 명령을 하지 않아도 됩니다.

예를 들어,

int x = 50000; // 형 변환이 묵시적으로 이루어집니다. long y = x;

  1. long longValue = intValue;라고 적고, 코드를 제출해보세요. 

문제 설명

int 타입 변수, intValue의 값을 long 타입 변수에 넣으려 합니다. 빈칸에 long 타입 변수, longValue를 선언하고, 변수를 intValue를 이용해 초기화해주세요.
힌트1

기본형 타입을 변환하는 방법에 대해 알아봅시다.

  • 묵시적 형 변환
    • 크기가 작은 타입을 크기가 더 큰 타입으로 바꿀 때는 컴파일러에 별도의 명령을 하지 않아도 됩니다.

예를 들어,

int x = 50000; // 형 변환이 묵시적으로 이루어집니다. long y = x;

  1. long longValue = intValue;라고 적고, 코드를 제출해보세요. 

문제 설명

int 타입 변수, intValue의 값을 long 타입 변수에 넣으려 합니다. 빈칸에 long 타입 변수, longValue를 선언하고, 변수를 intValue를 이용해 초기화해주세요.
힌트1


기본형 타입을 변환하는 방법에 대해 알아봅시다.

  • 묵시적 형 변환
    • 크기가 작은 타입을 크기가 더 큰 타입으로 바꿀 때는 컴파일러에 별도의 명령을 하지 않아도 됩니다.

예를 들어,

int x = 50000; // 형 변환이 묵시적으로 이루어집니다. long y = x;


  1. long longValue = intValue;라고 적고, 코드를 제출해보세요. 

기본형 타입 변환 - 실습(2)

더보기
  1.  

문제 설명

이번엔 long 타입 변수, longValue의 값을 int 타입 변수에 넣으려합니다. 빈칸에 int 타입 변수, intValue를 선언하고, 변수를 longValue를 이용해 초기화해주세요.
힌트1

앞선 실습에서는 묵시적 형 변환을 이용해 작은 타입을 큰 타입으로 변경했습니다. 반대로 이번 문제에서는 큰 타입을 작은 타입으로 바꿔봅시다.

  • 명시적 형 변환
    • 크기가 더 큰 타입을 작은 타입으로 바꿀 때는 명시적으로 변환해주어야 합니다.

예를 들어,

long x = 50000; // 묵시적 형 변환을 시도하면 오류가 발생합니다. int y = x; // 다음과 같이 명시적으로 형 변환 해주세요. int y = (int) x;

  1. int intValue = (int)longValue; 

  1.  

문제 설명

이번엔 long 타입 변수, longValue의 값을 int 타입 변수에 넣으려합니다. 빈칸에 int 타입 변수, intValue를 선언하고, 변수를 longValue를 이용해 초기화해주세요.
힌트1

앞선 실습에서는 묵시적 형 변환을 이용해 작은 타입을 큰 타입으로 변경했습니다. 반대로 이번 문제에서는 큰 타입을 작은 타입으로 바꿔봅시다.

  • 명시적 형 변환
    • 크기가 더 큰 타입을 작은 타입으로 바꿀 때는 명시적으로 변환해주어야 합니다.

예를 들어,

long x = 50000; // 묵시적 형 변환을 시도하면 오류가 발생합니다. int y = x; // 다음과 같이 명시적으로 형 변환 해주세요. int y = (int) x;

  1. int intValue = (int)longValue; 

  1.  

문제 설명

이번엔 long 타입 변수, longValue의 값을 int 타입 변수에 넣으려합니다. 빈칸에 int 타입 변수, intValue를 선언하고, 변수를 longValue를 이용해 초기화해주세요.
힌트1

앞선 실습에서는 묵시적 형 변환을 이용해 작은 타입을 큰 타입으로 변경했습니다. 반대로 이번 문제에서는 큰 타입을 작은 타입으로 바꿔봅시다.

  • 명시적 형 변환
    • 크기가 더 큰 타입을 작은 타입으로 바꿀 때는 명시적으로 변환해주어야 합니다.

예를 들어,

long x = 50000; // 묵시적 형 변환을 시도하면 오류가 발생합니다. int y = x; // 다음과 같이 명시적으로 형 변환 해주세요. int y = (int) x;

  1. int intValue = (int)longValue; 

  1.  

문제 설명

이번엔 long 타입 변수, longValue의 값을 int 타입 변수에 넣으려합니다. 빈칸에 int 타입 변수, intValue를 선언하고, 변수를 longValue를 이용해 초기화해주세요.
힌트1


앞선 실습에서는 묵시적 형 변환을 이용해 작은 타입을 큰 타입으로 변경했습니다. 반대로 이번 문제에서는 큰 타입을 작은 타입으로 바꿔봅시다.

  • 명시적 형 변환
    • 크기가 더 큰 타입을 작은 타입으로 바꿀 때는 명시적으로 변환해주어야 합니다.

예를 들어,

long x = 50000; // 묵시적 형 변환을 시도하면 오류가 발생합니다. int y = x; // 다음과 같이 명시적으로 형 변환 해주세요. int y = (int) x;


  1. int intValue = (int)longValue; 

산술연산자 - 실습

더보기

문제 설명

주석의 지시에 따라 코드를 완성해보세요.

  • 변수 c에는 변수 a와 b의 합을 저장
  • 변수 d에는 변수 a에 b를 뺀 값을 저장
  • 변수 e에는 변수 a와 b의 곱을 저장
  • 변수 f에는 a를 b로 나눈 나머지를 저장

힌트: 아래의 예를 참고하여 2개의 변수를 이용한 산술 연산에 대해 알아보세요.

// i와 j의 합 i + j; // i와 j의 차 i - j; // i와 j의 곱 i * j; // i를 j로 나눈 몫 i / j; // i를 j로 나눈 나머지 i % j;

문제 설명

주석의 지시에 따라 코드를 완성해보세요.

  • 변수 c에는 변수 a와 b의 합을 저장
  • 변수 d에는 변수 a에 b를 뺀 값을 저장
  • 변수 e에는 변수 a와 b의 곱을 저장
  • 변수 f에는 a를 b로 나눈 나머지를 저장

힌트: 아래의 예를 참고하여 2개의 변수를 이용한 산술 연산에 대해 알아보세요.

// i와 j의 합 i + j; // i와 j의 차 i - j; // i와 j의 곱 i * j; // i를 j로 나눈 몫 i / j; // i를 j로 나눈 나머지 i % j;

문제 설명

주석의 지시에 따라 코드를 완성해보세요.

  • 변수 c에는 변수 a와 b의 합을 저장
  • 변수 d에는 변수 a에 b를 뺀 값을 저장
  • 변수 e에는 변수 a와 b의 곱을 저장
  • 변수 f에는 a를 b로 나눈 나머지를 저장

힌트: 아래의 예를 참고하여 2개의 변수를 이용한 산술 연산에 대해 알아보세요.

// i와 j의 합 i + j; // i와 j의 차 i - j; // i와 j의 곱 i * j; // i를 j로 나눈 몫 i / j; // i를 j로 나눈 나머지 i % j;

문제 설명

주석의 지시에 따라 코드를 완성해보세요.

  • 변수 c에는 변수 a와 b의 합을 저장
  • 변수 d에는 변수 a에 b를 뺀 값을 저장
  • 변수 e에는 변수 a와 b의 곱을 저장
  • 변수 f에는 a를 b로 나눈 나머지를 저장

힌트: 아래의 예를 참고하여 2개의 변수를 이용한 산술 연산에 대해 알아보세요.

// i와 j의 합 i + j; // i와 j의 차 i - j; // i와 j의 곱 i * j; // i를 j로 나눈 몫 i / j; // i를 j로 나눈 나머지 i % j;

 

비교연산자 - 실습

문제 설명
int 형 변수 a와 b가 주어집니다.1 주석이 지시하는 대로 다음 코드를 완성해 보세요.

c에는 a가 b보다 큰지 비교한 결과를 저장
d에는 a와 b가 같은지 비교한 결과를 저장
e에는 a와 b가 다른지 비교한 결과를 저장
c, d, e는 모두 boolean형 변수이므로 저장되는 값은 true 또는 false이어야 합니다.

힌트: 비교 연산을 하려면 ==, !=, <, >, <=, >= 기호를 이용합니다. 다음 예를 참고하여 문제를 해결해 보세요.

    int i = 10; 
    int j = 10;    

    // i와 j가 같은지 비교하는 연산자
    System.out.println(i == j );    // true
    // i와 j가 다른지 비교하는 연산자
    System.out.println(i != j );    // false
    // i가 j보다 작은지 비교하는 연산자
    System.out.println(i < j);      // false
    // i가 j보다 작거나 같은지 비교하는 연산자
    System.out.println( i <= j);    // true
    // i가 j보다 큰지 비교하는 연산자
    System.out.println(i > j);      // false
    // i가 j보다 크거나 같은지 비교하는 연산자
    System.out.println(i >= j);     // true

if문 - 실습(1)

더보기

문제 설명

int형 변수, value가 3의 배수인지 확인하려면 어떻게 해야 할까요? value를 3으로 나눈 나머지가 0인지를 검사하면 됩니다. value의 값을 변경해가면서 출력이 어떻게 바뀌는지 확인해 보세요.

답을 모르겠나요?1

if문은 조건식이 참이면 내부 블록을 실행하고, 거짓이면 내부 블록을 실행하지 않습니다.

if(조건식) { 실행문; }

예를 들어, 이 실습의 조건식은 value가 3의 배수이면이라는 조건이고, 실행문은 "value는 3의 배수입니다."라고 출력하는 것입니다.

  1. 본 문제에는 정해진 답이 없습니다. 이 실습의 목표는 value 값에 따라 변화하는 출력 값을 확인하는 것입니다. 따라서 어떤 수를 입력하더라도 모두 정답이라고 판정합니다. 정해진 답이 없다고 해서 당황하지 마세요. 😀 

문제 설명

int형 변수, value가 3의 배수인지 확인하려면 어떻게 해야 할까요? value를 3으로 나눈 나머지가 0인지를 검사하면 됩니다. value의 값을 변경해가면서 출력이 어떻게 바뀌는지 확인해 보세요.

답을 모르겠나요?1

if문은 조건식이 참이면 내부 블록을 실행하고, 거짓이면 내부 블록을 실행하지 않습니다.

if(조건식) { 실행문; }

예를 들어, 이 실습의 조건식은 value가 3의 배수이면이라는 조건이고, 실행문은 "value는 3의 배수입니다."라고 출력하는 것입니다.

  1. 본 문제에는 정해진 답이 없습니다. 이 실습의 목표는 value 값에 따라 변화하는 출력 값을 확인하는 것입니다. 따라서 어떤 수를 입력하더라도 모두 정답이라고 판정합니다. 정해진 답이 없다고 해서 당황하지 마세요. 😀 

문제 설명

int형 변수, value가 3의 배수인지 확인하려면 어떻게 해야 할까요? value를 3으로 나눈 나머지가 0인지를 검사하면 됩니다. value의 값을 변경해가면서 출력이 어떻게 바뀌는지 확인해 보세요.

답을 모르겠나요?1

if문은 조건식이 참이면 내부 블록을 실행하고, 거짓이면 내부 블록을 실행하지 않습니다.

if(조건식) { 실행문; }

예를 들어, 이 실습의 조건식은 value가 3의 배수이면이라는 조건이고, 실행문은 "value는 3의 배수입니다."라고 출력하는 것입니다.

  1. 본 문제에는 정해진 답이 없습니다. 이 실습의 목표는 value 값에 따라 변화하는 출력 값을 확인하는 것입니다. 따라서 어떤 수를 입력하더라도 모두 정답이라고 판정합니다. 정해진 답이 없다고 해서 당황하지 마세요. 😀 

문제 설명

int형 변수, value가 3의 배수인지 확인하려면 어떻게 해야 할까요? value를 3으로 나눈 나머지가 0인지를 검사하면 됩니다. value의 값을 변경해가면서 출력이 어떻게 바뀌는지 확인해 보세요.

답을 모르겠나요?1


if문은 조건식이 참이면 내부 블록을 실행하고, 거짓이면 내부 블록을 실행하지 않습니다.

if(조건식) { 실행문; }

예를 들어, 이 실습의 조건식은 value가 3의 배수이면이라는 조건이고, 실행문은 "value는 3의 배수입니다."라고 출력하는 것입니다.


  1. 본 문제에는 정해진 답이 없습니다. 이 실습의 목표는 value 값에 따라 변화하는 출력 값을 확인하는 것입니다. 따라서 어떤 수를 입력하더라도 모두 정답이라고 판정합니다. 정해진 답이 없다고 해서 당황하지 마세요. 😀 

if문 - 실습(2)

더보기

문제 설명

다음 코드는 변수 value가 3의 배수이면 ret에 3을 저장합니다. else if 문을 추가해 value가 4의 배수이면 ret에 4를 저장하는 코드를 추가해보세요.

힌트1

else if문을 이용해 문제를 해결해보세요. 다음 코드는 조건식1이 true이면 실행문1을 실행합니다. 반면에, 조건식 1이 false이고 조건식2가 true이면 실행문2를 실행합니다.

if(조건식1) { 실행문1; } else if(조건식2) { 실행문2; } else { 실행문3; }

※ else if 문은 무한정 쓸 수 있습니다. 다만, else if를 너무 많이 쓰는 코드는 속도가 느리며, 또 보기에도 좋지 않습니다.

  1. 8번째 줄에 else if( value % 4 == 0) ret = 4; 라고 적고 코드를 실행해보세요. 

문제 설명

다음 코드는 변수 value가 3의 배수이면 ret에 3을 저장합니다. else if 문을 추가해 value가 4의 배수이면 ret에 4를 저장하는 코드를 추가해보세요.

힌트1

else if문을 이용해 문제를 해결해보세요. 다음 코드는 조건식1이 true이면 실행문1을 실행합니다. 반면에, 조건식 1이 false이고 조건식2가 true이면 실행문2를 실행합니다.

if(조건식1) { 실행문1; } else if(조건식2) { 실행문2; } else { 실행문3; }

※ else if 문은 무한정 쓸 수 있습니다. 다만, else if를 너무 많이 쓰는 코드는 속도가 느리며, 또 보기에도 좋지 않습니다.

  1. 8번째 줄에 else if( value % 4 == 0) ret = 4; 라고 적고 코드를 실행해보세요. 

문제 설명

다음 코드는 변수 value가 3의 배수이면 ret에 3을 저장합니다. else if 문을 추가해 value가 4의 배수이면 ret에 4를 저장하는 코드를 추가해보세요.

힌트1

else if문을 이용해 문제를 해결해보세요. 다음 코드는 조건식1이 true이면 실행문1을 실행합니다. 반면에, 조건식 1이 false이고 조건식2가 true이면 실행문2를 실행합니다.

if(조건식1) { 실행문1; } else if(조건식2) { 실행문2; } else { 실행문3; }

※ else if 문은 무한정 쓸 수 있습니다. 다만, else if를 너무 많이 쓰는 코드는 속도가 느리며, 또 보기에도 좋지 않습니다.

  1. 8번째 줄에 else if( value % 4 == 0) ret = 4; 라고 적고 코드를 실행해보세요. 

문제 설명

다음 코드는 변수 value가 3의 배수이면 ret에 3을 저장합니다. else if 문을 추가해 value가 4의 배수이면 ret에 4를 저장하는 코드를 추가해보세요.

힌트1


else if문을 이용해 문제를 해결해보세요. 다음 코드는 조건식1이 true이면 실행문1을 실행합니다. 반면에, 조건식 1이 false이고 조건식2가 true이면 실행문2를 실행합니다.

if(조건식1) { 실행문1; } else if(조건식2) { 실행문2; } else { 실행문3; }

※ else if 문은 무한정 쓸 수 있습니다. 다만, else if를 너무 많이 쓰는 코드는 속도가 느리며, 또 보기에도 좋지 않습니다.


  1. 8번째 줄에 else if( value % 4 == 0) ret = 4; 라고 적고 코드를 실행해보세요. 

논리연산자 - 실습(1)

더보기

어떤 사람이 할인 대상인지 검사하려고 합니다. 나이가 19 이하거나 60 이상이라면 할인 대상입니다.

int형 변수 age가 19 이하거나 60 이상이라면 isDiscount에 true를, 아니라면 isDiscount에 false를 저장하게 빈칸을 채워보세요.

힌트1

논리 연산을 표로 나타내면 다음과 같습니다.

ABA && BA || B!A
TRUE TRUE TRUE TRUE FALSE
TRUE FALSE FALSE TRUE FALSE
FALSE TRUE FALSE TRUE TRUE
FALSE FALSE FALSE FALSE TRUE
  1. age가 19 이하거나 60 이상이면 할인 대상입니다. 두 조건 중 하나만 만족해도 되므로, '||'을 이용합니다. age <= 19 || age >= 60 를 입력한 후, 코드를 제출해보세요. 

 

어떤 사람이 할인 대상인지 검사하려고 합니다. 나이가 19 이하거나 60 이상이라면 할인 대상입니다.

int형 변수 age가 19 이하거나 60 이상이라면 isDiscount에 true를, 아니라면 isDiscount에 false를 저장하게 빈칸을 채워보세요.

힌트1

논리 연산을 표로 나타내면 다음과 같습니다.

ABA && BA || B!A
TRUE TRUE TRUE TRUE FALSE
TRUE FALSE FALSE TRUE FALSE
FALSE TRUE FALSE TRUE TRUE
FALSE FALSE FALSE FALSE TRUE
  1. age가 19 이하거나 60 이상이면 할인 대상입니다. 두 조건 중 하나만 만족해도 되므로, '||'을 이용합니다. age <= 19 || age >= 60 를 입력한 후, 코드를 제출해보세요. 

 

어떤 사람이 할인 대상인지 검사하려고 합니다. 나이가 19 이하거나 60 이상이라면 할인 대상입니다.

int형 변수 age가 19 이하거나 60 이상이라면 isDiscount에 true를, 아니라면 isDiscount에 false를 저장하게 빈칸을 채워보세요.

힌트1

논리 연산을 표로 나타내면 다음과 같습니다.

ABA && BA || B!A
TRUE TRUE TRUE TRUE FALSE
TRUE FALSE FALSE TRUE FALSE
FALSE TRUE FALSE TRUE TRUE
FALSE FALSE FALSE FALSE TRUE
  1. age가 19 이하거나 60 이상이면 할인 대상입니다. 두 조건 중 하나만 만족해도 되므로, '||'을 이용합니다. age <= 19 || age >= 60 를 입력한 후, 코드를 제출해보세요. 

 

어떤 사람이 할인 대상인지 검사하려고 합니다. 나이가 19 이하거나 60 이상이라면 할인 대상입니다.

int형 변수 age가 19 이하거나 60 이상이라면 isDiscount에 true를, 아니라면 isDiscount에 false를 저장하게 빈칸을 채워보세요.

힌트1


논리 연산을 표로 나타내면 다음과 같습니다.

ABA && BA || B!A
TRUE TRUE TRUE TRUE FALSE
TRUE FALSE FALSE TRUE FALSE
FALSE TRUE FALSE TRUE TRUE
FALSE FALSE FALSE FALSE TRUE

  1. age가 19 이하거나 60 이상이면 할인 대상입니다. 두 조건 중 하나만 만족해도 되므로, '||'을 이용합니다. age <= 19 || age >= 60 를 입력한 후, 코드를 제출해보세요. 

 

더보기
  • 논리연산자 - 실습(2)
  • darklight

    Java 

문제 설명

어떤 사람이 20대인지 검사하려 합니다.

사람의 나이를 담은 int 형 변수, age가 주어집니다. age가 20대를 나타낸다면 isTwenties에 true를, 그렇지 않으면 false를 저장하는 코드를 작성하세요.
※ 20대는 20세 이상, 29세 이하입니다.

힌트1

ABA && B
TRUE TRUE TRUE
TRUE FALSE FALSE
FALSE TRUE FALSE
TRUE FALSE FALSE
  1. 20대이려면, age가 20 이상이고 30 미만이어야 합니다. 두 조건을 모두 만족해야하니 &&연산자를 사용해야 합니다. 20 <= age && age < 30을 입력한 후, 코드를 제출해보세요

  • 논리연산자 - 실습(2)
  • darklight

    Java 

문제 설명

어떤 사람이 20대인지 검사하려 합니다.

사람의 나이를 담은 int 형 변수, age가 주어집니다. age가 20대를 나타낸다면 isTwenties에 true를, 그렇지 않으면 false를 저장하는 코드를 작성하세요.
※ 20대는 20세 이상, 29세 이하입니다.

힌트1

ABA && B
TRUE TRUE TRUE
TRUE FALSE FALSE
FALSE TRUE FALSE
TRUE FALSE FALSE
  1. 20대이려면, age가 20 이상이고 30 미만이어야 합니다. 두 조건을 모두 만족해야하니 &&연산자를 사용해야 합니다. 20 <= age && age < 30을 입력한 후, 코드를 제출해보세요

  • 논리연산자 - 실습(2)
  • darklight

    Java 

문제 설명

어떤 사람이 20대인지 검사하려 합니다.

사람의 나이를 담은 int 형 변수, age가 주어집니다. age가 20대를 나타낸다면 isTwenties에 true를, 그렇지 않으면 false를 저장하는 코드를 작성하세요.
※ 20대는 20세 이상, 29세 이하입니다.

힌트1

ABA && B
TRUE TRUE TRUE
TRUE FALSE FALSE
FALSE TRUE FALSE
TRUE FALSE FALSE
  1. 20대이려면, age가 20 이상이고 30 미만이어야 합니다. 두 조건을 모두 만족해야하니 &&연산자를 사용해야 합니다. 20 <= age && age < 30을 입력한 후, 코드를 제출해보세요

  • 논리연산자 - 실습(2)
  • darklight

    Java 

문제 설명

어떤 사람이 20대인지 검사하려 합니다.

사람의 나이를 담은 int 형 변수, age가 주어집니다. age가 20대를 나타낸다면 isTwenties에 true를, 그렇지 않으면 false를 저장하는 코드를 작성하세요.
※ 20대는 20세 이상, 29세 이하입니다.

힌트1


ABA && B
TRUE TRUE TRUE
TRUE FALSE FALSE
FALSE TRUE FALSE
TRUE FALSE FALSE

  1. 20대이려면, age가 20 이상이고 30 미만이어야 합니다. 두 조건을 모두 만족해야하니 &&연산자를 사용해야 합니다. 20 <= age && age < 30을 입력한 후, 코드를 제출해보세요

public class LogicalOperatorExam {
    public boolean isAgeTwenties(int age) {
        boolean isTwenties = false;
        //아래 빈칸을 채워 코드를 완성하세요.
        if( 
20<= age&&age<=29
 ) {
            isTwenties = true;
        }
        else {
            isTwenties = false;
        }    
        return isTwenties;
    }

    public static void main(String[] args) {
        LogicalOperatorExam exam = new LogicalOperatorExam();
        exam.isAgeTwenties(19);
        exam.isAgeTwenties(25);
    }
}

삼항연산자 - 실습

더보기

문제 설명

변수 hour에는 현재 시각이 들었습니다.1 hour가 12보다 작으면 오전, 그렇지 않으면 오후라는 값을 ampm에 저장하도록 빈칸을 채워주세요.

힌트2

삼항 연산자를 이용하여 문제를 해결해 보세요. 삼항 연산자는 이렇게 쓸 수 있습니다. 

조건식 ? 피연산자1 : 피연산자2.

조건식이 true이면 피연산자1을, 조건식이 false면 피연산자2를 수행합니다.

int b1 = 5 > 4 ? 50 : 40;

위 코드에서 5 > 4는 참이므로 b1에는 50이 저장됩니다.

  1. java가 제공하는 Calendar를 이용하면 현재 시각을 구할 수 있습니다. 자세한 사용법은 파트13에서 따로 배우니 여기서는 현재 시각이 주어졌다고 생각하고 문제를 푸세요. 

  2. hour > 12 ? "오후" : "오전";이라 쓰고 코드를 제출해보세요. 

문제 설명

변수 hour에는 현재 시각이 들었습니다.1 hour가 12보다 작으면 오전, 그렇지 않으면 오후라는 값을 ampm에 저장하도록 빈칸을 채워주세요.

힌트2

삼항 연산자를 이용하여 문제를 해결해 보세요. 삼항 연산자는 이렇게 쓸 수 있습니다. 

조건식 ? 피연산자1 : 피연산자2.

조건식이 true이면 피연산자1을, 조건식이 false면 피연산자2를 수행합니다.

int b1 = 5 > 4 ? 50 : 40;

위 코드에서 5 > 4는 참이므로 b1에는 50이 저장됩니다.

  1. java가 제공하는 Calendar를 이용하면 현재 시각을 구할 수 있습니다. 자세한 사용법은 파트13에서 따로 배우니 여기서는 현재 시각이 주어졌다고 생각하고 문제를 푸세요. 

  2. hour > 12 ? "오후" : "오전";이라 쓰고 코드를 제출해보세요. 

문제 설명

변수 hour에는 현재 시각이 들었습니다.1 hour가 12보다 작으면 오전, 그렇지 않으면 오후라는 값을 ampm에 저장하도록 빈칸을 채워주세요.

힌트2

삼항 연산자를 이용하여 문제를 해결해 보세요. 삼항 연산자는 이렇게 쓸 수 있습니다. 

조건식 ? 피연산자1 : 피연산자2.

조건식이 true이면 피연산자1을, 조건식이 false면 피연산자2를 수행합니다.

int b1 = 5 > 4 ? 50 : 40;

위 코드에서 5 > 4는 참이므로 b1에는 50이 저장됩니다.

  1. java가 제공하는 Calendar를 이용하면 현재 시각을 구할 수 있습니다. 자세한 사용법은 파트13에서 따로 배우니 여기서는 현재 시각이 주어졌다고 생각하고 문제를 푸세요. 

  2. hour > 12 ? "오후" : "오전";이라 쓰고 코드를 제출해보세요. 

문제 설명

변수 hour에는 현재 시각이 들었습니다.1 hour가 12보다 작으면 오전, 그렇지 않으면 오후라는 값을 ampm에 저장하도록 빈칸을 채워주세요.

힌트2


삼항 연산자를 이용하여 문제를 해결해 보세요. 삼항 연산자는 이렇게 쓸 수 있습니다. 

조건식 ? 피연산자1 : 피연산자2.

조건식이 true이면 피연산자1을, 조건식이 false면 피연산자2를 수행합니다.

int b1 = 5 > 4 ? 50 : 40;

위 코드에서 5 > 4는 참이므로 b1에는 50이 저장됩니다.


  1. java가 제공하는 Calendar를 이용하면 현재 시각을 구할 수 있습니다. 자세한 사용법은 파트13에서 따로 배우니 여기서는 현재 시각이 주어졌다고 생각하고 문제를 푸세요. 

  2. hour > 12 ? "오후" : "오전";이라 쓰고 코드를 제출해보세요. 

 

switch문 - 실습(1)

더보기

문제 설명

변수 month에는 지금이 몇월인지 나타내는 숫자가 들었습니다.1 switch문을 이용해서 season에 현재 계절을 저장하는 코드를 완성해보세요.

편의상 계절은 다음과 같이 나눕니다.

계절기간
겨울 12월 ~ 2월
3월 ~ 5월
여름 6월 ~ 8월
가을 9월 ~ 11월

※ 이번 실습에선 switch의 default 문은 사용하지 마세요.

힌트2

switch문은 어떤 변수의 값에 따라서 실행하는 문장이 바뀌는 제어문입니다. 다음 예를 참고하세요.

int value = 1; switch(value){ // value가 1이면 "100"을 출력합니다. case 1: System.out.println("100"); break; // value가 2이면 "200"을 출력합니다. case 2: System.out.println("200"); break; // value가 3이면 "300"을 출력합니다. case 3 : System.out.println("300"); break; // value가 1, 2, 3이 아니면 "그 외의 숫자"를 출력합니다. default : System.out.println("그 외의 숫자"); }

  1. java가 제공하는 Calendar를 이용하면 현재 날짜를 구할 수 있습니다. 자세한 사용법은 파트13에서 따로 배우니 여기서는 현재 날짜가 있다고 생각하고 문제를 푸세요. 

  2. switch(month) { case 1: 어쩌고 ~ } 

문제 설명

변수 month에는 지금이 몇월인지 나타내는 숫자가 들었습니다.1 switch문을 이용해서 season에 현재 계절을 저장하는 코드를 완성해보세요.

편의상 계절은 다음과 같이 나눕니다.

계절기간
겨울 12월 ~ 2월
3월 ~ 5월
여름 6월 ~ 8월
가을 9월 ~ 11월

※ 이번 실습에선 switch의 default 문은 사용하지 마세요.

힌트2

switch문은 어떤 변수의 값에 따라서 실행하는 문장이 바뀌는 제어문입니다. 다음 예를 참고하세요.

int value = 1; switch(value){ // value가 1이면 "100"을 출력합니다. case 1: System.out.println("100"); break; // value가 2이면 "200"을 출력합니다. case 2: System.out.println("200"); break; // value가 3이면 "300"을 출력합니다. case 3 : System.out.println("300"); break; // value가 1, 2, 3이 아니면 "그 외의 숫자"를 출력합니다. default : System.out.println("그 외의 숫자"); }

  1. java가 제공하는 Calendar를 이용하면 현재 날짜를 구할 수 있습니다. 자세한 사용법은 파트13에서 따로 배우니 여기서는 현재 날짜가 있다고 생각하고 문제를 푸세요. 

  2. switch(month) { case 1: 어쩌고 ~ } 

문제 설명

변수 month에는 지금이 몇월인지 나타내는 숫자가 들었습니다.1 switch문을 이용해서 season에 현재 계절을 저장하는 코드를 완성해보세요.

편의상 계절은 다음과 같이 나눕니다.

계절기간
겨울 12월 ~ 2월
3월 ~ 5월
여름 6월 ~ 8월
가을 9월 ~ 11월

※ 이번 실습에선 switch의 default 문은 사용하지 마세요.

힌트2

switch문은 어떤 변수의 값에 따라서 실행하는 문장이 바뀌는 제어문입니다. 다음 예를 참고하세요.

int value = 1; switch(value){ // value가 1이면 "100"을 출력합니다. case 1: System.out.println("100"); break; // value가 2이면 "200"을 출력합니다. case 2: System.out.println("200"); break; // value가 3이면 "300"을 출력합니다. case 3 : System.out.println("300"); break; // value가 1, 2, 3이 아니면 "그 외의 숫자"를 출력합니다. default : System.out.println("그 외의 숫자"); }

  1. java가 제공하는 Calendar를 이용하면 현재 날짜를 구할 수 있습니다. 자세한 사용법은 파트13에서 따로 배우니 여기서는 현재 날짜가 있다고 생각하고 문제를 푸세요. 

  2. switch(month) { case 1: 어쩌고 ~ } 

문제 설명

변수 month에는 지금이 몇월인지 나타내는 숫자가 들었습니다.1 switch문을 이용해서 season에 현재 계절을 저장하는 코드를 완성해보세요.

편의상 계절은 다음과 같이 나눕니다.

계절기간
겨울 12월 ~ 2월
3월 ~ 5월
여름 6월 ~ 8월
가을 9월 ~ 11월

※ 이번 실습에선 switch의 default 문은 사용하지 마세요.

힌트2


switch문은 어떤 변수의 값에 따라서 실행하는 문장이 바뀌는 제어문입니다. 다음 예를 참고하세요.

int value = 1; switch(value){ // value가 1이면 "100"을 출력합니다. case 1: System.out.println("100"); break; // value가 2이면 "200"을 출력합니다. case 2: System.out.println("200"); break; // value가 3이면 "300"을 출력합니다. case 3 : System.out.println("300"); break; // value가 1, 2, 3이 아니면 "그 외의 숫자"를 출력합니다. default : System.out.println("그 외의 숫자"); }


  1. java가 제공하는 Calendar를 이용하면 현재 날짜를 구할 수 있습니다. 자세한 사용법은 파트13에서 따로 배우니 여기서는 현재 날짜가 있다고 생각하고 문제를 푸세요. 

  2. switch(month) { case 1: 어쩌고 ~ } 

 

import java.util.Calendar;
public class SwitchExam {
    public static void main(String[] args) {
        // month에는 오늘이 몇 월인지 들어 있습니다.
    
        int month = Calendar.getInstance().get(Calendar.MONTH) + 1;
        String season = "";
        // switch문을 이용해서 season이 오늘은 어떤 계절인지 나타내게 만들어보세요.
       
        switch(month){
            case 3:
            case 4:
            case 5:
                season="봄";
            break;  
            case 6:
            case 7:
            case 8:
                season="여름";
            break; 
            case 9:
            case 10:
            case 11:
                season="가을";
            break; 
            case 12:
            case 1:
            case 2:
                season="겨울";
            break; 
        }
         
        System.out.println("지금은 " + month + "월이고, " + season + "입니다.");
    }
}

while문 - 실습(1)

더보기

문제 설명

변수 i와 while문을 이용해서 1부터 10까지 숫자를 차례로 출력해 보세요. while 문은 실행문을 반복적으로 실행해야 할 때 사용합니다.

// 조건이 true일 동안 반복해서 실행문을 실행합니다. while(조건문){ 실행문; }

힌트: 아래 코드는 0부터 5까지 숫자를 차례로 출력하는 반복문입니다.

int i = 0; while(i < 6){ System.out.println(i); //조건문을 원하는 만큼만 반복하고 빠져나가기 위한 부분 i++; }

문제 설명

변수 i와 while문을 이용해서 1부터 10까지 숫자를 차례로 출력해 보세요. while 문은 실행문을 반복적으로 실행해야 할 때 사용합니다.

// 조건이 true일 동안 반복해서 실행문을 실행합니다. while(조건문){ 실행문; }

힌트: 아래 코드는 0부터 5까지 숫자를 차례로 출력하는 반복문입니다.

int i = 0; while(i < 6){ System.out.println(i); //조건문을 원하는 만큼만 반복하고 빠져나가기 위한 부분 i++; }

문제 설명

변수 i와 while문을 이용해서 1부터 10까지 숫자를 차례로 출력해 보세요. while 문은 실행문을 반복적으로 실행해야 할 때 사용합니다.

// 조건이 true일 동안 반복해서 실행문을 실행합니다. while(조건문){ 실행문; }

힌트: 아래 코드는 0부터 5까지 숫자를 차례로 출력하는 반복문입니다.

int i = 0; while(i < 6){ System.out.println(i); //조건문을 원하는 만큼만 반복하고 빠져나가기 위한 부분 i++; }

문제 설명

변수 i와 while문을 이용해서 1부터 10까지 숫자를 차례로 출력해 보세요. while 문은 실행문을 반복적으로 실행해야 할 때 사용합니다.

// 조건이 true일 동안 반복해서 실행문을 실행합니다. while(조건문){ 실행문; }

힌트: 아래 코드는 0부터 5까지 숫자를 차례로 출력하는 반복문입니다.

int i = 0; while(i < 6){ System.out.println(i); //조건문을 원하는 만큼만 반복하고 빠져나가기 위한 부분 i++; }

public class WhileExam{
    public static void main(String[] args) {
        int i = 1;
        // while 문을 써서 1부터 10까지 숫자를 출력해보세요.
        while(i<11){
            System.out.println(i); 
             i++;
        }
        i++;
    }
}

 

for문 - 실습

더보기

문제 설명

for문을 이용해서 1부터 100까지의 자연수 중 짝수만 출력해 보세요.

for 문 사용 방법

// 조건식 수행 결과가 false라면 for 문을 빠져나갑니다. for(초기화식; 조건식; 증감식) { // 조건식 수행 결과가 true라면 실행문을 수행합니다. 실행문1; 실행문2; }

힌트: 1부터 10까지 숫자 중 3의 배수만 출력하고 싶다면 아래의 예처럼 쓸 수 있습니다.

for(int i = 1 ; i <= 10 ; i++) { // if 문을 추가해, i가 3의 배수일 때만 실행문을 수행합니다. if(i % 3 == 0) System.out.println(i); }

문제 설명

for문을 이용해서 1부터 100까지의 자연수 중 짝수만 출력해 보세요.

for 문 사용 방법

// 조건식 수행 결과가 false라면 for 문을 빠져나갑니다. for(초기화식; 조건식; 증감식) { // 조건식 수행 결과가 true라면 실행문을 수행합니다. 실행문1; 실행문2; }

힌트: 1부터 10까지 숫자 중 3의 배수만 출력하고 싶다면 아래의 예처럼 쓸 수 있습니다.

for(int i = 1 ; i <= 10 ; i++) { // if 문을 추가해, i가 3의 배수일 때만 실행문을 수행합니다. if(i % 3 == 0) System.out.println(i); }

문제 설명

for문을 이용해서 1부터 100까지의 자연수 중 짝수만 출력해 보세요.

for 문 사용 방법

// 조건식 수행 결과가 false라면 for 문을 빠져나갑니다. for(초기화식; 조건식; 증감식) { // 조건식 수행 결과가 true라면 실행문을 수행합니다. 실행문1; 실행문2; }

힌트: 1부터 10까지 숫자 중 3의 배수만 출력하고 싶다면 아래의 예처럼 쓸 수 있습니다.

for(int i = 1 ; i <= 10 ; i++) { // if 문을 추가해, i가 3의 배수일 때만 실행문을 수행합니다. if(i % 3 == 0) System.out.println(i); }

문제 설명

for문을 이용해서 1부터 100까지의 자연수 중 짝수만 출력해 보세요.

for 문 사용 방법

// 조건식 수행 결과가 false라면 for 문을 빠져나갑니다. for(초기화식; 조건식; 증감식) { // 조건식 수행 결과가 true라면 실행문을 수행합니다. 실행문1; 실행문2; }

힌트: 1부터 10까지 숫자 중 3의 배수만 출력하고 싶다면 아래의 예처럼 쓸 수 있습니다.

for(int i = 1 ; i <= 10 ; i++) { // if 문을 추가해, i가 3의 배수일 때만 실행문을 수행합니다. if(i % 3 == 0) System.out.println(i); }

 

더보기

배열

문제 설명

원소 1, 2, 3, 4, 5를 차례로 가지는, 길이가 5인 정수형 배열 array를 만들어보세요.

힌트1

배열 사용 방법

① 선언과 초기화를 따로

int[] array1 = new int[4]; // array1에 5, 10, 15, 20를 차례로 저장합니다. array1[0] = 5; array1[1] = 10; array1[2] = 15; array1[3] = 20;

② 선언과 초기화를 동시에

// array2에 정수 5, 10, 15, 20, 25, 30를 차례로 저장합니다. int[] array2 = new int[] {5, 10, 15, 20, 25, 30};

배열

문제 설명

원소 1, 2, 3, 4, 5를 차례로 가지는, 길이가 5인 정수형 배열 array를 만들어보세요.

힌트1

배열 사용 방법

① 선언과 초기화를 따로

int[] array1 = new int[4]; // array1에 5, 10, 15, 20를 차례로 저장합니다. array1[0] = 5; array1[1] = 10; array1[2] = 15; array1[3] = 20;

② 선언과 초기화를 동시에

// array2에 정수 5, 10, 15, 20, 25, 30를 차례로 저장합니다. int[] array2 = new int[] {5, 10, 15, 20, 25, 30};

배열

문제 설명

원소 1, 2, 3, 4, 5를 차례로 가지는, 길이가 5인 정수형 배열 array를 만들어보세요.

힌트1

배열 사용 방법

① 선언과 초기화를 따로

int[] array1 = new int[4]; // array1에 5, 10, 15, 20를 차례로 저장합니다. array1[0] = 5; array1[1] = 10; array1[2] = 15; array1[3] = 20;

② 선언과 초기화를 동시에

// array2에 정수 5, 10, 15, 20, 25, 30를 차례로 저장합니다. int[] array2 = new int[] {5, 10, 15, 20, 25, 30};

배열

문제 설명

원소 1, 2, 3, 4, 5를 차례로 가지는, 길이가 5인 정수형 배열 array를 만들어보세요.

힌트1

배열 사용 방법

① 선언과 초기화를 따로

int[] array1 = new int[4]; // array1에 5, 10, 15, 20를 차례로 저장합니다. array1[0] = 5; array1[1] = 10; array1[2] = 15; array1[3] = 20;

② 선언과 초기화를 동시에

// array2에 정수 5, 10, 15, 20, 25, 30를 차례로 저장합니다. int[] array2 = new int[] {5, 10, 15, 20, 25, 30};

 

  • 배열 사용하기 - 실습(1)
  •  
더보기

문제 설명

array는 길이가 100인 배열입니다. for문을 이용해서 array에 1부터 100까지의 자연수를 순서대로 넣어 보세요.

힌트: 반복문을 이용하여 배열에 값을 넣어야 합니다.

다음은 길이 10인 배열에 0부터 2씩 커지는 값을 넣는 코드입니다.
코드를 실행하면 array의 원소는 차례로 0, 2, 4, 6, 8, ... 입니다.

for(int i = 0 ; i < 10 ; i++){ array[i] = i * 2; }

문제 설명

array는 길이가 100인 배열입니다. for문을 이용해서 array에 1부터 100까지의 자연수를 순서대로 넣어 보세요.

힌트: 반복문을 이용하여 배열에 값을 넣어야 합니다.

다음은 길이 10인 배열에 0부터 2씩 커지는 값을 넣는 코드입니다.
코드를 실행하면 array의 원소는 차례로 0, 2, 4, 6, 8, ... 입니다.

for(int i = 0 ; i < 10 ; i++){ array[i] = i * 2; }

문제 설명

array는 길이가 100인 배열입니다. for문을 이용해서 array에 1부터 100까지의 자연수를 순서대로 넣어 보세요.

힌트: 반복문을 이용하여 배열에 값을 넣어야 합니다.

다음은 길이 10인 배열에 0부터 2씩 커지는 값을 넣는 코드입니다.
코드를 실행하면 array의 원소는 차례로 0, 2, 4, 6, 8, ... 입니다.

for(int i = 0 ; i < 10 ; i++){ array[i] = i * 2; }

문제 설명

array는 길이가 100인 배열입니다. for문을 이용해서 array에 1부터 100까지의 자연수를 순서대로 넣어 보세요.

힌트: 반복문을 이용하여 배열에 값을 넣어야 합니다.

다음은 길이 10인 배열에 0부터 2씩 커지는 값을 넣는 코드입니다.
코드를 실행하면 array의 원소는 차례로 0, 2, 4, 6, 8, ... 입니다.

for(int i = 0 ; i < 10 ; i++){ array[i] = i * 2; }

public class ArrayExam {
    public int[] fill100() {
        
          int[] array = new int[100];
        // array에 순서대로 1부터 100까지 정수를 넣어보세요.
        for(int i=0;i<array.length;i++){
          array[i]=i+1;
        }
        // 아래는 결과 평가를 위한 코드입니다. 수정하지 마세요.
        return array;
    }
    
    // 아래는 실행을 위한 코드입니다. 수정하지 마세요.
    public static void main(String[] args) {
        ArrayExam exam = new ArrayExam();
        int[] arr2 = exam.fill100();
        boolean flag = true;
        for (int i = 0; i < 100; i++) {
            if (arr2[i] != i + 1) {
                System.out.println("array[" + i + "]의 값이 틀립니다.");
                flag = false;
                break;
            }
        }
        if(flag){
            System.out.println("정답입니다.");
        }
    }
}

배열 사용하기 - 실습(2)

문제 설명
array는 길이를 알 수 없는 int형 배열입니다. array의 원소를 모두 합한 값을 sum에 저장하세요.

힌트: array의 길이를 알 수 없다면 어떻게 해야 할까요?

array.length를 사용하면 array 배열의 길이를 읽어올 수 있습니다.
다음은 배열의 원소를 모두 곱한 값을 출력하는 코드입니다.

// 곱을 저장할 변수는 반복문 밖에서 선언합니다.
int mul = 1;

for(int i = 0; i < array.length; i++){ 
    mul = mul * array[i];
}

System.out.println(mul);
배열 array를 따로 선언하지 않았는데, array에 값이 들어있네요. 어떻게 된거죠? 1

배열 array는 public int sum(int[] array)와 같이 함수의 매개변수로 전달되었습니다. 이에 대한 자세한 설명은 다음 파트의 메소드 강의에 나옵니다. 지금은 외부에서 배열을 전달받아 쓸 수 있구나!정도로 생각하시면 됩니다. ↩
public class ArrayExam {
2
    public int sum(int[] array) {
3
        int sum = 0;
4
        // array는 길이를 알 수 없는 int형 배열입니다.
5
        // 변수 sum에 array의 모든 값을 더해보세요.
6
        for(int i=0;i<array.length;i++){
7
            sum+=array[i];
8
        }
9
        // 아래는 결과 평가를 위한 코드입니다. 수정하지 마세요.
10
        return sum;
11
    }
12
    
13
    // 아래는 실행을 위한 코드입니다. 수정하지 마세요.
14
    public static void main(String[] args) {
15
        int[] testcase1 = {1, 2, 3, 4};
16
        int[] testcase2 = {5, 6, 7};
17
        ArrayExam exam = new ArrayExam();
18
​
19
        int answer1 = exam.sum(testcase1);        
20
        int answer2 = exam.sum(testcase2);        
21
        if (answer1 == 10 && answer2 == 18)
22
            System.out.println("정답입니다. [제출]을 누르세요.");
23
        else {
24
            System.out.println("틀렸습니다.");
25
            System.out.printf("1, 2, 3, 4를 더했는데 %d가 나왔네요.\n", answer1);
26
            System.out.printf("5, 6, 7을 더했는데 %d가 나왔네요.\n", answer2);
27
        }
28
    }
29
}

이차원 배열을 출력 하는 코드

다음 코드는 이차원 배열을 출력하는 코드입니다. 코드를 살펴보고 실행해서 결과를 확인해 보세요.

답을 모르겠나요?1

이차원 배열이란 배열을 원소로 가지는 배열을 뜻합니다. 아래의 예를 참고하여 이차원 배열을 어떻게 생성하고 참조하는지 알아보세요.

// array1은 세 배열을 원소로 가지고
// 배열의 원소는 정수를 4개 담을 수 있다.
int[][] array1 = new int[3][4];
array1[0][0] = 10;

// 이차원 배열 선언과 동시에 초기화 
int[][] array2 = {{1}, {2, 3}, {4, 5, 6}};
public class ArrayExam {
    public static void main(String[] args) {
        int [][] array = {{1}, {1, 2}, {1, 2, 3}, {1, 2, 3, 4}};
        
        // 2차원 배열 array를 출력합니다.
        for(int i = 0 ; i < array.length; i++) {
            System.out.print( (i+1) + "번째 줄을 출력합니다>");
            for(int j = 0; j< array[i].length; j++) {
                System.out.print(array[i][j]+" ");
            }
            System.out.println("");
        }
    }
}

for each

  • String클래스 - 실습(2)

 

public class StringExam { 
    public static void main(String[] args) { 
        String str1 = new String("Hello world"); 
        String str2 = new String("Hello world"); 
         
        if( str1.equals(str2) ){ 
            System.out.println("str1과 str2는 같은 값을 가지고 있습니다."); 
        } 
        else{ 
            System.out.println("str1과 str2는 다른 값을 가지고 있습니다."); 
        } 
    } 
}

 

 

 

 

 

메소드(Method) 선언 
다양한 형태의 메소드 
매개변수도 없고 리턴하는 것도 없는 형태의 메소드 
리턴하는 것이 없을 경우 void라고 작성합니다.

    public class MyClass{
        public void method1(){
            System.out.println("method1이 실행됩니다.");
        }
    }
정수를 받아들인 후, 리턴하지 않는 메소드
받아들이는 값은 어떤 타입이라도 상관없다.
받아 들이는 값의 수는 여러개 일 수 있다. 여러개을 경우 콤마(,)로 구분한다.
    public class MyClass{       
        public void method2(int x){
            System.out.println(x + " 를 이용하는 method2입니다.");
        }
    }
이번엔 정수를 받아들인 후, 리턴하지 않는 메소드입니다. 이것을 클래스에서 작성하면 다음과 같습니다.

아무것도 받아들이지 않고, 정수를 반환하는 메소드
리턴하는 값 앞에 return 이라는 키워드를 사용한다.
메소드 이름 앞에는 리턴하는 타입을 적어준다.
리턴타입은 하나만 사용할 수 있다. 리턴하는 타입은 어떤 타입이라도 상관없다.
    public int method3(){
        System.out.println("method3이 실행됩니다.");

        return 10;
    }
    //위 메소드가 실행되면, 콘솔에 'method3이 실행됩니다.' 를 출력하고, 이 메소드를 호출한 쪽에 10을 리턴한다.
정수를 2개 매개변수로 받고, 아무것도 반환하지 않는 메소드
    public void method4(int x, int y){
        System.out.println(x + "," + y + " 를 이용하는 method4입니다.");
    }
정수를 한개 받아들인 후, 정수를 반환하는 메소드
public class MyClass{
    public void method(){
        System.out.println("method1이 실행됩니다.");
    }

    public void method2(int x){
        System.out.println(x + " 를 이용하는 method2입니다.");
    }

    public int method3(){
        System.out.println("method3이 실행됩니다.");

        return 10;
    }

    public void method4(int x, int y){
        System.out.println(x + "," + y + " 를 이용하는 method4입니다.");
    }

    public int method5(int y){
        System.out.println(y + " 를 이용하는 method5입니다.");
        return 5;
    }
}

String클래스의 메소드

String Class가 제공하는 메소드 이용하기

  • 문자열 길이 구하기
    • str.length()는 str이 참조하는 문자열의 길이를 구해서 int 타입으로 리턴해주는 메소드 이다.

System.out.println(str.length()); //str

  • 문자열 붙히기 (concat)
    • str.concat(world) 메소드는 str 이 참조하는 문자열 hello 에다가 메소드의 인자로 들어온 문자열 world 를 붙혀서 String 타입으로 리턴하는 메소드다.
    • String Class는 불변 클래스로, 메소드가 수행되면, 새로운 문자열을 만든다. 그러므로, 원래 클래스는 변하지 않는다.

String str = new String("hello"); System.out.println(str.concat(" world")); //출력결과는 hello world System.out.println(str); //출력결과는 hello

  • 문자열 자르기 (subString)
    • str.subString(1,3) 은 str이 참조하는 문자열을 인덱스 1번부터 3번까지 자른 결과이다.
    • str.subString(2) 은 str이 참조하는 문자열을 2번 인덱스부터 마지막까지 자른 결과를 의미한다.
    • 문자열의 인덱스는 0번 부터 시작한다.

System.out.println(str.substring(1, 3)); //출력결과 el System.out.println(str.substring(2)); //출력결과 llo world

 

 

생성자

모든 클래스는 인스턴스화 될때 생성자를 사용한다.생성자의 특징

  • 생성자는 리턴타입이 없다.
  • 생성자를 프로그래머가 만들지 않으면 매개변수가 없는 생성자가 컴파일할 때 자동으로 만들어진다.
  • 매개변수가 없는 생성자를 기본생성자라고 한다.
  • 생성자를 하나라도 프로그래머가 만들었다면 기본생성자는 자동으로 만들어지지 않는다.

생성자의 역할

  • 생성자가 하는 일은 객체가 될 때 필드를 초기화 하는 역할을 수행한다.
  • 자동차가 객체가 될때 반드시 이름을 가지도록 하려면,Car클래스를 다음과 같이 만들어야 한다.

public class Car{ String name; int number; public Car(String n){ name = n; } }

  • 위의 Car 클래스를 이용하여 Car 인스턴스를 생성하는 방법

public class CarExam2{ public static void main(String args[]){ Car c1 = new Car("소방차"); Car c2 = new Car("구급차"); //Car c3 = new Car(); // 컴파일 오류가 발생합니다. System.out.println(c1.name); System.out.println(c2.name); } }

  • Car클래스는 기본 생성자를 가지지 않는다. 그래서 기본생성자로 Car 객체를 생성할 수 없다.

 

 

 

 

오버라이딩

오버라이딩이란 부모가 가지고 있는 메소드와 똑같은 모양의 메소드를 자식이 가지고 있는 것이다. 즉 오버라이딩이란 메소드를 재정의 하는 것이다.메소드 오버라이딩

  • Car 클래스를 상속받은 Bus 클래스는 부모클래스가 가진고 있는 run() 메소드를 잘 사용한다.
   //run 메소드를 가지고 있는  Car클래스 
    public class Car{
        public void run(){
            System.out.println("Car의 run메소드");
        }
    }

    //Car 를 상속받는 Bus 클래스 
    public class Bus extends Car{

    }

    public class BusExam{
        public static void main(String args[]){
            Bus bus = new Bus();
            bus.run();  //Car의 run메소드가 실행된다. 
        }
    }
  • Bus클래스에 부모가 가지고 있는 메소드와 모양이 같은 메소드를 선언
  public class Bus extends Car{
        public void run(){
            System.out.println("Bus의 run메소드");
        }
    }

    public class BusExam{
        public static void main(String args[]){
            Bus bus = new Bus();
            bus.run();  //Bus run메소드가 실행된다. 
        }
    }
  • BusExam을 실행해 보도록 하겠습니다. Bus의 run메소드가 출력된다.
  • 메소드를 오버라이드 하면, 항상 자식클래스에서 정의된 메소드가 호출된다.
  • 오버라이딩 한다고 해서 부모의 메소드가 사라지는 것은 아니다.
    • super 키워드를 이용하면, 부모의 메소드를 호출 할 수 있다.
    public class Bus extends Car{
        public void run(){
            **super.run();**  // 부모의  run()메소드를 호출 
            System.out.println("Bus의 run메소드");
        }
    }

클래스 형변환

부모타입으로 자식객체를 참조하게 되면 부모가 가지고 있는 메소드만 사용할 수 있다. 자식객체가 가지고 있는 메소드나 속성을 사용하고 싶다면 형변환 해야 한다.

형변환

   public class Car{
        public void run(){
            System.out.println("Car의 run메소드");
        }
    }

    public class Bus extends Car{
        public void ppangppang(){
            System.out.println("빵빵.");
        }   
    }

상속관계란 is a 관계라고 말했었습니다. Bus는 Car다. 라는 관계가 성립되는 것이죠.
현실에서도 우리는 버스를 가리키면서 차다. 라고 말하곤 합니다.

  • 부모타입으로 자식객체를 참조할 수 있다.
    • 부모타입으로 자식객체를 참조하게 되면 부모가 가지고 있는 메소드만 사용할 수 있다.
 public class BusExam{
        public static void main(String args[]){
            Car car = new Bus();
            car.run();
            car.ppangppang(); // 컴파일 오류 발생
        }
    }
  • ppangppang()메소드를 호출하고 싶다면 Bus타입의 참조변수로 참조해야 한다.
    public class BusExam{
        public static void main(String args[]){
            Car car = new Bus();
            car.run();
            //car.ppangppang(); // 컴파일 오류 발생

            Bus bus = (Bus)car;  //부모타입을 자식타입으로 형변환 
            bus.run();
            bus.ppangppang();
        }
    }
  • 객체들 끼리도 형변환이 가능하다. 단 상속관계에 있었을 때만 가능하다.
  • 부모타입으로 자식타입의 객체를 참조할 때는 묵시적으로 형변환이 일어난다.
  • 부모타입의 객체를 자식타입으로 참조하게 할때는 명시적으로 형변환 해주어 한다. 단 이렇게 형변환 할때에는 부모가 참조하는 인스턴스가 형변환 하려는 자식타입일 때만 가능하다.
  •  

public class GasStation{
    public static void main(String[]args){
        GasStation gasStation = new GasStation(); //gasStation인스턴스 생성
        Suv suv = new Suv(); //suv 인스턴스 생성
        Truck truck = new Truck(); //truck 인스턴스 생성
        Bus bus = new Bus(); //bus 인스턴스 생성
        
//         //gasStation에서 suv에 기름을 넣습니다.
//         gasStation.fill(suv);
        
//         //gasStation에서 truck에 기름을 넣습니다.
//         gasStation.fill(truck);
        
//         //gasStation에서 bus에 기름을 넣습니다.
//         gasStation.fill(bus);
        
    }
    
 
    public void fill(Car car){
        //참고. car.getClass().getName()은 car오브젝트가 실제로 어떤 클래스인지를 알려줍니다.
        System.out.println(car.getClass().getName()+"에 기름을 넣습니다.");

        car.gas += 10;
        System.out.println("기름이 "+car.gas+"리터 들어있습니다.");
    }
}

인터페이스 

인터페이스: 서로 관계가 없는 물체들이 상호 작용을 하기 위해서 사용하는 장치나 시스템

  • 인터페이스 정의하는 방법
    • 추상 메소드와 상수를 정의 할 수 있다.
    public interface TV{
        public int MAX_VOLUME = 100;
        public int MIN_VOLUME = 0;

        public void turnOn();
        public void turnOff();
        public void changeVolume(int volume);
        public void changeChannel(int channel);
    }

인터페이스에서 변수를 선언하면 컴파일시 자동으로 아래와 같이 바뀐다.

    public static final int MAX_VOLUME = 100;
    public static final int MIN_VOLUME = 0;

인터페이스에서 정의된 메소드는 모두 추상 메소드이다. 위에서 선언된 모든 메소드는 컴파일 시에 다음과 같이 자동으로 변경된다.

    public abstract void on();
    public abstract void off();
    public abstract void volume(int value);
    public abstract void channel(int number);

 

반응형