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 공돌공돌
,

3일차

개발개발/자바 2013. 8. 28. 15:48

3일차(연산자의 개요및 연산자종류)

  c:\webtest
        java
           |
          3일차(연산자의 개요및 연산자종류)->3일차.txt
================================
1장 프로그램설치-->2장 변수,자료형->Eclipse
        Editplus

 package(패키지)->탐색기의 폴더처럼->예제를 관리->0828

 PrefixTest

  bin->
     |
      -j0828
           PrefixTest.class
  src->소스파일
    |
     -j0827
          OpTest.java
     -j0828
           PrefixTest.java
            ...

1.패키지를 따로 작성->우리가 예제를 하나씩 추가=>그래픽
2. j0827.aa.bb=> jo827
                               aa
                                  bb->OpTest.java
===========================
산술연산자(+,-,*,/,%->나머지를 구해주는 연산자)
증감연산자

 앞에 있으면(prefix)->먼저 계산이 되고
 뒤에 있으면(postfix)->나중에 계산이 된다.

int b=a++;
int b=a;//int b=
a=a+1;
===========
관계연산자
=>대소비교를 해주는 연산자
<,>,>=,<=

==(변수에 저장된 값이 서로 일치하는지 확인)
!=(변수에 저장된 값이 서로 같지 않은지 확인)

ex) int a=5;
      int b=10;
==========>변수(집)

<주의 할점>
 1.a==b=>a의 값과 b의 값이 같은지 확인
 2.a!=b=>두개의 변수값이 서로 같지 않은지 확인
 3.a=b==>b의 값을 a에 저장하라
========================
논리연산자=>참과 거짓을 판별할 수 있는 연산자

&&(and)=>그리고->두개의 값이 참이 되는 경우
||(or)->또는-->둘중에 하나라도 참이 있으면 T
   ==>조건평가->첫항의 결과에 따라서 두번째항을 체크할지
                         말지 결정해주는 계산방식

 (2>3) && (5<7)
     F            T--->F
                  F---->F
    T------->T----->T
                 F----->F
============================
 !(not)=>부정 =>!T-->F   !F->T

=>명제
          &&(and)   ||(or)     !   xor
T    T        T        T ---->F      F
T    F        F        T         F      T
F    T        F        T         F       T
F    F        F        F         T       F

============
 &(and)==>모두평가방식->양쪽항을 무조건 체크해서 결과
 | (or)
 ^(xor)->배타적인 결합->두개의 값이 같으면 False
                                     두개의 값이 다르면 참
================
 LogicalTest.java
 
boolean result=(num1==10) && (num2==20)

(3+5)*7==>3+5*7
==============
비트연산자
쉬프트연산자
=========
배정연산자
=========
삼항연산자=>제어문과 연관(if)
big=(num1>num2)? num1:num2;

형식)
변수명=(조건식)?참인값:거짓인값;

=>조건식의 계산결과에 따라서 값을 다르게
     변수에 저장시킬때 관여하는 연산자
=>삼항연산자

    ThreeTest.java=>삼항연산자
====================
형변환연산자(Cast Operator)->캐스트연산자
     변수앞에 (변환시키고자하는 자료형)

p64 자료형의 변환

정수,문자,문자열,논리적인값 저장
                                      소수점
=============================>자동형변환
byte->short->int->long->float->double
   1        2        4      8         4
          char
             2
<===========================강제형변환
                                    float f=3.5f;
   int num=(int)3.15;  ==>(강제로 부여하는 자료형)변수명 or 숫자
=======================================
연습문제 풀이=>CastTest.java
==================
논리형->boolean(1byte)
문자형->char(2byte)
정수형->byte->short->int->long
실수형->float(4byte), double(8byte)
=======================
2-2)

long regNo=3456781234567L;//13자리
        System.out.println("regNo="+regNo);

2-3)

 int i=100;
 long l=100L;
 final float PI=3.14f;

-리터럴->데이터저장부분
   100,100L,3.14f

-변수=>i,l
-상수->PI->변수명 앞에 final단어가 붙으면
                  상수=>대문자로 사용

-키워드(예약어)->int,long,final,float
=======================
2-4]
a. int
b.Byte->Wrapper class
c.double
d.boolean

2-5]

System.out.println("1"+"2");//문자열+문자열=문자열->"12"
System.out.println(true+"");//boolean(1byte)+String(4byte)
                                             "true"+""->"true"
System.out.println('A'+'B');//문자+문자->int로 변환
                              65+66=>131
System.out.println('1'+2);//문자(char)+2(int)=>int+int
                                              49+2=51
System.out.println('1'+'2');//문자+문자=>int로 변환
                             49+50=>99
System.out.println('J'+"ava");//문자(char)+문자열(String)
                                             "Java"
System.out.println(true+null);//오류

