PC

블로그 이미지

DAVID

160318: 5일차

Programming 2016. 3. 18. 18:29

1. 툴

동일

추가시: 


2. 폴더

동일

추가시:


3. 사용할 사이트

동일

추가시:


4. 공부하는 것

하다보면 MySQL을 할 것임.

오전엔 복습을 하는 것.

- Day 02 

// 저번 기수는 박스오피스 웹사이트 만들었음.

// 5주 정도 프로젝트 하는 것 - 오~    

// 스프링 마이바티스 이런 애들도 쓸 줄 알아야 함미다 으아ㅏ아ㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏ


while( (i=s.nextInt()) != 0){ //s의 입력값이 0일 때까지 계속 돌리기

sum = sum+i;

n++;

}

이거 복습 하고 있음

s.nextInt() 이거 약간 단어가 안 익는다 - 아! s는 스캐너 변수인데 위에 있는것... (생략)


if(i%2==0){

sum = sum+i;

// System.out.println(i);

continue;

요거 짜는데 continue 안 넣었음... 오늘의 트롤은 Continue



[01] 제어문 예제
>>>>> Test01.java
public class Test01 {
           public static void main(String[] args) {
                     for (int i = 1; i <= 5; i++) { // 위에부분
                        for (int j = 1; j <i; j++) {
                                   System.out.print("*");
                        }
                        System.out.print("\n");
                     }
                     for (int i = 1; i <= 6; i++) { // 아래 부분
                          if(i>1){
                               for (int j = 0; j < i-1; j++) {
                                          System.out.print(" ");
                               }
                           }
                          for (int j = 1; j <=(6-i); j++) {
                            System.out.print("*");
                          }
                         System.out.print("\n");
                     }
           }
}


격파하였다


package day05;


public class Handle_test1 {

public static void main(String[] args) {

for(int i = 0; i<5; i++){

for(int j = 0; j<i; j++){

System.out.print("*");

}//end for2

System.out.println("");

}//end for1

//--------------up-----------------//

for(int k = 0; k<6; k++){

for(int m = 0; m<k; m++){

//지나감

//0

//01

//012

//0123

System.out.print(" ");;

}//end for2

for(int l = 5; l>k; l--){

System.out.print("*");

}//end for3


System.out.println(" ");

}//end for1


//--------------down---------------//

}//end main

}



-------------------------------------------------------

수업중인데


예제 Day03에 있는거

while(true){

if(s.nextInt() == -1){

break;

}

cnt++;

}

이렇게 짜는거 안 해봐서 어려움 해보기 ㅇㅇ

입력값 주는게 어렵다.


저거 썼을 때 -1 이후에 더 입력했더라도 -1전까지만 개수 카운트 해줌


배열 쓸 때

int arr[] = new int[5];

이렇게 뒤에 new를 통해서 만들어야 한다. - 해시코드가 만들어지쉬는것



package TestDay05;


import java.util.Scanner;


public class ArrayAccess {


public static void main(String[] args) {

// 5개짜리 정수 배열 만들어서 나중에 최대값 출력해주면 됩니다.

Scanner in = new Scanner(System.in);

int arr[] = new int[6];

arr[5] = 0;

for (int i = 0; i < (arr.length-1); i++) {

System.out.print((i+1) + "번째 정수를 입력하세요: ");

arr[i] = in.nextInt();


if (arr[arr.length-1] < arr[i]) {

arr[arr.length-1] = arr[i];

} // end if

} // end for

System.out.println("\n입력한 정수 중 가장 큰 수는 " + arr[arr.length-1] + "입니다.");


}// end main

}


에이씨 마지막 방을 가리키려면 배열.length-1 해야한다... 0부터니까 -_-+


오늘 배운거는 지역변수 특징 - 자신이 속한 단락 안에서만 사용 가능.


double은 int값 자동으로 형변환해서 강제형변환 안해도 된다.


//2차원 배열은 넘어갔습니다 - 해보기...


Day 4 하는중 


오 스캐너 사용할 때

java.util.Scanner in = new java.util.Scanner(System.in) 이렇게 쓰면 임포트 안해도 됨 ㅇㅇ..

그냥 문자열 입력 받을 때는 next() 쓰는거십니다

////////////////////////////

2번째거 *출력이랑 숫자 출력까지는 뽑았음 - 띄어쓰기를 만듭시다.

////////////////////////////


앜! 데시말포맷! DECIMALFORMAT - 이거 돈 관리하는 걸로 두번정도 짜보기!

Switch문도 써보기!!!!


예제 04 에서 성적만 수업시간에 했음 

substring = 문자열 추출

문자열의 index를 사용해서 변수의.substring(여기부터,조기까지) 추출 - 인덱스의 끝 인덱스의 바로 전까지만 추출 가능하다.


Calendar 같은 경우에는 객체를 생성한 뒤(변수같이 생겼음) 메소드를 통해서 값을 추출 가능


-------------발표하는데 버그남 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ------------------------------ 

equals를 씁시다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

package TestDay04;


public class Test_6 {

public static void main(String[] args) {


int cnt = 0;


while (true) {


if (args[cnt].equals("exit") ) {

System.out.println("입력 완료.");

break;

}


if (Integer.parseInt(args[cnt]) == 0) {

System.out.println(args[cnt] + "은 0");

} else if (Integer.parseInt(args[cnt]) < 0) {

System.out.println(args[cnt] + "은 음수");

} else

System.out.println(args[cnt] + "은 양수");


cnt++;

}

}


}


으아아 문맥적 버그ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 사바ㅏㅂㄷㅈㅂㄷㅈㅂㄷㅈㅂ덥ㅈㄷㅈㅂ
어쨌든 equals라는 애를 알았습니다 넘나좋은것...

==랑 equals의 차이는 ==는 주소값 비교고 equals는 값 자체를 비교하는검미다

아니면 카운트한 변수 값이 args의 길이와 같으면 종료하는 경우로 바꾸는게 더 좋겠어 식식 분하다!!
****지만... cnt == args.length 면 종료 **...


으아아 하루에 필요한 채팅량을 충족할 수가 없으니까 여기다 많이 씁니다.


--------------------------------------------------


객체를 위한 클래스


객체: 물리적인 공간을 가지고 있는 구체적인 것 - 자동차 같은 거 (실제로 돌아다니는)

근데 자동차를 만들려면 설계도 같은 게 있어야되잖아 -> 그게 클래스 = 그래서 객체는 클래스의 실체!

구래서 클래스 1개로 객체 여러개 가능

마자 그래서 실체 = 객체 = 인스턴스 = instance (영어로 하면 인스턴스 -_-);;) 


