while(true) {

if(gas>0) {

System.out.println("달립니다.(gas잔량: " +gas+ ")");

gas -= 1;

}else {

System.out.println("멈춥니다.(gas잔량: " +gas+ ")");

return; //메소드 실행 종료.

}


gas 감소량을 기입하지 않으면, 무한루프를 돌게 된다.




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

Java에서 내 log를 마음대로 출력하는 방법  (0) 2018.09.10
캡슐화(Capsulation)  (0) 2018.08.07
다형성 (polymorphism)  (0) 2018.07.20
상속(Inheritance)  (0) 2018.07.20
Return data type에 대한 검색 및 정리.  (30) 2018.05.03



클래스를 통해서 객체가 생성되고,


객체 내부에 주소가 생성되고,


주소 내부에 데이터 영역과, 메소드 영역이 있다.



객체가 생성된 후에,


주소를 찾아가서 데이터 영역을 생성,변경할 수 있고,


메소드를 호출할 수 있다.


리턴값이 있을경우 리턴 받을 수 있다.



결론. 주소를 잘 기억하는것이 중요하다.



중괄호 블록 기준으로 안에서 선언된 변수는 밖에서 쓸 수없다.


중괄호 블록 기준으로 밖에서 선언된 변수는 안에서 쓸 수있다.



User u01


user class data type으로 u01 객체 참조 변수를 선언한다.


new User();


User 메소드 생성자로 새로운 객체를 생성하고,


생성된 주소값을 u01 객체 참조변수에 주소 값을 할당한다.




찾아볼 것들


참조 data type


class data type


객체 참조 변수


new


생성자 메소드


선언 -> 생성 -> 할당


주소값


data영역


method 영역


메소드 호출


=============================================================


Order wow = new Order();


u_print(wow);



public static void u_print(Order getu) {

}


문제) u_print메서드 내에서 수량과 단가를 셋팅 후


수량 * 단가 계산된 결과만 출력해 보세요


수량변수명 : a

단가변수명 : b



public static void u_print(Order getu) {

getu.a = 20000;

getu.b = 5;

System.out.println("수량 * 단가 = " + getu.a * getu.b);

}

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

9일  (0) 2018.05.03
8일  (30) 2018.05.02
7일  (30) 2018.05.01
6일  (0) 2018.04.30
5일  (0) 2018.04.27


getParameter : 


rerurn 값이 문자열 (String)인것만 받을 수 있음.


주로 쿼리 스트링 값을 받는데 사용함







getAttribute : 


return 값으로 object를 사용 가능하므로 객체를 담을 수 있음.


object type을 사용하기 때문에 객체를 담는데 주로 사용한다.




1. 데이터의 리턴 타입을 모를때 확인 하는 방법.



aaa.getAbc()의 return 객체를 모른다고 할때

Object obj = abc.getAbc();
일단 모든 객체는 Object을 상속 받기 때문에 return 값을 Object로 받습니다

System.out.println("return type=" + obj.getClass().getName());
받은 객체가 어떤 객체인지 이름을 찍습니다.




2. JAVA에서는 메모리 주소를 직접 다루는 것이 허용되지 않음.


findViewById();라는 펑션의 Return Type이 View Class인데 , 이 return 값을 받는 쪽은 어째서 Type이 View 혹은 ,, textView 등 View를 상속받은 Data type이어야 하나요? 어차피 주소값이 날라오는거 아닌가요? 그냥 Int나 float이 그 주소값을 받아버리면 안되나요? 주소값이랑 그 주소에 있는 Data의 Type이 어디에 Match되어 저장되어 있는건가요??? 그 Type이라고 하는것은 Data의 크기 그 이상의 의미를 갖고 있는건가요?



자바에서는 메모리 주소를 직접 다루는 것을 허용하지 않습니다. 달리말하면 C/C++처럼 주소를 직접적으로 다루는 인터페이스를 제공하지 않는다라고 이해할 수 있습니다. 따라서 말씀하신 int, float으로 주소값을 받아서 객체를 조작하는 것은 불가능합니다.

자바에서는 객체를 변수에 할당 시 해당 객체에 대한 참조를 갖게 됩니다. 이 참조가 객체를 찾아내는 방식이 C/C++관점에서 보면 포인터와 유사하게 동작한다고 이해할 수는 있겠지만 그렇다고 해서 메모리의 주소값을 다룰 수 있는 것은 아닙니다.

3. 

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

Java에서 내 log를 마음대로 출력하는 방법  (0) 2018.09.10
캡슐화(Capsulation)  (0) 2018.08.07
다형성 (polymorphism)  (0) 2018.07.20
상속(Inheritance)  (0) 2018.07.20
클래스 - 다른 클래스의 메소드 호출  (0) 2018.05.17




