2일차 수업 ( Scanner 문) 

 

 

<오늘 배운 내용->  하단 내용 참조 

 

1. 데이터의 형변환

a) 자동 형변환

b) 강제 형변환 

 

2. 연산자

- 대입 연산자

- 증감 연산자

- 논리 연산자

- 3항 연산자 : 데이터형 변수명 = (조건식)? 1 : 2;

 

int a12 = ( a1 > a2 ) ? a1 : a2;
int top = ( a12 > a3 ) ? a12 : a3;

 

-> 조건식이 true 이면 값1을 취하고, false 이면 값2을 취한다.
-> 1에 지정한 가능한 데이터는 숫자, 문자, 문자열 모두 가능하다.

 

3. 문장 ( statement )

 

- 주석문 : 설명을 위한 문장으로 프로그램이 실행 하지 않는 문장

   한줄 주석 : //

   여러줄 주석 : /* */

 

- 조건문 : 여러 조건들을 해결하기 위한 문장

a. 단일 if

b. if - else

c. 다중 if

d. switch

 

- 반복문 : 반복을 하기위한 문장

a. for

b. while

c. dowile

 

4.  Scanner 사용하기 (C언어의 scanf() 역할)

 

Scanner 클래스 사용
import java.util.Scanner;  -> import 받음
Scanner scan = new Scanner( System.in );

 

예제 코드) 입력받는 두 숫자를 곱하기

import java.util.Scanner;

public class Test10 {

public static void main(String[] args) {
int a=0, b=0;
Scanner scan = new Scanner( System.in ); //Scanner 사용에 있어 먼저 선언
  
System.out.println("가로 입력 :");
a = scan.nextInt(); // a라는 변수를 입력받음
System.out.println("세로 입력 :");
b = scan.nextInt(); // b는 변수를 입력받음

if(a<=0 || b<=0){

System.out.println("길이는 0이하일 수 없습니다.");
return;} // 0이하의 숫자는 입력을 제한 하는 부분

System.out.println("입력하신 두수의 곱은 : " + a*b);
}

}

 

==2일 째 오늘 학습 내용

1. 데이터 형변환
==> 데이터형이 프로그램 실행중에 변경됨을 의미한다.
==> 특징 :
 -같은 종만 변환된다. ( 수치형 )
 -기본형 + 참조형 모두 데이터 형변환이 발생된다.
 

 가. 자동 형변환 ( promotion )
  - byte > short > int > long > float > double
    char > int    ==>char 연산이 가능하다.

  - 큰 데이터형 = 작은데이터형;

  - int 보다 작은 정수형을 연산하여 나온 결과의 데이터형은 자동으로 int 로 변환된다.
  예 >        short s = 10;
   short s2 = 10;
   short s3 = s+s2  //이게 안됨 int로 변환됨

  - 큰데이터형과 작은데이터형을 연산하면 큰데이터형으로 형변환된다.

  예 > byte b =10;
       int i = b;  //byte 1바이트 int 4바이트라 수용가능함. 같은종


 나. 강제 형변환( type casting )

  : 작은데이터형 = 큰데이터형;  //에러발생
  따라서 강제적으로 형변환해야 된다.

  :( 변환활 데이터형 ) 형변환 연산자 사용.
  예 > int i=10;
       short s = (short)i;

 

연산자 ( operator )
 가. 산술연산자
  + ( 더하기 )
  - ( 빼기 )
  * ( 곱하기 )
  / ( 나누기, 몫 )
  % ( 나머지 )
<대입 연산자>
: 값을 대입하는 연산자

a = b  b는 a에 대입(저장)
a += b a와 b를 더해서 다시 a에 대입한다.
a -= b a와 b를 빼서 다시 a에 대입한다.
a *= b a와 b를 곱해서 다시 a에 대입한다.
a /= b a와 b를 나누어서 다시 a에 대입한다.
a %= b a와 b를 나머지를 다시 a에 대입한다.


<증감 연산자>
: 증가 연산자, 감소 연산자
1) 증가 연산자 : ++
-> 값이 1 증가한다.
++변수 : 전치 -> 먼저 증가하고 나중에 할당
변수++ : 후치 -> 먼저 할당하고 나중에 증가

2) 감소 연산자 : --
-> 값이 1 감소한다.
--변수 : 전치 -> 먼저 감소하고 나중에 할당
변수-- : 후치 -> 먼저 할당하고 나중에 감소