붕어빵...으으붕어빵

광어빵

잉어빵

황금잉어빵

우럭빵

대게빵


클래스는 동일한데 객체는 좀 다를 수 있음

ex) 도면은 같아서 내부는 똑같은데 외부는 매우다른 집


클래스: 은행계좌

객체: 나의은행계좌 너의은행계좌 우리의친구의은행계좌


ㅇ예~~~클래스~~


클래스 - 필드랑 메소드가 있음

필드: 변수임 (=인스턴스 변수 = 멤버 변수 ) - 얘 지역변수랑 다른거임 걔는 전체적으로 쓸수가없어...

- 전역변수 같은건데 이름을 그렇게 부르기는 객체지향에서 뭐해서 멤버라고 부름 멤버 변수 필드 인스턴스변수 


메소드: 함수임(=인스턴스메소드 = 멤버메소드) - 얘 일하는애임 

- 얘가 필드를 처리하는 기능임여 - 인스턴스함수 인스턴스메소드 멤버함수 멤버메소드

-메소드 연기랑 별로 상관없겠지 크


객체는 힙 영역에 메모리가 잡힘 - 정신이 혼란스러우니 복습할 것 


1) 클래스를 만들 것

public class Student{

String name;

int rollNo;

}


이래놓고 Student david = new Student(); 일케 쓰면 됩니다.

- 데이비드가 참조 변수임 - 해시코드가 필요함용


뉴! new: 메모리 할당


Student alice = new Student(); 일케 써도 됨 (클래스니까!)

존도 써도 되고 데이빗도 써도 되고 앨리스도 써도 됩니다


