레아Leah 2021. 4. 24. 23:39
반응형

질문 

 

<1. while의 조건식에 변수가 와도 되는가? >

-while문에서 조건식이 주어지기 때문에 변수의 초기화를 꼭 해야하는데, 이런 조건( i < 10)만 가능한건지? 즉 범위가 꼭 정수가 와야하는지. 만약  정수인 n을 키보드로부터 입력받고 n의 팩토리얼을 구하고 싶다할 떄, 조건식을 (i < n) 이런 식으로는 할 수 없는지 ..   궁금 

설명: while문 조건식에도 변수가 올 수 있지만 n을 초기화 해야 한다. 

 

 

<2.while 사용시 변수의 초기화>

while문에 들어가는 변수는 모두 while문 밖에서 초기화가 필요한거? 

스캐너, 키보드로부터 입력받는 것도? 

 

설명: 스캐너, 키보드로부터 입력받는 값은 초기화하지 않고도 사용할 수 있다. 

 

 

<3.return의 쓰임>

-return을 사용하면 다시 메인 메소드로 간다고 들었는데 왜 작동을 안하는지 왜냐하면 return은 메인메소드로 돌아가 종료시키기 때문

그럼 도대체 return;은 언제 쓰는 거지? 리턴은 메인 메소드로 돌아가 종료시킬 때 사용.  

설명 :  return은 일단 메인 메소드로 돌아가는 것이 아니다. 자신을 호출한 곳으로 다시 돌아간다는 것이고 메소드를 거쳐 값이 생겼을 수도 있고 값이 없을 수도 있다. 값이 없을 경우에는 void이며 return;을 생략할 수 있다. 그렇다면 조건에 맞지 않아 다시 이전의 상태로 돌아가 반복해야할 경우? 예를 들어, return; 후 다시 입력하기 위해 System.out.println("2~9까지의 숫자를 입력해주세요: “);로 돌아가는 방법은?   이런 경우를 위해 조건에 해당하면 건너뛰는 continue;를 활용!  - -i와 함께  

 

다르게 다시 해보려고 했는데 for(int i=1 i <10; ++i)와 같은 반복을 나타내는 게 없어서 --1이든 --i이든 사용할 수가 없다.

시간날 때 아님 주말에 다시 해보기 

 

 

<4.거품정렬 1회차>

ary[j+1] = temp;가 아니고 왜 ary[j+1] = ary[j]; 오는지..

더보기

int temp;

for(int j=0; j <ary.length-1; ++j) {

     if(ary[j] > ary[j+1]) 

         temp= ary[j];

         ary[j]= ary[j+1];

         ary[j+1] = ary[j];

}

 

설명 : 원래는 ary[j+1] = temp; 이게 맞다고 하심! 

 

 

 

<5. count>

int total=0;이 합계를 구할 때 쓰는 것처럼 ++count도 변수의 증가함에 따라 값이 커지는 것을 나타내는 용도? 

예약어는 아니죠옹? 

 

설명: 예약어 아니고 일반변수를 그런 용도로 사용해 본거임. 

 

 

<6. 생성자>

생성자가 들어가는 이유 

설명: 클래스를 생성하고 이용하기 위해선 생성자를 만들어 줘야 한다. FitnessVOTest가 따로 있다 하더라도 꼭 있어야 한다. 

 보통의 순서로는 클래스명 -> 멤버변수-> 생성자 -> setter와 getter순으로 사용한다. 

 

반응형