class IfGrade
{
 /**
 매개변수로 점수를 받는다.0~100
 점수
 100~90 : 'A'를 return
 89~80 : 'B'를 return
 79~70 : 'C'를 return
 69~60 : 'D'를 return
 60 이하 : 'F'를 return
 */
 public char checkGrade(int jumsu){
 
  if(100>=jumsu && jumsu>=90){
   return 'A';
  }else if(jumsu<=89 && jumsu>=80){
   return 'B';
  }else if(jumsu<=79 && jumsu>=70){
   return 'C';
  }else if(jumsu<=69 && jumsu>=60){
   return 'D';
  }else {
   return 'F';
  }

 }
 public static void main(String[] args)
 {
  IfGrade grade = new IfGrade();
  char c1 = grade.checkGrade(92);
  char c2 = grade.checkGrade(42);
  char c3 = grade.checkGrade(82);
  System.out.println(c1+","+c2+","+c3);//A,F,B

 }
}


2.
class IfGrade
{
 /**
 매개변수로 점수를 받는다.0~100
 점수
 100~90 : 'A'를 return
 89~80 : 'B'를 return
 79~70 : 'C'를 return
 69~60 : 'D'를 return
 60 이하 : 'F'를 return
 */
 public char checkGrade(int jumsu){
 
  if(100>=jumsu && jumsu>=90){
   return 'A';
  }else if(jumsu>=80){
   return 'B';
  }else if(jumsu>=70){
   return 'C';
  }else ifjumsu>=60){
   return 'D';
  }else {
   return 'F';
  }

 }
 public static void main(String[] args)
 {
  IfGrade grade = new IfGrade();
  char c1 = grade.checkGrade(92);
  char c2 = grade.checkGrade(42);
  char c3 = grade.checkGrade(82);
  System.out.println(c1+","+c2+","+c3);//A,F,B

 }
}
3.

class IfGrade
{
 /**
 매개변수로 점수를 받는다.0~100
 점수
 100~90 : 'A'를 return
 89~80 : 'B'를 return
 79~70 : 'C'를 return
 69~60 : 'D'를 return
 60 이하 : 'F'를 return
 */
 public char checkGrade(int jumsu){
 
   char grade = ' ';
  if(100>=jumsu && jumsu>=90){
   grade = 'A';
  }else if(jumsu>=80){
   grade = 'B';
  }else if(jumsu>=70){
   grade = 'C';
  }else ifjumsu>=60){
   grade  = 'D';
  }else {
   grade =  'F';
  }
  return grade;

 }
 public static void main(String[] args)
 {
  IfGrade grade = new IfGrade();
  char c1 = grade.checkGrade(92);
  char c2 = grade.checkGrade(42);
  char c3 = grade.checkGrade(82);
  if(


  System.out.println(c1+","+c2+","+c3);//A,F,B

 }
}

* if 예외처리

class IfGrade
{
 /**
 매개변수로 점수를 받는다.0~100
 점수
 100~90 : 'A'를 return
 89~80 : 'B'를 return
 79~70 : 'C'를 return
 69~60 : 'D'를 return
 60 이하 : 'F'를 return
 */
 public char checkGrade(int jumsu){
 
 char grade = ' ';
  if(100>=jumsu && jumsu>=90){
   grade= 'A';
  }else if(jumsu<=89 && jumsu>=80){
   grade= 'B';
  }else if(jumsu<=79 && jumsu>=70){
   grade= 'C';
  }else if(jumsu<=69 && jumsu>=60){
   grade= 'D';
  }else if(jumsu<60){
   grade= 'F';
  }
     return grade;
 }
 public static void main(String[] args)
 {
  IfGrade grade = new IfGrade();
  char c1 = grade.checkGrade(92);
  char c2 = grade.checkGrade(42);
  char c3 = grade.checkGrade(82);
  char c4 = grade.checkGrade(150);

  
  System.out.println(c1+","+c2+","+c3);//A,F,B
  if(c4==' '){
  System.out.println("잘못된 잢이 들어갔습니다.");
  }

 }
}

 

