10일차

개발개발/자바 2013. 9. 10. 17:23

10일차(중간점검(문제풀이)=>12장 콘솔로 입력->처리,
                2차원배열,상속의 개요 및 작성법)
==>j0906
           |
            -SaveAs ArgTest->ArgTest2

1.int tot=(int)str+(int)str2+(int)str3;
 ->String(참조형)->int(기본형)==>형변환이 안됨.

2.public static void main(int [] args)

=>main()의 매개변수는 수정할 수가 없기때문에
오류: j0906.ArgTest2 클래스에서 기본 메소드를 찾을 수 없습니다. 다음 형식으로 기본 메소드를 정의하십시오.
   public static void main(String[] args)

=============================
 자바 API문서를 이용해서 문자열->숫자로 변환
  하는메서드를 찾아서 코딩?

 http://java.sun.com
Java SE 7 Documentation
=>로컬로 압축풀어서 볼 경우

Download

 Documentation

61.2 MB 

 jdk-7u25-apidocs.zip=>index.html을 실행

자바프로그래밍 기본
=>java.lang패키지(폴더)

 =>문자열->String
 =>숫자->Integer=>문자->숫자
 ->소수점->Double
  ...

  Field Summary=>멤버변수
  Constructor Summary=>생성자
  Method Summary=>메서드

public static int parseInt(String s)
                    throws NumberFormatException

Parses the string argument as a signed decimal integer
문자열->10진수
                         10=Integer.parseInt("10")
                         "10"=?(10)

1.java.lang패키지를 찾음
2.관련된 클래스중에서 메서드를 찾을때
    매개변수의 갯수,반환형을 고려해서 찾을것.
3.메서드의 용도->예제를 볼것.
4.정적메서드->클래스명.정적메서드명
   일반메서드->객체명.일반메서드
========================
     10=Integer.parseInt("10")
     10.3=String.valueOf("10.3")->Double.parseDouble("10.3")

5.이클립스에서 자바의 API문서를 찾는방법
  찾는 클래스를 입력->shift+f2(단축키)->탭제공

6.찾고자하는 메서드-->데이터를 수정?
                 setXXX으로 시작하는 메서드를 찾을것
   저장된 데이터를 조회?--->getXXX으로 찾을것.
   반환형이 boolean인 경우->isXXX로 시작하는경우

=>ex)창의 확대를 금지시켜주는 메서드?
    java.awt패키지
                 Frame

7.새로운 클래스를 찾을때 ->생성자를 먼저 봐서
         객체를 생성

  ->메서드 찾기
Scanner(InputStream source) //키보드(System.in)
String,Integer=>기본 패키지(java.lang->자동인식)

java.lang패키지를 제외한 나머지 무조건
불러올때 import 최상위패키지명.하위패키지명...참조할 클래스명

=>#include <stdio.h>
import java.lang.String;

  자동정렬->ctrl+shift+f
  자동import->ctrl+shift+o

public int nextInt()

 숫자를 입력->nextInt()
 문자열을 입력->nextLine()
===========================
<문제1>키보드로 숫자를 입력을 받아서 구구단을
             출력하시오.(GuTest.java)

<실행결과>
   몇단을 입력할까요?7
   7*1=7
    ...
   7*9=63

<문제2>키보드로 입력을 받아서 별을 출력하시오.
<실행결과> =>StarPrint.java

   별을 출력할 수를 선택?[1-3] 3
   ***
    **
   *
   다른 수입력->숫자입력에서 오류발생!
출력할 별의수?[1-3]
7
숫자입력오류

<문제3>InputTest.java(Scanner)
<실행결과>
     1.이름을 입력?
        홍길동
     2.국어점수?
         90

   홍길동:수
===================
<문제4>배열과 키보드입력문제->ArrayCalc.java
 연속해서 5과목을 입력을 받아 총합,평균을 구하시오.
5과목 점수를 입력?
45
78
90
34
56
총합=303
평균=60.6

====================
제어문,메서드문제,배열,키보드입력,
String클래스에 대한 메서드
StringBuffer,,,
Eclipse사용법
====================
....2문제(인터넷검색)+2문제
============================
<문제5>키보드로 문자열을 입력을 받아서
소문자->대문자로,대문자->소문자로 출력하시오.

 ConvertTest.java->ConvertTest2.java(과제)

실행결과

문자를 입력?
                   0123456789
                  "abDadkadAg"-->문자열 길이
                      |
                     'a'=>대,소문자인지 판별?
                             'a'->'A'
                             'A'->'a'

                문자열의 길이=>length()->10
                문자열에서 문자->charAt(인덱스번호)
                  ABdADKADaG

   Character클래스

 1.문자->대문자인지 소문자인지를 체크해주는 메서드
                     isUpperCase(char ch)=>대문자인지