<논리 연산자>
: 논리값으로 연산이 발생이 되고 결과는 논리값으로 나온다.

 a. && ( and 연산자 ) : 앰퍼샌트 (&)

 true && true   -> true
 true && false  -> false
 false && true  -> false
 false && false -> false

 * & vs &&
 &&는 앞의 결과가 false 이면 뒤의 결과를 체크하지 않는다.
 & 는 앞의 결과에 상관없이 항상 뒤의 결과를 체크한다.
 
 b. || ( or 연산자 )

 true || true   -> true
 true || false  -> true
 false || true  -> true
 false || false -> false

 *||(short circuit) vs ||
 || 는 앞의 결과가 true 이면 뒤의 결과를 체크하지 않는다.
 | 는 앞의 결과에 상관없이 항상 뒤의 결과를 체크한다.

 c. ! ( not 연산자 )

 !true  -> false
 !false -> true 


<3항 연산자>
: 데이터형 변수명 = (조건식)? 값1 : 값2;

-> 조건식이 true 이면 값1을 취하고, false 이면 값2을 취한다.
-> 값1에 지정한 가능한 데이터는 숫자, 문자, 문자열 모두 가능하다.

<instanceof 연산자>
- 변수의 데이터형을 알아 보려고 할때 사용 (참조 데이텨형만 가능 int 같은거안됨)
- '변수명 instanceof 데이터형' 으로 사용. 해석 : 변수명이 이 데이터형이야?
- 결과는 논리값


문장 ( statement )

가. 실행문
    : 순차문
      ->

나. 비실행문
    : 자바가 실행하지 않는 문장을 의미한다.
      개발자를 위한 문장이다.
   
    : 주석문 이라고 한다.
    : // 한줄 /* */ 여러줄


조건문

a. 단일 if 문

 문법 :
 
 문장0;
 if(조건식){
 문장1;
 }
 문장2;

-> 조건식이 true 인 경우에만 문장1 실행.

b. if - else 문
 
 문법 :
 
 문장1;
 if(조건식){
 문장2
 }
 else{
 문장3;
 }
-> 조건식이 true 면 문장2 실행하고 false 면 문장3을 실행한다.

c. 다중 if 문 -> 비교할 조건식이 여러개인 경우에 사용

 문법 :
 문장1;
 if(조건식){
 문장2
 }
 else if{
 문장3;
 }
 else if{
 문장4;
 }
 else{
 문장5;
 }

d. switch

 문법 :
 switch(정수식) {
  case 값1 : 문장1; break;
  case 값2 : 문장2; break;
  case 값3 : 문장3; break;
  default : 문장4;
 }

-> break; 는 스위치문을 빠져나올 때 사용
-> 정수식을 만족하는 case 값을 실행
-> 용도는 if-else 문과 비슷하다.
-> 정수식에 가능한 데이텨형은 byte, short, int, char 4가지가 가능하다.

e. 반복문 : 하나의 문장을 여러번 수행 가능한 방법이다.
     항상 3가지 정보 필요 ( 반복회수 = '초기값' , '증갑연산자' , '조건식' )
- for 문
문법 :

 for( 초기값; 조건식; 증감식 ){
 문장 1;
 }
=> 초기값>조건식>문장>증감식>조건식>문장>증감식>조건식>문장>증
감식>조건식(false)> for문을 빠져나온다.

- while 문
문법 :

 초기값;
 while(조건식){
 문장;
 증감식;
 }
=> 예측이 힘든 경우에 사용

*무한루프
 while(true){
 문장;
 }
 
 boolean result = true;
 while(result){
 문장;
 if(조건식) result = false;
 }

- dowile 문
문법 :

- 향상된 for 문
-> 배열 ,컬렉션 ( 대량의 데이터에 저장용)에 저장된 데이터를 반복적으로 열어올 때 사용된다.
문법 :
  for( 데이터형 변수명 : 배열명 ){
 }

반복문에서 사용하는 2가지 키워드

break 문 : 가까운 반복문을 빠져 나온다.
예)
 while(조건식){
  for(){
  if(조건) break;
  }
  if(조건) break;
 }

continue 문 : 블럭안의 모든 문장을 반복하지 않고 특정 조건이 일치하는 경우 skip 할 목적으로 사용

예)
 while(조건식){
 문장1;
 문장2;
 문장3;
 }

< 키보드 입력 >

Scanner 클래스 사용
import java.util.Scanner;
Scanner scan = new Scanner( System.in );

예)
import java.util.Scanner;

public class Test10 {

 public static void main(String[] args) {
  
  int a=0, b=0;
  
  Scanner scan = new Scanner( System.in );
  
  System.out.println("가로 입력 :");
  a = scan.nextInt();
  System.out.println("세로 입력 :");
  b = scan.nextInt();
  
  if(a<=0 || b<=0){
  System.out.println("길이는 0이하일 수 없습니다.");
  return;
  }
  System.out.println("사각형의 넓이는 : " + a*b);
 }

}

 

 

직장을 다니면서 투잡(알바/부업)으로 월급 많큼 수익을 얻고 싶으시다면  

아래 접속하셔서 상담받아 보실 수 있습니다. (믿음의 재택부업회사)

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,