//얘들을 보고 참조형타입이라고 부름

이유: 참조값이 들어가니까 

참조값: 해시코드임


//그림이 여캐는 넘 섹시 타입임니다


그리고 클래스마다 파일 하나씩 만드는 편이 좋겠어

Testsample클래스는 Testsample1.java 


하나의 파일에 클래스 여러개 넣으면 

class A{


}


class B{


}

이럴 경우에 파일명을 뭐로 하지 -> 메인 메소드 있는 걸로 해주면 됨미다

B에있으면 B.java

A에있으면 A.java


아 맞아 그리고 B.java로 했을 때 B는 public class로 만들어줘야함.

왜냐면 main문있는 class는 퍼블릭으로 안만들면 접근을 못함 - 넘나구진것


사실 여러 개 클래스 따로 따로 자바파일로 만들면 퍼블릭이고 뭐고 그냥 클래스 이름으로 하면됨 -_-);;


두개 이상 있으면 main문+public 있는 클래스로 하면 됩니다.


클래스 내의 멤버 변수에 수식을 넣으면 왜 처리 결과가 0될까 - 의문 - 아! 이게 메소드군!


오예 2개남음


class Pay{

String name;

int bonbong; 

int tax;

int silsu;

}

요럴 경우에 스트링은 해시코드니까 int 취급해서 int*4 = 16바이트짜리 메모리인것


근뎅 왜 수식은 못넣을까! 내가 못짜나!

아니면 초기화는 못하나...? -ㅅ-);;; // ㅜㅜ아닌데


저렇게 클래스 내가 만들어놓고

Pay david = new Pay(); 하면 객체 하나 만든거임 - d(-_-)b

저러면 david.name 이런 식으로 접근 가능

쟤네들은 데이빗 객체 안의 멤버 변수임 


.으로 그곳에 접근함 흫ㅎㅎㄽㅎㅅㅎ


p1.tax = (int) (p1.bonbong * 0.045 + 0.5); 

조고 왜 캐스팅했냐면 결과값이 실수임미다 -_-+

더블더블



아 메소드가 함수같은 검미다

아 그냥 함수네 ㅋㅋㅋㅋㅋ


메쏘드는 퍼블릭으로 만드러야 합니다


이렇게 생겼음

public int taxCalc(){


}


taxCalc 호출하면 int값을 리턴한다는 얘기신것

그래서 리턴 해줘야됨

그러면 이렇게 생김

public int taxCalc(){

return 0;         //0아니어도 정수값 리턴할 거 쓰면 됨...

}

이거는 함수 줄 때 p1.bonbon 이런 식으로 주면 에러나쉬는것

그러니까 그냥 bonbon(이거 멤버변수 이름)



근데 메소드는 객체 안에 선언을 하기는 하는데 메모리상에 힙 영역에 있는 건 아님


우리의친구 메모리 영역 이름


1. 스택 - 지역변수

2. 힙 - 배열 & 객체

3. 코드 - 이거 메소드(객체의 함수) ㅋㅋㅋㅋ아옿ㅎㅎㅎ 가 있는 공간인데

4. 데이터 - ㅇㅇ이따나옴 머리가아픔


요기 가려면

멤바변수나 객체가 가지고 있는 해시코드로 호출하는거임 ㅋㅋㅋㅋ ;;(-_-);;;


ㅇㅇ 그러니까 객체를 생성해야지만 메소드를 쓸 수 있는데

메쏘드 메소드 메서드


프린트같은 건 리턴값 없어도 되어서 이런건 걍 ㅣㅇ렇게 생김

class void printhaseyo{


}

오 프린트 박으니까 넘나좋네여 ㅋ(-_-)ㅋ

15줄 ->3줄 객체짱짱맨





메소드 하니까 조커 연기가 누구였지

메소드... 디카프리오 ... 잭... 뭔데 잭....잭 잭 ... 잭 잭... 잭 블랙 ...?

그 싸이코 연기 한 배운데 ㅇㄴㅁ안ㅁ아ㅣㅁㄴ히스레저

디카프리오가 점점 닮아가는 얼굴인 배우인데!!!!!

잭 니콜슨

