4일차

개발개발/자바 2013. 8. 29. 16:29

4일차(배정연산자,캐스트연산자,제어문개요)
캐스트연산자=> (  )

자동형변환
 1.데이터를 저장->자동으로 형이 변환->저장
   ex) byte b=23;
 2.계산하면 작은데이터->큰쪽 데이터
   ex) 2(int)+3.4(double)=2.0+3.4=5.4
===========================

 명시적인 형변환(=강제형변환)

byte s2=12; short s3=45;
       //int result=s2+s3; 기본
       short result=(short)(s2+s3);//수식은 소괄호
       System.out.println("result="+result);

p95 비트연산자,쉬프트연산자


논리연산자->&,|,^
  논리적인 데이터  & 논리적인 데이터
       (2>3)                  (5<7)


비트연산자->정수값->2진수로 변환->계산
 &,|,^,~ =>이진화된 데이터 & 이진화된 데이터
                           14 & 9
===========================
=>&(and)
     |(or)
     ^(xor)
     ~(not)

ex)  14 & 9==>2진수
  byte b=14,c=9

 양수->1,2,4,8,16,,,

1->true, 0->false

   00001110=>14
   00001001==>9   &
==============
   00001000==>10진수로 변환->8
=====================
 | ->or ->(둘중에 하나가 참이면 ->참)

   00001110=>14
   00001001==>9   |
==============
   00001111=>1+2+4+8=15

  ^->xor연산자->1 1, 0 0->0 ,1,0,0,1->1

   00001110=>14
   00001001==>9   ^
==============
   00000111->1+2+4=7
===============
 ~ ->not===>1->0   0->1로 변환
===============
 ~14
 
  00001110=>14
  ==========
  11110001->-?==>보수
  ===============
  10-3=7+3
================
 =>양수->음수로 변환

      1)reverse->1->0,0->1
      2)+1
==================
 ex)byte a=2;
      00000010->2=>-2
      =========
      11111101
      +           1
==================
      11111110===>-2
===============
      음수->양수로 변환

      1)-1
      2)reverse->1->0,0->1
      ============
       11111110-->-2
       -           1
    ============
       11111101
===========
       00000010==>2
======================
       BitTest.java
  ~14 =>00001110->14
              11110001->-?=>음수->양수
              -            1
              =========
              11110000
              =======
              00001111->1+2+4+8=>15=>-15
============================
비트연산자->비트를 오른쪽,왼쪽으로 이동시키는 연산자
                  shift연산자

     >>>=>데이터전송과 연관(데이터입출력)
============================
1) 피연산자 >> n(이동시키는 비트수)
  ->  14 >> 1->7,    14 >> 2=>3
             00001110
               0000111=>왼쪽에 공백->양수->0을채움
                                                    음수->1을채움
             00000111->1+2+4->7
=======================
       -14 >> 1
 공식)  14(x)  >> 1(n)=>14(x)/2의n=7
         -14(x)  >> 1(n)=>-14/2=>-7
=======================
       14 << 1(n)->왼쪽으로 비트수를 이동
       00001110
       0001110  ====>오른쪽공백->0을 채움
       14(x) << 1(n)->x*2의 n->14*2=28
===========================
       00011100=>4+8+16=28
       -14(x) << 1=>-14*2=-28

     -8 >> 1=>-8/2=-4
     -8 >> 2=>-8/4=-2
===========================
      >>>=> >>와 기능이 거의 유사
          ->왼쪽에 공백=>양수,음수 상관없이 무조건
                                  0을 채운다
             ->데이터를 전송할때 내부적으로 >>>
                 을 이용 ->양수로 만들어서 전달
            byte->-128~127=>0~255
===========================
복합대입연산자=>배정연산자=>
 int num=10;
  num=num+5;//=>num+=5; //권장
  ===========>실행속도가 더 빠르다
  num=num*10;//->num*=10;
  num=num-10;//->num-=10;
  num=num/10;//=>num/=10;

 System.out.println("num="+num);
 p79
  e+=2.1;//e=e+2.1;
  e*=2;//e=e*2;
  n*=2.2=>n=n*2.2;
==================
주의)==>a++,++a
             =>a=a+1;//a+=1; a++
              a--=>a=a-1; //a-=1;
=====================
 netbeans 개발툴
 ==========
 제어문=>실행흐름의 컨트롤
==================
 자바의 명령어->순차문->코딩순서대로 실행이 되는
                                   문장.
                       제어문->특별한 조건에 따라서 실행
                                    될수도 실행이 되지않을
                                    수도 있는 문장
                       주석문-->컴파일러가 번역하지 않는
                                    문장
=============================
 제어문 종류

 1.p110~117->if문,삼항연산자->조건문
 2.switch문->선택문->JDK버전에서 추가된 문법
 3.p124~ 반복문(for,while,do~while)
-------------------------------------------------

 조건문->if문->특정조건에 따라서 참,거짓(둘중의
                      하나값을체크할때)

 변수,수식,true
 형식1)  if(조건식)==>p111
              문장1;

 형식2)  if(조건식)
                문장1;
            else
                문장2;


   IFTest2.java
======================
  형식3)if(조건식) { //if문내부에 또 다른 if문
              if조건식--->참인경우
          }else{
              if조건식--->거짓인경우
          }
======================
  형식3)=>if(조건식) {
                    문장1;
              }else if(조건식2){
                    문장2;
              }else if(조건식3){
                    문장3;
              }
               ...
              else{

              }

 삼항연산자->IFTest3.java

=>if문 대신사용하는 연산자
형식)변수명=(조건식)? 참인문장:거짓인문장
 
   int num1=50,num2=100;
=================

             50       100       50     100
=>big=(num1>num2)?num1:num2;
               50     100         50 -100            100-50
     diff=(num1>num2)?(num1-num2):(num2-num1)
==>제어문->조건문


 

 

'개발개발 > 자바' 카테고리의 다른 글

6일차  (0) 2013.09.03
5일차  (0) 2013.09.03
3일차  (0) 2013.08.28
2일차  (0) 2013.08.28
초보 Java 웹 개발자들을 위한 학습 로드맵 프로그래밍  (0) 2012.05.16
Posted by 공돌공돌
,