오늘은  연산자에 대해서 학습합니다.

 

1) 논리 연산자

논리 연산자는 참인지 거짓인지를 나태내어 줍니다.

종류

AND(&,&&)

OR(|,||)

XOR(^)


AND 연산자는 모든 값이 참 일때 참을 뱉어냅니다.

OR 연산자는 값중에 하나라도 참 일때 참을 뱉어 냅니다.

XOR 연산자는 서로 값이 다를때 참을 뱉고 서로 값이 같다면 거짓을 뱉습니다.

아래의 표를 보면 이해가 쉽습니다.
 A가 거짓 B가 거짓 일때 AND연산자는 거짓을 알려주고 OR도 거짓 XOR도 거짓을 알려주는 구나 이렇게 이해 하시면 됩니다.

이유는 둘다 참일때 AND연산자는 참을 알려주고 OR는 하나라도 참이면 참을 알려주고 XOR는 서로 다를때 참을 알려주기 때문입니다.

 

2) 증감 연산자

증감 연산자의 종류에는 2개가 있습니다.

증가를 나타내는 ++와 감소를 나타내는 --가 있습니다.

서로 각각 1을 증가시키거나 1을 감소 시키는 기능을 하는데요.

a라는 변수가 있다고 할때

앞에 위치하거나 뒤에 위치하거나 할 때의 차이점을 나타냅니다.

예를 들어

++a, a++, --a, a--

위와 같이 사용을 하는데요.

++a 는 먼저 자신을 1증가 시키고 다른 연산을 시작하며

a++ 는 먼저 다른 연산을 한후 자신을 1 증가 시킵니다.

소스를 통하여 비교를 해봅시다.

 

<html>
<head>
<title></title>
<script>
a = 10;
b = ++a;
document.write(b);
</script>
</head>
<body>
</body>
</html>

결과값은 11

 

3)관계연산자

관계 연산자는 초등학교시절 배운거라서 쉽습니다. 부등호 아시죠? ^^

관계 연산자의 종류는 다음과 같습니다.

<크다.

<= 크거나 같다.

> 작다

> 작거나 같다

== 같다(===)

!= 같지 않다.(!==)

즉 3<4 라는 식이 있다면 거짓인 false를 출력 하게 됩니다.

그리고 4 < 3 이라는 식이 있다면 참인 true가 출력 됩니다.

같다에는 == 과 === 가 있죠. 서로 같으면 참을 보여줍니다.

같지 않다에는 !=과 !== 가 있죠 서로 같지 않으면 참을 보여줍니다.

== 과 === 의 차이 그리고 != 과 !== 의 차이는 무엇일까요?

== 은 값이 같다면 참이지만 ===은 값과 타입까지 같아야 참입니다.

!= 은 값이 다르면 참이지만 !==은 타입도 다르고 값도 달라야 참입니다.

여러 가지 식을 써서 한번 확인해보죠.

 

4) 조건 연산자

변수 = 조건?true:false;

변수 = 조건?true:false; 조건이 true면 true를 대입하고 false면 false를 변수에 대입하는데요.

예를 들어,

number = 10>5?"number":"string";

위의 식을 보면 10>5가 크면 number라는 문자열을 number변수에 대입하고 아니라면 string라는 문자열을 대입하라는 것입니다. 10은 5보다 크므로 number이라는 문자열을 number 변수에 대입합니다.

다른 예

number = 10>5?10:5;

위의 식은 10이 5보다 크면 10을 number에 대입 아니면 5를 대입하는 식입니다. 이제 아시겠죠?

 

위 결과값은 10

 

블로그 이미지

itworldkorea

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

,

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)을 변화시킨다.

,