어휴 https://namu.wiki/w/%EC%9E%AD%20%EB%8B%88%EC%BD%9C%EC%8A%A8?from=%EC%9E%AD%20%EB%8B%88%EC%BB%AC%EC%8A%A8




-----------------1시간뒤면 신난당-------------------------~_~


이예~~~ 그리고 인터넷있었음 OTL.... 69017000...

와이파이 ㅠㅠㅠ


그리고 


public int silsuCalc(){

return bonbong - taxCalc();

}

System.out.println("세금: " + taxCalc());


이렇게 바로바로 메소드 내에서 출력할 수 있음

멤바변수는 줄이고 메소드는 늘립시다.


메모리 아끼쉬는것


근데 함수 내에서 응 스캐너도 받을 수 있음 ㅇㅇ //이거 한번 집에 가서 또 짜봐야겠따


next()는 스페이스를 한 단락으로 인식하고 nextLine()는 엔터안 치면 스페이스를 한 단락으로 인식하고 

구래서

public void payinput(){

System.out.print("이름과 본봉을 입력하세요: ");

name = s.next();

bonbong = s.nextInt();

System.out.println("");

}


이렇게 짜면 입력: 김김 23232 했을 떄 엔터 한번에 입력 o


public void payinput(){

System.out.print("이름과 본봉을 입력하세요: ");

name = s.nextLine();

bonbong = s.nextInt();

System.out.println("");

}

}


이렇게 짜면 입력: 김김 2332323 했을때 엔터 한번 치면 이름이 "김김 2332323" 이 됨


-찾아볼 것: 이놈의 커서 맨 끝으로 고정하기-  

  1

 121

12321

 121

  1

이거 짜고 갈 것... 일단 로그오프!




5. 수업

진도: 

hw: 

11문제 풀어볼 것!



6. 할것


나갈때 티스토리 로그아웃 할 것 - 안그러면 집에서 비번 맨날 바꿔야해 짱귀차나 ㅠㅠ...


예쓰! 5일차!

1. 학원에서 제어문 예제 좀 공부할 것. - 값좀 써보면서 짜고 답 맞춰 보기... 씪씪 

2. 쿠페한테 깔아둘 것 - 얘 랜선 연결하는 거 하고 etc 좀 찾아두기 (옆에 정리함에 있을 듯)

3. 우쿨 조율 해놓기

4. 오늘 급하지 않으니 술집 안 나오는 쪽으로 길 찾아두기

5. 학원 (4월부터 시작 하는 것) 알아보기 - 문화원 연계가 되면...

6. 하얀색 옷 좀 살 것 - 으으 검정의 향연...

7. 게임 그 ** 보스좀 잡을 것 - 주말의 목표 -_-)b 왜 한명만... 왜... 

8. 옷장 정리를 할 것 - 뭐가 어디에 있는가 ...

9. windows 로고 + ctrl + d 이거의 친구 & 이거 이름좀 알아볼 것

10. 승질나니까 인강도 듣기 - 스터디데스크.co.kr 아이씨! - 오늘 버그만듬 버그버그 버그! 으아아 ***가 고쳐줌...

11. 머리도 자를래 으으

12. 슬리퍼도 갖다 놓을까 <-... (-_-);;

13. do while 예제 한 5개 만들어보기

14. 마방진으로 하트 만들어보기 (-_-);;;

15. 앜 매물 하나 놓쳤다!! **

16. 집에 가서 샤이닝 다운받아서 봐야지 

'Programming' 카테고리의 다른 글

160322: 7회차  (4) 2016.03.22
160321: 6회차  (1) 2016.03.21
160317: 4회차  (3) 2016.03.17
160316: 3회차  (2) 2016.03.16
160315: 2회차  (1) 2016.03.15
Posted by DAVID
블로그 이미지

by DAVID

공지사항

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

태그

글 보관함

«   2025/07   »
일 월 화 수 목 금 토
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 29 30 31

링크

카테고리

PC (112)
Programming (109)

카운터

Total
Today
Yesterday
방명록 : 관리자 : 글쓰기
DAVID's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

PC

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • PC (112)
    • Programming (109)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바