static boolean isLowerCase(char ch)=>소문자인지

             true=Character.isLowerCase('a')

   소문자->대문자로 변환=>toUpperCase(char)
                소문자로 변환=>tuLowerCase(char)

     type mismatch  convert String to int
              소->대문자,대->소문자
=======================
   Adb
   aDB

  B
  b
문자열을 입력?
dadkGadgAgaGa
DADKgADGaGAgA
==================================
2차원배열->DoubleArrayTest
자바의 2차원배열.ppt

과제>문자열을 입력받아서->대->소,소->대
 ConvertTest2.java
1.문자열을 입력? aabG===>for(;;),while(true)
                        AABg
   문자열을 입력?=>문자열의 내용을  비교해주는 메서드?
   ...
  E or e을 입력->System.exit(0);//프로그램 종료
                       adab123Ggg
     =>숫자는 입력하면 안됩니다.->강제종료(return)
          =>isXXXX =>문자인지,숫자인지를 체크해주는
                               메서드를 찾기

2.Repeat.java로 저장
===============
<실행 결과>
1.반복할 문자를 입력? a

2.반복할 횟수를 입력? 3
       ->nextInt().
   aaa
 =>caller,worker=>문자,횟수->매개변수
     ->메서드작성
==========================
===>문제
주말동안 ->2문제->제어문,배열,String클래스
 ->String클래스(subString(),trim(),concat()...예제)
   메서드문제...=>2문제
=============================

 

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

12일차  (0) 2013.09.10
11일차  (0) 2013.09.10
9일차  (0) 2013.09.10
8일차  (0) 2013.09.10
7일차  (0) 2013.09.10
Posted by 공돌공돌
,

9일차

개발개발/자바 2013. 9. 10. 17:23

9일차(생성자 오버로딩과 메서드호출방법,this,배열)
    ==>오버로딩 문법(추가->배열,확장 for문)
=>자바 API문서를 참조->Math,String클래스,,,
=============================
 j0905
    |
     -PersonTest.java
      PrintTest.java 복사

  (),(name),(age),(sex),
    (name,age),(age,sex),(name,sex),
    (name,age,sex)==>이상적
===========================
p289 =>추상화(설계도)->캡슐화(올바른값 저장?)
        =>다형성(메서드의 오버로딩)
        ====================
         this->메서드의 호출방식

        업무=>팀장(과장)--->보고서작성->동료
                  caller              worker---->worker
                                         (caller)

1.main()(caller)--->일반메서드 호출
   (정적)==>객체를 생성->객체명.일반메서드명()

2.main()---------->정적메서드 호출
   (정적)====>클래스명.정적메서드명()
                        정적메서드명()
===========================
3. this를 이용하는 경우
=================
   Student.java(학생)

자동으로 정렬=>ctrl+a(전체복사)
                   =>ctrl+shift+f

 this의 용도
 
  (1)
  메서드를 호출해서 멤버변수에 값을 저장할때
   멤버변수와 매개변수가 같으면 멤버변수를 구분
  하기위해서 멤버변수앞에 this를 써서 구분해준다.

  public void setName(String name){
          name=name;
  }

  (2)현재 생성된 객체를 가리키는 예약어
       =>p2,p4==>this로 대신사용이 가능하다.
===========================
  this=>멤버변수와 매개변수를 구분하기위해 사용
            현재 생성된 객체 대신용도

  this()=>매개변수가 없는 기본생성자를 호출하라
 생성자->일반메서드

 메서드 호출 방식의 3 번째
 3. 일반메서드->일반메서드 호출
      생성자---->일반메서드 호출

 4.생성자-->자기 클래스 내부에 존재하는
                   다른 생성자를 호출
    this()=>매개변수가 없는 기본생성자를 호출
    this(1);==>매개변수가 1개면서 정수형
    this("홍길동")=>매개변수 1개,문자열
    this(2,"이길수")-->매개변수 2개
    .....==>다양한 방법으로 데이터를 저장하기위해서
 
    Person p5=new Person()
                  -->new Person("임시2",27,"여자")
  
              public  Person(){
  this("임시2",27,"여자");//맨앞에 코딩
  System.out.println("난 기본생성자호출됨!");
 }

             public Person(String name,int age,String sex){
  //p4.name="테스트임시";
  this.name=name;
  this.age=age;
  this.sex=sex;
  System.out.println("인수 3개짜리");
 }


    main()--->new Person()---->Person("~",27,"여")
              <---                   <----

인수 3개짜리
난 기본생성자호출됨!
이름=임시2
나이=27
성별=여자 
 
  추상화->캡슐화->다형성==>중간점검
 =>p291->p292=>String클래스
 =>배열까지->API문서
=========================
->ArrayTest

성적처리 프로그램

과목수->3,5,
점수,==총점,평균,석차==>1.변수
                                       2.자료형
  int score=0,tot=0,avg=0,,,