리턴이 존재하는 형식의 메소드 작성.


리턴 타입이 void가 아니며, int, char, String등의 다양한 데이터 타입의 변수를 지정하여


리턴 값을 부여하고 호출하여 재처리 할 수 있음.



작성순서와 실행순서를 분리해서 정리하는 습관을 가져야 후일에 다시 봤을때 쉽게 이해할 수 있다.

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

11일  (0) 2018.05.09
8일  (30) 2018.05.02
7일  (30) 2018.05.01
6일  (0) 2018.04.30
5일  (0) 2018.04.27


메소드 선언,호출, if else 조건문에 대한 문제 작성


다른 학생들의 문제를 풀어보면서 코드를 작성하는 방식에 대한 차이를 느껴봄.


문제 해설을 작성 할 때, 개념을 확실히 이해하고 있어야 설명이 쉬움. 


개인 발표 기회를 통하여 지식이 아직 완전히 자리잡지 못했다는 사실을 느낌.





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

11일  (0) 2018.05.09
9일  (0) 2018.05.03
7일  (30) 2018.05.01
6일  (0) 2018.04.30
5일  (0) 2018.04.27



git : git은 자료 저장 및, 버전 관리, 소스 공유를 할 수 있는 웹 어플리케이션.


많은 개발자들이 git을 통해서 멀리 떨어진 곳에서도 서로 내용이 겹치지 않고 개발 가능.


소스가 모두 공개되어 있으므로, 좋은 소스의 확산이 가능하다는 장점이 큼.




16진수 :  컴퓨터 분야에서 숫자를 표현하기 위해 사용하는 진법 방식. 


외국에서는 줄여서 Hex (Hexadecimal) 라고도 부른다. 


20진법도 아니고 10진법도 아닌 어중간한 16진법을 컴퓨터 분야에서 사용하는 이유는 16진수 자릿수 하나가 24을 표현할 수 있기 때문이다. 전자기기, 특히 컴퓨터에서 사용하는 이유는 자릿수 2개를 사용하면 28을 표현할 수 있는데, 28은 곧 1바이트이다. 간단히 1바이트의 값을 2진법을 사용해서 0101 1111 식으로 표기할게 아니라 그냥 16진법으로 5F라고 표기해버리면 많이 축약시킬 수 있다. 게다가 훈련이 된 상황이라면 16진법의 숫자만 보고도 바로 2진법 수로 변환이 가능하기 때문에 상당한 유용한 표현 방법이다.


16진법을 2진법으로 바로 변환하려면 각 자릿수를 2진법으로 변환하면 된다.

예를 들면 25FB16를 0010(2) 0101(5) 1111(F) 1011(B)처럼 끊어서 변환한 다음 전부 붙여주고 앞의 00을 떼준 뒤 100101111110112로 적으면 된다.


반대로 2진법을 16진법으로 바로 변환하려면 1의 자리에서부터 4개씩 끊어서 16진법으로 변환해주면 된다.

101110101010101010111101000102를 (000)1 0111 0101 0101 0101 0111 1010 0010로 끊어주고 각각 변환하면 175557A216이 된다.



출처 - 검색, 나무위키.

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

9일  (0) 2018.05.03
8일  (30) 2018.05.02
6일  (0) 2018.04.30
5일  (0) 2018.04.27
4일  (0) 2018.04.26



Github


Github에 파일 업로드, 버전관리, 소스 공유 가능. (팀 프로젝트)


Gitignore에서 업로드 하지 않을 파일 필터 코드 조건 별 검색 가능.



Stack overflow는 code쪽의 지식 검색 사이트.


eclipse내에서 git-hub 연동 가능.

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

8일  (30) 2018.05.02
7일  (30) 2018.05.01
5일  (0) 2018.04.27
4일  (0) 2018.04.26
3일  (0) 2018.04.25

 

 

메소드를 선언하고 호출할 수 있다.

 

한 패키지 내의 한 클래스 내의 메소드를 선언하고 호출할 수 있다.

 

패키지:

 

클래스:

 

메소드:

 

선언

 

호출

 

 

주석처리: //

 

==========================================================================================

 

public static void u_insert(String name, int age, char gender) {}

 

1) access modifier 접근지정자(지시자)

 

public        접근 제한 없음 - 모든 접근 허용

protected    같은 패키지와 상속 받은 클래스 내부 - 같은 패키지 내 : 상속 포함.

default        같은 패키지 내

private        같은 클래스 내


 

2) static 정적 키워드

 

3) return data type : void (리턴 없다.)

 

4) 메서드명(이름) : u_insert

 