'프로그래밍 > JAVA프로그래밍' 카테고리의 다른 글

반복분(for, while)  (0) 2012.07.28
switch문  (0) 2012.07.28
Data type, 연산자, 형변환  (0) 2012.07.28
제한자, 캡슐화, 변수, this  (0) 2012.07.28
객체지향(oop)이라면 알아야할 개념  (0) 2012.07.28
Posted by 조은성
,

1. Data type : Data(값)의 구분(종류)
               -> 기준 :  형태, 크기

   -① Primitive Data type(기본 data type)-(ex :  숫자, 문자..(1개의 값 표현밖에 못함))
   -② Reference Data type(참조 data type)-(ex : class(class가 type, 객체(instance) 가 값이된다.)(여러개의 값이 합쳐져 하나의 값을 표현))
       ->Reference Data type의 기본 값은 NULL이다.
(null은 아무 객체도 참조하고 있지 않다는 뜻이다.)
* null값가진변수.xxx->실행시 오류 발생.(Null pointer exception발생)
 
2.타입

①실수 - double(8byte) - 실수형의 기본 type->소수점이하 16자리까지 표현(더 정밀하게 표현한다)
       float(4byte)  - 값F, 값f(ex :  50.2F, 50.2f)->소수점이하 7자리까지 표현

②정수형 - byte(1byte)
  short(2byte)
  int(4byte) - 기본형(20억을 기준으로 사용을 결정한다.)
  long(8byte)


* 10.5->1.05x10->0.105e2
* 1600000000000000 ->16*10^14->16E14

③ 논리형(Logical) - 참/거짓->type은 boolean

   값 : true,false

④ 문자 - char(2byte) : 1글자를 값으로 가진다.
                 값은 ''으로 감싼다.
                 2byte-unicode 한글자
  '\uAOSB(<-유니코드 한글자) -> unicode 1글자(16진수로 나타남)

*escape문자
'\t' - tab
'\n' - enter
'\\' - \문자(역슬러시)
'\'' - '
"\"" - "

3.String - 문자열(0~n글자)을 위한 Data type
         ->class -> Reference Data type
         - new 생성자() 하지 않고 객체 생성

* 사용:

1.변수 = "문자열";
  String s = "ABCDE";
2.변수=new String("문자열");
  String s = new String ("ABCDE");

* 두개의 문자열이 같은지 비교

boolean b = String객체.equals(비교String객체);
        b = "abs".equals("def");
 b = s1.equals(s2)l - s1,s2가 String type

* type이 다른 경우 작은 type 을 큰 type으로 바꾼후 계산한다.
* byte-short-int-long-float-double
      -char

*논리 연산자
- && ->and  true & true -> true 나머진 다 false   (&하나짜리는 뒤에도 검사, &&뒤에짜리는 하나가 참이면 바로 검사를 멈추고 나온다)
- || ->or   false | false ->false 나머진 다 true  (|하나짜리는 뒤에도 검사, ||뒤에짜리는 하나가 참이면 바로 검사를 멈추고 나온다)
- ^->xor  true ^ false -> true
        false ^ true -> true

        t^t->false
        f^f->false
- !->not

!true->false
!false->true

* 조건(삼항)연산자

조건 ? 피연산자1 :  피연산자2;
->boolean- true면 피연산자 1을 쓰고 false면 피연산자 2를쓴다.

int a = (x<5)? 20 :  50;
x가 5보다 작으면 20을 a에 넣고 아니면 50을 넣어라.

* cast 연산자(형변환) :  값의 type을 변환 시켜주는 연산자

- primitive Data type 간의 형변환 가능
- Reference Data type 간의 형변환 가능

사용법 :  (type)값; (int)10.5;

*자동형변환 : upcasting( 작은 type->큰 type)

*명시적코딩 : down casting(큰type->작은type)
 (변수보다 값이 더 큰경우 명시적 형변환이 필요하다)
* primitive Data type에서 형변환을 하면 Data가 깨질수도 있다.