2-6] 키워드가 아닌것은?(모두)
a. if->키워드임

b. True->true
c. NULL->null
d. Class->class
e. System->키워드가 아님
                  항목이 아님

2-7] 변수의 이름으로 사용?

a. $ystem=>가능(_,$만 가능)
b. channel#5=>#은 사용불가
c. 7eleven=>첫글자는 숫자오면 에러유발
d. If->가능하다(단 if->예약어이기때문)
e. 자바->한글도 가능
f. new ->예약어
g. $MAX_NUM=>사용가능
h. hell@com=>@때문에 에러유발

========================>
1,2,3일차->공부

자료형변환->명시적인 형변환 ,배정연산자,비트,쉬프트연산자
제어문->if,switch

 

 

 

 


1.boolean=>자료형변환이 없다.(배제)
=========
자료형변환-->수식연산사이에 일어나는 과정

형변환의 종류

1.자동형변환->계산을 하다보면 자동적으로 형변환

 숫자를 저장하면서 그 자료형에 맞게 데이터를 변환->저장
1) byte su=2;  00000010
    short su=2; 00000000 00000010
    int su=2;     00000000 00000000 00000000 00000010

2) 3.5(double)+12(int)=>3.5+12.0=15.5
->ex) byte su;//자료형 변수명부여(규칙->식별자규칙)
         su=27;//변수명=저장할값;

         int num2=35;//선언하면서 데이터를 저장시켜라
  //su변수의 값=27
        //byte sum=su(byte)+num2(int);=>int+int->int
       int sum=su+num2;

2.명시적인형변환(=강제형변환)
  =>개발자(사용자)가 따로 명확하게 어떤형으로 변환을 할지
      강제적으로 지정해주는 경우

 

 

 


 

 

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

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

2일차

개발개발/자바 2013. 8. 28. 15:47

2일차(식별자,변수,상수,자료형,이클립스설치 및 환경설정)

 c:\webtest
        java
           2일차(식별자,변수,상수,자료형,이클립스설치 및 환경설정)
             식별자,변수,상수,자료형=>editplus작업
             이클립스설치 및 환경설정->

 =>1장~5장->설치(환경설정)->변수,자료형(2장)
                  ->4장 연산자->3장(형변환)->5장 제어문
==================================
  복습(2~3주)
=>자바->6장,7장->클래스,인스턴스(객체),9장,10장,11장,
              13장 배열,14,15,16장 상속,chapter 17장,인스턴스
====================================
     18장.예외처리,20장.Wrapper 클래스, 21장. 제너릭,22장(웹)
      24장 파일과 I/O 스트림(웹->파일 업로드)
      25장 Swing=>안드로이드 프로그래밍

     SE->기본적인 자바프로그래밍을 작성(응용프로그램)
            메모장,그림판 프로그램작성=>필수버전
===============================
     EE->웹프로그래밍 할때 필요->Tomcat서버
     ME->모바일 프로그래밍

자바의 특징->바이트코드->->JavaTest.java->JavaTest.class
                  ->운영체제에 상관없이 다 실행이 될수있는 코드로
                      작성된 파일
===================================
chapter2 변수,자료형

 기본적인 프로그래밍->입출력 프로그램->입력받아서 처리
자료형=>사용자가 컴퓨터에게 지정->문자->'a',A
                                                             "note"->문자열
                                                    23,23.6
             저장되는 데이터의 종류와 크기를 지정해주는 것
            (=데이터형)->p41
  1.기본자료형->8가지(문자,문자열,숫자(소수점),논리적인값)

=>VarTest.java

1.수치(숫자)
               byte->-128~127=>27저장
                     ->자바에서의 데이터(문자)를 전송할때 사용하는
                        입출력단위=>0~255

                 ex) 자료형 변수
변수->컴퓨터가 저장되는 임의 의공간->이름부여
               short->2byte=>-32768~32767
               int->4byte기억공간에 데이터를 저장
                   ->자바에서의 연산을 할때 기본 데이터형
                      변수+변수=>

  자바의 특징->플랫폼에 독립적=>운영체제에 상관없이 다 실행
                     이식성이 있다.->연산결과에 따라서 기본적으로
                                            자료형은 int
                     long형->long형으로 데이터를 저장->저장할값L;
              ex) int num1;
                    num1=10;//메모리 낭비
                  int a;
                  int b;
                  int c;
========================
                  int a; int b; int c;

 식별자(idenfier)
->개발자가 임의로 편리성을 가지고 부여하는 이름
->ex) v_변수명

1.대소문자를 구분해서 부여
 =>String name="홍길동";

2.영문자+숫자+특수기호(_,$)=>조합
3.숫자는 맨처음에 올수없다.
4.키워드(=예약어)는 사용불가
 
  VarTest2.java
               long

 byte->short->int->long->float->double
                               8          4
                               2,2.3

