[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 |