==========================
메서드 오버로딩+배열의 의미+확장 for문
 =>새로운 JDK문법
==========================
 다음중 성격이 다른 것은?

1. char c='A';
2. int a=23;
3. int su[]; //참조형
4. boolean b=false;

객체=레퍼런스변수=인스턴스=참조변수
                   배열명.length
for(int i=0;i<strArr.length

 ArrayTest2.java=>JDK6.0이상부터 지원

//매개변수의 자료형 ... 배열명
 public void print(String ... names){
                    //동적으로 배열의 크기가 자동설정
                    //String names[]={"자바"}
                    //String names[]={"자바","다형성"}
   for(String su:names){
  System.out.print(su);
    }
  System.out.println();
 }
========================
  at.print("자바");
           at.print("자바","다형성");

==>ArgTest.java

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
 at j0905.ArgTest.main(ArgTest.java:8)

자바 배열 연습
============
 10  20  30 =>apply->run

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

11일차  (0) 2013.09.10
10일차  (0) 2013.09.10
8일차  (0) 2013.09.10
7일차  (0) 2013.09.10
6일차  (0) 2013.09.03
Posted by 공돌공돌
,

8일차

개발개발/자바 2013. 9. 10. 17:22

8일차(메서드작성연습=>다형성(생성자,오버로딩)
추상화->캡슐화->다형성->배열->상속성
=>p187->
        ->
        public void buyApple(int money){

         FruitSeller seller=new FruitSeller();
          numofApple+=seller.saleApple(money);
           myMoney-=money;
        }

====================================
44->buyer.buyApple(2000);//buyer.buyApple(seller,2000)
====================================
==>멤버변수가 존재하는 경우
 1.매개변수 X , 반환형 X->단순,반복
 2.매개변수 O,  반환형 X->Setter Method=>데이터저장목적,출력(계산)
 3.매개변수 O,  반환형 O->계산목적->합계를 구하기...

=>j0904
       =>CalcTest.java
       =>SaveAs AbsTest.java

 5,10=>-5=5
 10,5->5

   j0903->NemoHandling.java
   j0904->NemoHandling복사
===================
=>다형성->다양하게 메서드를 호출할 수가 있다
=>오버로딩 기법
=========================
1.메서드의 종류->정적메서드
                        StaticTest.java

 커피자판기(클래스)
 컵,밀크,프림,물,,,->private
 =>돈을 입력(객체를 생성)->4byte
 밀크커피버튼 클릭->메서드 호출
=======================
 무료자판기->정적메서드(무료게임)
 ->객체를 생성하지 않고도 호출이 가능한
    메서드
 ->자주 사용이되고(계산) 반복적인 기능을 가진
     메서드
 =>Math->최대값,최소값,평균값,지수,,,,
 ->정적메서드를 이용해서 사용
========================
    hiEveryone(12);
   MethodDefAdd.hiEveryone(12);

=>생성자,메서드 오버로딩==>배열=>중간점검
                                                  (문제풀이)->상속
2.생성자개요
3.메서드의 오버로딩 기법
=================>
Overloadding(오버로딩)
클래스내부에 정적,일반메서드
            ====>서로 비슷한 기능을 가진 메서드를 여러개
                        작성?==>각각의 메서드이름을 다 다르게
                                       작성->구분어렵다.(불편)
                      =>이름을 통일=>매개변수의 갯수,자료형
                                               을 서로 다르게줌으로써
                  구분

   StaticTest.java=>추가
   PrintTest.java=>생성자,메서드오버로딩


System.out.println("ddd");
System.out.println(234);
System.out.println(true);
====================
 PersonTest=>main()

생성자(=Constructor)

1.객체생성시 딱 한번 자동으로
   호출이 되는 메서드=>default Contstructor
                                 (기본생성자)
  =>ex)신용카드 결재-->폰(거래내역)

 2. 형식) public 클래스명과 동일(){

             }
   =>반환형을 사용하지 않는다

=>C++(생성자함수)
 3.생성자의 용도=====>데이터 저장목적
========================
  =>Setter Method와 기능이 같다
 
=>맨처음 데이터를 저장할 공간생성=>
     처음으로 값을 저장--->한꺼번에 여러개의데이터
                                     를 저장(생성자)
                                       |
                                      수정하는 데이터만
                                      Setter Method사용

<과제>NemoHandling.java->x,y
  생성자를 이용->public Nemo(){
                       
                        }
 생성자 오버로딩 기법->배열==>자바 API문서
                                               보는 방법
===========================
 

 

 

 

 


 

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

10일차  (0) 2013.09.10
9일차  (0) 2013.09.10
7일차  (0) 2013.09.10
6일차  (0) 2013.09.03
5일차  (0) 2013.09.03
Posted by 공돌공돌
,