티스토리 뷰


기계  -->   전기신호 작동

     1 0  :  2진값(bit)
 1byte = 8bit    0000 0000    -128~127
   1000 0000 0000 0000  -32768~32767
    

부호비트


               byte           1byte



 정수 ---   short           2  

                  int          4
                long          8


 실수 ---     float          4
             double          8



 문자 --  char(캐릭터)       2
 논리 --  boolean            1



1. 변수( Variable )


 -->메모리 저장소에 대한 이름이다.
 

메모리 저장소는 뭘로 만들까 ?

-> 자료형


 얼만큼 필요한데?

150000

byte(x) short(x) int(o)
    ->4byte 정수계열 int형 선택


 int myMoney = 150000;( 처음에는 무조건 int 위주로 사용 )
 정수는 int가 기본이다 ->int 연산일 때 가장 최적화


 ex)

173.5 -> height


--> int height =173.5; ( x )
( int는 정수이므로 double 사용)

 

--> double height =173.5; ( 0 ) 
 --> float height = 173.5F; ( 0 )
  
ex)

 "홍길동" : 문자열

(String --> class는 대문자로 사용 )
 
 String name = "홍길동"


<변수이름짓기>

  
 int km = 10;
 int distance = 10;

 int korScore = 10 ;


==> 데이터가 쓰이는 목적을 파악해서 이름을 지어줌 
 
 변수의 이름을 어떻게 지어야 하나(작명)


 1. 연상할 수 있는 쉬운 단어를 선택
 2. 될수 있으면 짧게 -너무 짧은면 이해하기 어렵다
 3. 소문자로 시작함(규칙)-->지키지않아도 에러는 나지않지만 범주에서 벗어남
 4. 단어가 겹칠 때 (이어질 때) 대문자로 적자


ex)
  appleorange -> appleOrange
  schoolname -> schoolName
  (카멜(낙타) 표기법)


 문법


  (1) 공백이 들어가면 에러
  (2) 특수문자가 있으면 에러
  --> $나 _는 사용할 수 있다


  (3) 숫자가 맨앞에 있으면 에러
   두번째 부터는 숫자가 올 수 있다
   int 5bun; ( x )
   int bun5; ( o ) 
   int b5un; ( o )

 
  (4) 키워드를 재사용 할수없다
  (5) 대소문자 단어는 서로 다른 단어
   
   int max;
   int mAx;
   (다른단어)


  (6) 한글도 가능하다
   --> 소스가 한글이 지원되지 않은 운영체제에서는 읽히지 않음
   --> 호환성이 떨어진다
   --> 한글은 사용하지 않는다 
  
 변수 선언하기


 *int -> 4byte


 void main(){

  //이름,국어성적, 주소 
  //""(String) , int , ""(String)  


  String name="홍길동";


  int kScore=10;   

  --> 초기화 (initialize)


  String address="서울시 율도국";

     -->초기화
         =>변수를 만들고, 처음 데이터를 넣는 것 
  

 초기화를 하지 않으면 어떤 현상 ?

-> 연산(x), 출력 (x) :잔류비트가 남아있음


 -> 초기화를 통해서 잔류비트를 없애고 사용하자
 -> 만약 초기값이 없다면 (아직 정하지 않았다. 나중에 입력할 예정이다) 기본값을 넣음
  

EX)

int = 0 ;

String=" ";

( 기본 초기값 )
  


 int engScore;
  -->초기화가 안되었기 때문에 에러가 남

  

int engScore = 0; 

-->아직 값이 없으므로  0을 넣어놓음


  -->나중에 영어성적이 생겼다. (80점을 받았다.)
  engScore = 80;

--> 80을 engScore에 "대입" 시킨다
  }


실습#1.



  package variableex;


public class VariableTest {
         public static void main(String[] args) {
  

 //#해당 변수를 만들어 보자 
 //#1.책 제목, 페이지 수, 작가 이름, 출판사
  
   String bookName = "해리포터";
   int page = 500;
   String bWriter ="조앤롤링";
   String company = "고려원";
   int price = 15000;
  
   System.out.println("책 제목: "+bookName);
   System.out.println("책 페이지 수: "+page+"쪽");
   System.out.println("책 작가: "+bWriter);
   System.out.println("책 출판사: "+company);
   System.out.println("책 가격 : "+price+"원");
   System.out.println("////////////////////////////");
  
   bookName = "이순신과 임진왜란";
  
   // int page ->이름충돌이 일어나서 에러가 남 (구별점이 없어짐)
   // int page2 또는 page에 값을 다르게 재활용함 (변수를 재활용)


   page= 400;
   bWriter ="이순신";
   company = "조선";
   price = 20000;
  
   System.out.println("책 제목: "+bookName);
   System.out.println("책 페이지 수: "+page+"쪽");
   System.out.println("책 작가: "+bWriter);
   System.out.println("책 출판사: "+company);
   System.out.println("책 가격: "+price+"원");
   System.out.println("///////////////////////////");
  
   bookName = "키보드와 마우스 ";
   page= 150;
   bWriter ="모니터";
   company = "코리아";
   price = 180000;
  
   System.out.println("책 제목: "+bookName);
   System.out.println("책 페이지 수: "+page+"쪽");
   System.out.println("책 작가: "+bWriter);
   System.out.println("책 출판사: "+company);
   System.out.println("책 가격: "+price+"원");
   System.out.println("//////////////////////");


  //#2. 아이디,   비번  이메일 주소
  //    문자열"" ""( 숫자와 문자 둘다 가능한 문자열 사용 )  ""


  String id="";

//초기값 설정 (기본 초기값)
  String password="";
  String email ="";
  
  id="dog123";
  password="1234";
  email="dog@hanmail.com";
  
  System.out.println(" 아이디(비번) : + 이메일");
  System.out.println(id+"("+password+") :"+email);
  
  
  

 }

}




  실수
  
  double 변수명; -->8byte  소수점 308자리  
  float 변수명;  -->4byte  소수점 38자리
  
  
  float fl = 10.1;   -->기본은 double형 상수

