본문 바로가기

학원 일기/학원-JAVA

학원 java 이외의 부가적인공부

[Scanner]

값을 입력받기위해 사용되는 객체

사용방법

-다음과같은 패키지를 주입 => import java.util.Scanner;  

-객체생성 => Scanner scan = new Scanner(System.in);

-scan.next(); 입력값을 받을수있다

-scan.nextInt(); 정수를 입력받음

-scan.nextDouble(); 실수를 입력받음 등 입력받는 타입에 따라 문법의 형태도 달라진다 

-scan.close(); 입력값을 받기위해 열린scan을 다시닫는다

 

[궁금한점]

scan.close();는 왜 해줘야하는 것인가?

 

[Continue]

반복 과정중 현재과정을 생략하고 다음 반복사이클로 넘어간다

 

[2차 배열의 선언]

1차배열을 여러개 가지고있을수 있다.

ex) int[][] array = new int[3][4]; => 정수를 4개씩 담을수있는 배열 3개가 선언된다!

-int[][] array = { {1}, {1,2,3} ,{4,5}, {8} }; 이런식으로 생성,배열의크기할당, 초기화를 동시에 할수있다.

여기서 {1,2,3} 의값중 2는 array[1][1] 의 위치에 있다고 표현할수 있다.

 

 

[for each]

배열의 값을 조회하는데 사용된다

ex) for(int n:array) { System.out.println(n) }

=> array라는 배열의 인덱스0번부터의 값이 n에 담기는 과정을 배열의 길이가 끝날때까지 반복한다

 

 

[배열변수명.length]

배열의 길이를 반환한다

 

[클래스]

자바에서 객체를 만들기 위해 필요한 형식이다 

 - car라는 이름의 Class를 생성하면 다른 클래스에서 car라는 타입의 객체를 생성할수 있게된다

 

[기본형 타입]

boolean,byte,char,short,int,long,float,double

 

[참조형 타입]

기본형탕비을 제외한 모든 타입

 

[new]

객체를 메모리에 올려주는 역할을 한다

 

[인스턴스]

메모리에 올라간 객체를 인스턴스라고 한다

 

[인스턴스화]

실행중인 인스터스를 인스턴스화라고 하는것가다

 

[변수]

-메모리에 올라간 변수를 참조하는역할을한다 즉, 변수가 실제 인스턴스의 값을 가지고있는 것은 아니다.

이러한점을 참고햇을때 서로다른 변수가 같은 메모리를 참조하고 있는것또한 가능하다

 

[궁금한점]

참조형변수 stack영역에 인스턴스를 생성하고 그 인스턴스를 생성하는 참조를 heap저장한는걸로 알게됐다

그렇다면 기본형변수는 그값을 어떻게 생성해 어떻게 가지고있는걸까?

 

 

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

++ 이과정에서 레퍼런스,인스턴스,객체,기본형 등개념이 헷갈렸는데

cloudstudying.kr/lectures/198<< 너무좋았다 그림과함게 개념설명 + 채점까지 다읽고 16문제를풀어 100점을맞았다!!

 

출처: https://sambalim.tistory.com/73 [삼바의 성장 블로그]

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

 

[매개변수]

전달 되는 변수

 

[static]

-static영역에 저장된값으로 프로그램이 종료될때까지 사라지지 않는다

-static영역안에서 생성된 객체는 static영역이아닌 외부의 값을 사용할수 없지만 반대로 외부에서는 static의 값을 사용할수 있다

 

[String]

-불변 클래스이다 인스턴스화될때 가지게된 값을 수정할수 없다

-다양한 메소드를 가지고있다. 메소드를 사용하더라도 String내부의 값은 변화시키지 못한다

  따라서 메소드로 반환되는 값은 새로운 String이 생성된다고 보면되는것이다

 

[==]

-참조변수끼리 서로같은것을 참조하는지 비교한다

서로다른 인스턴스를 참조하는 변수끼리 == 연산을 사용한다면 그값은 false이다 인스턴스내부의 값이같더라도 말이다

 

[궁금한점]

기본형변수는 그렇다면 어떠한 형태로 값을 갖고 있는 것 인가?

 

[궁금한점]

String n = "가"; 초기화시 new가없는데 인스턴스에 값은 어떻게 올라가는것인가?

[해결]

이런경우 초기화시 new가 생략된다고 생각하자

 

 

 

public class 클래스명 {

            public static void main( Strirng[] argv ) {

           }

}

                                                  << 이런식의 기본형태를 보자

public은 어디서든 참조할수있게 만드는것이다

static은 선언과 동시에 static영역에 별도의 메모리를 하나만드는것같다

 

  

그렇다면 왜 이런형태가 main함수의 기본형태가 되었을까?

 

-JAVA에서 main함수는 말그대로 main이다 시작과끝이고 모든 것이랑 연결이된다 그렇기때문에 어디서든 참조가능할수있는 public 이 사용된다

-프로그램이 종료될때까지 없어지면 안될 중요한것이기 때문에 static 사용한다

-main함수내에 출력될 데이터를 담아야하고 그값이 얼만큼 들어오든 담기위해 byte의 고정형식이 없는 String[] 배열을 매개변수로 전달해주는것같다고 추측해본다

 

'학원 일기 > 학원-JAVA' 카테고리의 다른 글

학원 Java 5일차 수정사항없음  (0) 2021.02.19
학원 Java 4일차  (0) 2021.02.18
학원 Java과정 3일차  (0) 2021.02.17
학원 Java과정 2일차  (0) 2021.02.16
학원 Java과정 1일차  (0) 2021.02.15