자바에서의 소수점이하를 저장->실수->
무조건 double형으로 저장해야 한다.

->소수점이하가 2자리이하->간단->float로 저장
->소수점이하가 6자리이상->정밀도->double로
                                                     저장
============================
=>VarTest3.java

2.문자->p53->문자저장->내부적으로 숫자로 변환->저장(2진수)

byte->-128~127=>0~255=>범위 데이터를 전달(아스키코드)
==>한글,일본어,독일어...=>유니코드(한글저장->2byte)
                                                      영문저장->1byte

  char->2byte(0~65535)
=>0x숫자->16진수형태로 저장
=>0숫자->8진수형태로 저장
=================
16진수
0~9 10 11 12 13 14 15
        A  B   C   D  E   F

숫자로 저장->0x,0을 붙여서 저장
문자로 저장->유니코드형태로 저장
                  '\u0000'~'\uFFFF'
boolean->논리적인값을 저장
               (참,거짓인것을 판별할수있는값)

true,false값만 저장
===============
->1,0으로 표현할수가 없다.
================

'a'=>"ab"=>문자열
String=>문자열을 저장시키는 데이터자료형
=====>기본자료형(8가지)에는 포함이 되어있지 않은 자료형
              (참조형)
===================================
=>이클립스로 개발=>
  http://www.eclipse.org
==================

Eclipse IDE for Java Developers, 151 MB=>Java만 가능

Eclipse IDE for Java EE Developers, 246 MB
           =>Java+web 기능이 내장=>권장

=>eclipse ~.zip=>다운받아서 압축을 풀면 된다.(설치과정이 없다)
          =>MyEclipse(유료)

eclipse-jee-juno-SR1-win32.zip->xp
========================
eclipse-jee-juno-SR2-win32-x86_64.zip
=>64bit용

 eclipse
    |
     -eclipse.exe=>실행
==================
이클립스 실행오류

 가상머신생성 오류발생
->이클립스->자바의 특정파일을 불러다
                   사용
eclipse.ini->편집

openFile
////////////////////////////////추가->저장시킨후->eclipse.exe실행
-vm
C:\Jdk7.0\bin\javaw.exe
////////////////////////////////
-vmargs

2.오류메세지->해상도에 문제가 발생->큰 오류창이 실행
=>-Xmx512-->-Xmx256으로 해상도를 낮춰준다음에
저장시킨후 실행

3.32bit버전으로 설치하는 경우->버전이 안맞는 경우
=>공유된 라이브러리파일을 불러올수 없다.(jvm.dll)
==========================
     eclipse~x64~.zip->다운받음.
============================

C:\Users\강사\workspace
=>작업영역?

do not ask agin->체크

1.작업영역을 설정
=>예제작성->저장위치 지정?

c:\webtest
       java
         |
        sou폴더생성

C:\webtest\java\sou

2.자바->프로젝트작성
      JavaStudy
File->New->other
   java project선택

   src->~.java저장
   bin->~.class저장
=============
연산자
변수선언->저장->출력

연산을 하기위한 연산자
OpTest

public static void main()
체크->자동으로 만들어준다

3.글꼴설정,라인번호출력
windows->preference

General
   Apperanace
       Colors and Font

  Editors
        Text Editors
    show line numbers를 체크
    (라인번호를 출력)
->Basic->Text Font

 Apply->OK적용 끝
===============
Verdana,14->26

연산자->연산을 하기위한 기호

종류

1.산술연산자
     -단항산술연산자->+,-,++,--
     ex) int a=-5;

     -이항산술연산자->p74->+,-,*,/,%(나머지)
ex) int a=5,b=6;
      int c=a+b;//수식->피연산자 연산자 피연산자
 
 editplus->저장->컴파일

 eclipse->파일을 저장->자동 컴파일

=>ctrl+s(저장)->자동 컴파일
===================
=>증가시키는 기호->++
     감소                ->--

++변수명->prefix(전위연산자)
     변수명++=>postFix(후위연산자)
======================
=>연산자->증감연산자,관계연산자
                  논리연산자,캐스트연산자

3장->자료형의 변환
======================

 

2.관계연산자(=대소비교연산자)
3.논리연산자
==========
4.비트연산자
5.쉬프트연산자
==========
6.대입연산자
7.증감연산자
8.캐스트연산자(=형변환연산자)

 


3.논리적인값 저장->true,or false

===================================
  2.참조자료형->사람의 정보

 

 

 

 

 

 

 

 

 


 

 

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

4일차  (0) 2013.08.29
3일차  (0) 2013.08.28
초보 Java 웹 개발자들을 위한 학습 로드맵 프로그래밍  (0) 2012.05.16
변수  (0) 2012.04.16
생각하고 코딩하기  (0) 2012.04.13
Posted by 공돌공돌
,