ex :
class TypeCasting{
 public static void main(String[] args)
 {
  
  int var1=10+20; 
  System.out.println("10+20 = "+var1);//String +int->String+String
  
  double var2 = 20+30+25.7;
  System.out.println("20+30+25.7 = "+var2);//String +int->String+String
  
  long var3 = 365L*365*365*365*365*365*5;
 //  long var3 = (long)365*365*365*365*365*365*5;
  System.out.println("365*365*365*365*365*365*365*365*365*365*5 = "+var3);
                //캐스팅 연산 - 대입연산시에만 주의
         boolean b = 'a'<5;
  System.out.println(b); //false나옴
  long I = 10;//(O)
 // int k = 20L;//컴파일 에러
  int l = (int)30L;
  System.out.println(k);//30나옴
  int h = (int)300000000000000000L; //
  System.out.println(h);//이러면 300000000000000000L이 값이 나오지 않음 따라서. 작은 값안으로 강제형변환 하는 것은 좋지 않음.
 }
}

'프로그래밍 > JAVA프로그래밍' 카테고리의 다른 글

switch문  (0) 2012.07.28
if문  (0) 2012.07.28
제한자, 캡슐화, 변수, this  (0) 2012.07.28
객체지향(oop)이라면 알아야할 개념  (0) 2012.07.28
this  (0) 2012.07.28
Posted by 조은성
,

1.제한자-①접근제한자(값을 변경, 조회)- 접근 범위를 정해줌.(ex :  public, protected, packagefriendly(아무것도 쓰지 않을경우), private)
         ②보통 제한자(final(한번 값을 넣으면 변경할 수 없음을 제한))


2.private에 접근하기 위해서 변경하는 메소드와 조회하는 메소드를 지원한다.(set(int a), get())

3. 캡슐화(은닉성, 정보 하이딩 기법)
- instance 변수의 접근제한자는 private로 하여 직접 접근하지말고 변수의 값을 변경하는 setter와 조회할수 있는
  getter메소드를 public으로 제공하라.
- setter구문 :  public void set변수명(매개변수 :  변수 type)  int age; public void setAget(int a){}
- getter구문 : public 변수 type get변수명(){}, public int getAget(){}
- boolean : 변수명을 is로 시작하라.

4. 변수

-Local variable : 메소드 안에 선언한 변수.(지역변수 Method variable)(매개변수도 local변수)
 ->사용범위 : 메소드 수행시. 선언부 실행~메소드 종료.
 ->외부에서 호출(접근)불가.
 ->실행 stack(excute stack) 메모리 영역에 저장.  stack 구조는 FILO구조를 가진다.( 먼저들어간게 나중에 나온다.)
 ->묵시적 초기화가 없다.
*객체는 heap영역에 저장.

*변수 = 값
① value(10,20,"ABC")
② 연산(10+20)
③ 변수 int i = 20;
        int j = i;
④ 메소드 호출문 int j = sum(10,20);//리턴값

*Local 변수는 자신이 선언되어 있는 블럭 내에서만 사용가능하다.
ex :

void go(){
 int i = 10;
 {
  System.out.println(i);(가능)
  int j = 20;
 }
 System.out.println(j);(에러)
}

 

5. 데이터 저장

- (실행)stack - 실행 중인 메소드의 local 변수(로컬변수에서 변수는 사용이 끝나면 없어 지므로 (실행) 스택이라는 말을 쓴다.)
- heap  - 객체가 저장.

6. this : 이것(①overloading constructor(생성자),
               ②현재 일하는 메소드, 생성자를 소유한 객체를 가리키는 Local 변수)
          -> 현재 일하고 있는 객체의 주소값을 가리킨다.
          -> instance 메소드나 생성자 호출 시 실행 stack 영역에 가장 먼저 올라간다.

 

'프로그래밍 > JAVA프로그래밍' 카테고리의 다른 글

if문  (0) 2012.07.28
Data type, 연산자, 형변환  (0) 2012.07.28
객체지향(oop)이라면 알아야할 개념  (0) 2012.07.28
this  (0) 2012.07.28
오버로딩(overloading)  (0) 2012.07.28
Posted by 조은성
,