전체 글 71

0531 JAVA 열한번째

Math.random 메소드로 범위내 정수 난수 구하기 10~35 int d=(int)(Math.random( )*(가장 큰수-가장 작은수+1) +가장 작은수 StringTokenizer 특정 문자를 특정 구분자로 분리해주는 메서드. 구분자를 설정해주지 않는다면 공백으로 분리한다. countTokens 분리한 토큰의 갯수를 정수 타입으로 리턴 받는다. 파싱한다. 예시 StringTokenizer stn = new StringTokenizer("2022/05/31,10:43",",/"); int count=stn.countTokens(); System.out.println(count); count = 4가 나온다. (/와 ,마다 한덩어리씩 분리) hasMoreTokens 하나라도 토큰이 남아있으면 불리언 ..

Develop/JAVA 2022.06.01

0530 JAVA 열번째!!

상속받는 자식 클래스의 메서드의 접근 범위는 부모의 접근 범위와 같거나 크게 설정할 수 있다. (작게는 안된다.) InstanceInner 어떠한 클래스를 한 클래스에서만 사용하게 된다면 클래스 안에 클래스를 정의함으로써 내부클래스 형태로 만들어준다. 외부에는 불필요한 클래스를 감춤으로 코드의 복잡성을 줄일 수 있다.(다른 클래스에서 사용할 수 없다.) local class 지역 클래스 외부 클래스의 메서드나 초기화블럭 안에 선언한다. 익명 클래스 1회용 클래스 new Inner1() { void display(){ System.out.println("x:"+x*x*x); }//display }.display(); 객체를 생성함과 동시에 정의되어있는 메서드를 재정의하고 호출까지 동시에 한다. 인터페이스도..

Develop/JAVA 2022.06.01

0527 JAVA 아홉번째

추상메서드 abstract void draw( ); { } 일부러 중괄호를 통해 정의를 하지않고 마치기 위해서는 미완성이라는 의미로 메서드 앞에 abstract 를 붙여준다. 클래스 또한 abstract class로 만들 수 있다. 미완성 메서드를 가지고 있는 추상 클래스로는 객체를 만들수 없다. 자식클래스가 추상클래스를 상속받기 위해선 두가지 방법이 있는데 첫번째는 추상 클래스를 상속받는 자식 클래스도 추상 클래스로 만들어줘야한다. 그런데 상속받은 자식 클래스로도 객체를 만들 수 없게 된다. 이를 해결하기 위해서는 자식 클래스에서 부모의 미완성 메서드를 정의해주면 된다. 미완성 메서드를 정의해준다면 자식클래스는 완성됐기 때문에 abstract를 지워준다. 굳이굳이 왜 추상클래스를 만들고 미완성 메서드를..

Develop/JAVA 2022.06.01

0526 JAVA 여덟번째

상속 class Parent{ int x=10; void method() { System.out.println("P_x:"+x); } } class Child extends Parent{ int x=20; // 만일 이 변수가 없다면 void method() { int x=30; //지역변수 System.out.println("x:"+x); System.out.println("this.x:"+this.x); System.out.println("super.x:"+super.x); } } 우선 순위는 지역변수 인스턴스변수 상속된변수 순으로 되어있다. 위의 Child 클래스의 인스턴스 변수가 없다면 this.x는 부모클래스인 Parent클래스에서의 인스턴스 변수를 호출한다. 지역변수가 없다면 클래스 안의 인스..

Develop/JAVA 2022.06.01

0525 JAVA 일곱번째

상속 어떠한 클래스를 새로이 만드는데 이전 클래스의 멤버변수에 무언가 추가되었다면 상속을 통해 코드를 효율적으로 만들수 있다. class 클래스명 extends 이전클래스 위와 같은 형태로 만든다. 새로이 만드는 클래스를 자식(하위)클래스 계승하는 이전 클래스를 부모(상위,조상)클래스라 한다. 자식 클래스의 생성자에서도 부모클래스의 멤버변수를 사용할 수 있다. 자식클래스는 부모클래스의 생성자를 제외한 다른 메서드까지 상속 받는다. 부모클래스는 자식클래스의 메서드를 가져다 쓸 수 없다. 만약 자식클래스에서 부모클래스와 같은 메서드명 (기능은 다르다.)을 사용한다면 메서드 오버라이딩(overriding)이라고 한다. 부모클래스의 동명메서드를 메서드 선언부라 한다. 오버로딩(overloading)과 비슷하여 ..

Develop/JAVA 2022.06.01

0524 JAVA 여섯번째

한 클래스파일 안에는 같은 메서드가 중복 될 수 없다. 메서드 Overloading public static void main(String[] args) { int i =plus(3,5,10); float j = plus(0.1f,0.2f); double k =plus(1.1,2.2); System.out.println("int합:"+i); System.out.println("float합:"+j); System.out.println("double합:"+k); } static int plus(int x,int y, int z) { return x+y+z; } static float plus(float x,float y) { return x+y; } static double plus(double x,doub..

Develop/JAVA 2022.06.01

0523 JAVA 다섯번째

메서드 메서드란 특정한 작업을 수행하도록 독립적으로 작성된 프로그램을 뜻한다. 메서드 정의 부분이 필요할 때 마다 호출해서 사용할 수 있다. 메서드 정의 부분 처리가 끝나면 호출한 곳으로 돌아간다. 메서드 정의하는법 static void 메서드명( ){ } 이러한 형태를 갖는다. 정의를 한 뒤 호출 할 때는 메인 메서드 내부에 메서드명( ); 으로 불러올 수 있다. 항상 메인 메서드가 먼저 실행된다. 메서드명( )의 가로 안에 값을 넣으면 그 값을 들고 메서드로 와서 실행한다. 메서드에는 그 값을 받기위한 변수 설정이 필요하다. (매개변수 or parameter) 클래스를 배울때 배웠던 멤버변수, instance 변수나 static변수,클래스변수와 같다. add(100,200); //호출 100,200:..

Develop/JAVA 2022.06.01

0520 JAVA 네번째 공부!

글 작성시 코드 블럭을 사용하는 법을 알아냈습니다! 1차원과 2차원 배열의 차이 1차원은 하나의 배열로 끝나고 2차원은 2줄이상의 배열로 작성한다. int[ ][ ] arr = { ↓열 {80,72,63,83}, {92,21}, ←행 {99,49,59} }; 각각의 배열의 관리자 또한 배열로 만든다. 여기서 arr.length는 3개의 배열로 이루어지므로 3 arr[0].length는 배열안에 4개의 값이므로 4다. 배열의 값을 찾는 법은 우선 몇번째 배열(행)인지를 넣고 그 배열의 순서대로 위치(열)을 입력하면 된다. 예 arr[0][0] 이중 반복문을 통해 2차원배열을 나열할 수 있다. for(i=0;i2 3 8 5 2 9 0>3 3 8 5 2 9 0>4 2 8 5 3 9 1>2. 2>3. . 3>4..

Develop/JAVA 2022.06.01

0518 JAVA 두번째

2일차! 초반엔 정신이 없어서 한번에 업로드하게 됐네요... 앞으론 꾸준히 올려보도록 노력하겠습니다! 연산자 산술 연산자 + 더하기 - 빼기 * 곱하기 / 나누기 % 나머지 복합대입연산자 a를 10이라 가정했을때 a = a+3; 13이 도출된다. a += 3; 으로 줄여쓸 수 있다. -= 은 빼기 *= 는 곱하기 /= 는 나누기 %=는 나누고 난 후의 나머지다. 증감연산자 a를 5라 가정하고 aa를 가정하지 않았을때 aa = a; 는 5가 도출 ++은 1만 더한다는 증강연산자. aa = ++a; 는 a=6 aa=6 풀어쓰면 a=a+1; aa=a; aa = a++; 은 a=6 aa=5 가 된다. 풀어쓰면 aa=a; a=a+1; ++이 앞에 있을땐 먼저 뒤에 있을땐 나중에 더한다. --는 1만 빼는 감소연산..

Develop/JAVA 2022.05.27