5)

첫번째 매개변수 data type : String

첫번째 매개변수 명 : name

 

두번째 매개면수 data type : int

두번째 매개변수 명 : age

 

세번째 매개변수 data type : char

세번째 매개변수 명 : gender

 

==================================================================================================

 

* 메서드 호출 원리

 

1) 메서드명이 일치하고

2) 매개변수 갯수 일치

3) 매개변수 data type에 일치하는 값이 입력되어야 한다.

 

* 메서드 오버로딩

 

하나의 클래스에서 메서드명이 일치하고

매개변수 갯수와 data type을 다르게 프로그래밍 하는 방법(기법)

 

동일한 기능을 매개변수 data type으로 구분

예)

user_insert(String name){}

user_insert(String name,int age){}

user_insert(String name,int age,char gender){}

 

=================================================

 

프로젝트 주제

 

어떤 기능 구현

기능 : 로그인 체크한다.

입력data: 아이디,비번

 

어떤 처리: 아이디 비번 일치 검증.

 

기능 : 연령별 등급 부여한다.

 

입력data: 나이

 

어떤처리: 의료 보험 적용

 

20세 이하 : 미성년자

21~39 : 청년

40~64 : 중장년

65세 이상 : 노년

 

 

받아야 할 data는 무엇인가?

 

받은 data로 어떤 처리를 할 것인가?

 

주제 : 의료 보험 적용 금액 산정


받을 데이터 종류 : 장애 여부 char, 국가유공자 string 사고 이력 int

=========================================

 

장애여부

유 50만원

무 10만원


=========================================

국가 유공자

해당 100만원

미해당 0원


=========================================
사고 이력

무사고 50만원

1~5건 40만원

5~10건 30만원

10건 이상 20만원

 

if 메소드 안에서 각 조건 별 값을 더할 수 있는 방법을 알면 좋겠음.

 

 

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

7일  (30) 2018.05.01
6일  (0) 2018.04.30
4일  (0) 2018.04.26
3일  (0) 2018.04.25
2일  (0) 2018.04.24

ex폴더 만든다

ex폴더 내에

 

form.jsp (회원가입화면)

action.jsp (입력한 값들을 받아서 출력한다.)

 

 

 

*회원가입 화면 입력한 값들을

받는 방법(java)을 이해하자!

오늘의 학습 목표 끝!

 

1

2

3

4

5

 

이러한 값들을 가지고 shoping-item-insert.jsp로 준다.

 

현재는 shoping-item-insert.jsp에서 값을 받는 방법을 모른다.

 

jsp파일에는 클라이언트 언어와 java코드도 들어갈 수 있다.

 

u_id 변수에 예를들어 정한 id001을 값을 담아 action.jsp로 이동할 수 있다.

 

 

값을 자주 콘솔창에서 확인하는 습관이 중요하다.

 

+는 덧셈의 역할과, 문자열을 서로 연결 시키는 역할을 한다.

 

jsp는 자바의 자식이다. <% %>사이에 들어있는 java code만이 java언어로 동작한다.

 

GET방식으로 데이터 이동

 

user_update_form.jsp 에서 다시 받아서 수정화면에 잘 뿌려준다   ? - GET방식 전송 선언  ,  & - 값과 변수 사이를 분리

 

user_update_form.jsp?변수=값%변수=값

 

user_update_form.jsp?u_id=id002&u_pw=sdwqr

 

user_update_form.jsp?u_id=<%= u_id2 %>&u_pw=<%= u_pw2 %>&u_name=<%= u_name2 %>&u_addr=<%= u_addr2 %>&u_email&<%= u_email2%>

 

 

 

radio 코드 사용법 - 선택된 name 값을 다른쪽 변수에서 받아오면 가능

 

성별  <input type="radio" name="u_gender" value="남자">남자
       <input type="radio" name="u_gender" value="여자">여자
       <input type="radio" name="u_gender" value="기타">기타

 

drop box (select) 코드 사용법 - name 값 두 개를 다르게 지정하여 모두 받아야 함.


이메일  <input type="text" name="u_email" >
       <select name="u_email3">
         <option value="@ksmart.go.kr">@ksmart.go.kr</option>
         <option value="@gmail.com">@gmail.com</option>
         <option value="@hotmail.com">@hotmail.com</option>
         <option value="@naver.com">@naver.com</option>
        </select>  

 

주소에 한글이 들어갈 경우에 링크가 되지 않는 경우의 해결법 필요.

 

 

 

 

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

6일  (0) 2018.04.30
5일  (0) 2018.04.27
3일  (0) 2018.04.25
2일  (0) 2018.04.24
1일  (0) 2018.04.23

+ Recent posts