--> 10.1은 기본적으로 double 형 상수가 된다.
      fl이라는 그릇은 4byte짜리 그릇이다.


float fl = 10.1F; 

(  6.7 -> 6.7F )


실습 #2.


package variableex;


    public class VariableTest2 {

 

public static void main(String[] args) {
 

  int number = (int)1.1; 

        //1.1을 int형으로 바꿔라!
        //그리고 나서 number에 집어 넣어라(대입해라)


  float f = 2.0F;   
  System.out.println(f);


  double data = 10;
  System.out.println(data);
  
  System.out.println(f + data);
  System.out.println(10/3);  //3
  System.out.println(10/3.0);  //3.33333333333    마지막에 종점에서 오차값이 발생한다.
      //소수점 자리값을 조절할 필요가 있다.



printf ( )




    System.out.printf();
    
    println -->  print   : 출력
    printf   --> f를 갖고 출력할 것 

             Format : 서식문자 

                    ("%알파벳")
           정수  %d  

           실수  %f 

           문자열 %s  

           문자 %c


    printf("", 인자);


     1. "" 안에 : 서식문자를 쓰자
     2.  인자 : 서식문자에 넣을 데이터를 씀
   
  int age= 34;

   

 ※ 4개의 서식문자  == 차례대로 4개의 인자
  System.out.printf("나이는 %d살 %d  %f %s입니다.\n", age+1+5, 67, 1.1, "홍길동");
  
  %자리값f 

  

ex) %,1f  : 1.234 -->1.2
     %.2f  : 1.234 -> 1.23
  


  System.out.printf("평균 키 : %fcm\n",  (10.1+20.2+30.4)/3   );
  System.out.printf("평균 키 : %.0fcm\n",  (10.1+20.2+30.4)/3   );
  System.out.printf("평균 키 : %.1fcm\n",  (10.1+20.2+30.4)/3   );
  System.out.printf("평균 키 : %.2fcm\n",  (10.1+20.2+30.4)/3   );
  System.out.printf("평균 키 : %.3fcm\n",  (10.1+20.2+30.4)/3   );
  System.out.printf("평균 키 : %.4fcm\n",  (10.1+20.2+30.4)/3   );
  
  //버려지는 숫자가 앞자리를 반올림 시킨다.
  System.out.printf("%.0f\n", 1.567);  //반올림 시킨다
  System.out.printf("%.1f\n", 1.567);  //반올림 시킨다
  System.out.printf("%.2f\n", 1.564);  //반올림 시킨다


 }

}







 

문자

.  --> 문자를 연속적으로 모아 놓은 것을 "문자열"이라고한다.
 

1. 문자 데이터는  홑따옴표로 되어 있다.
  -> 'a'  '1'  '3' 키보드에서 하나 키를 눌렀을 때 발생하는 데이터
 

2. 두글자이상 쓰면 에러다 반드시 홑따옴표 안에는 한글자만 써야한다.
    한글자도 쓰지 않으면 에러가 남

ex)
   'ab'    '' ( x )
   ' '  공백도 문자다 (white space)

--> 한칸 만 가능 두칸쓰면 에러다


3. 문자는 문자마다 고유의 코드값이 들어 있다.
   ('a' 타이핑을 치면  a에 대한 전기신호가 발생한다(2진수))
    전기신호->ram한테 전달
   
   0100 0001   :  아스키코드(자바가 있기 전) ->  c언어 사용
   

'0' : 48   

'A' : 65  

'a' : 97 


   ---> 자바로 넘어오면서  자바는 유니코드 체계를 체계를 사용한다.
   문자를 2byte로 사용 ( char 가 2byte다)
  
 

실습 #3.


package variableex;


public class VariableTest3 {

public static void main(String[] args) {


  char gender = '남';
  System.out.println(gender);
  gender= '여';
  System.out.println(gender);
  
  System.out.println((int)'A');  //'A'에 대한 코드값을 보여준다.
  System.out.printf("%c의 코드값 : %d\n", 'a', (int)'a');
  System.out.printf("%d\n", (int)'0');
  
 

     }


}




서식문자를 사용할 때는 printf 사용해야함


<단축키>


alt+shift+r

=> 변수이름을  한번에 다 바꾸는 단축키

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함