복습

documentation 읽기

lang 패키지의 object 클래스

object 클래스 : 모든 클래스의 조상 ( super클래스 )

멤머변수와 멤버메소드를 사용하기 위해서는 먼저 객체를 생성해야한다.


참조변수명.멤버변수

참조변수명.멤버메소드


클래스 안에 있는 메소드,변수명을 접근할대는 항상 참조변수명.멤버메소드, 참조변수명.멤버변수



java.lang 클래스의


String 패키지


equals 메소드 :비교해줌  , length() 메소드 :글자수



########################################################

package java_0729;


public class Tmain {


public static void main(String[] args) {

String aoa = "박초아,28,민아,26,김설현,22,지민,26,찬미,23,유경,32";

//이름 : 박초아 나이 28

//이름 : 민아 나이 26;

//이 상태를 구현하는 라이브러리찾기

//substring : 인덱스번호의 글자를 추출함 (시작인덱스,끝인덱스)

String result = aoa.substring(4,8);

System.out.println(result);


}


}


결과
>
28,민

#########################################################
package java_0729;

public class Tmain {

public static void main(String[] args) {
String aoa = "박초아,28,민아,26,김설현,22,지민,26,찬미,23,유경,32";
//이름 : 박초아 나이 28
//이름 : 민아 나이 26;
//이 상태를 구현하는 라이브러리찾기
//split 메소드 
//String [] ar =new String[3];
String [] ar = aoa.split(",");
for(int i=0 ; i<ar.length ; i++){
System.out.println(ar[i]);
}

}

}

결과
>
박초아
28
민아
26
김설현
22
지민
26
찬미
23
유경
32

################################################
package java_0729;

public class Tmain {

public static void main(String[] args) {
String aoa = "박초아,28,민아,26,김설현,22,지민,26,찬미,23,유경,32";
//이름 : 박초아 나이 28
//이름 : 민아 나이 26;
//이 상태를 구현하는 라이브러리찾기
//substring : 인덱스번호의 글자를 추출함 (시작인덱스,끝인덱스)
//String result = aoa.substring(4,8);
//System.out.println(result);
//split 메소드 
//String [] ar =new String[3];
String [] ar = aoa.split(",");
for(int i=0 ; i<ar.length ; i++){
System.out.println("이름:"+ar[i]);
System.out.println("나이:"+ar[++i]);
}

}

}

결과
>
이름:박초아
나이:28
이름:민아
나이:26
이름:김설현
나이:22
이름:지민
나이:26
이름:찬미
나이:23
이름:유경
나이:32


# ++i , 
  i++
 차이공부할 것

##############################################

소문자 > 대문자

package java_0729;

import java.util.Scanner;

public class Tmain {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("id를 입력하세요.");
String id = sc.next();
//소문자로 찍어도 대문자로 바꾸기

System.out.println(id.toUpperCase());
}

}


결과
>
id를 입력하세요.
abcd
ABCD


대문자>소문자

package java_0729;

import java.util.Scanner;

public class Tmain {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("id를 입력하세요.");
String id = sc.next();
//소문자로 찍어도 대문자로 바꾸기

System.out.println(id.toLowerCase());
}

}

결과
>
id를 입력하세요.
ABCD
abcd



########################################

String str1 = "suji";
String str2 = "suji";
String str3 =  new String("suji");
String str4 =  new String("suji");

str1 과 str2 는 주소값이 같다

str3 과 str4 는 주소값이 다름. ( new로 새로 만듬 )


해보니까

package java_0729;

import java.util.Scanner;

public class Tmain {

public static void main(String[] args) {
String str1 = "suji";
String str2 = "suji";
String str3 =  new String("suji");
String str4 =  new String("suji");
System.out.println(str1.hashCode());
System.out.println(str2.hashCode());
System.out.println(str3.hashCode());
System.out.println(str4.hashCode());
}

}

결과
>
3541793
3541793
3541793
3541793

????????


########################################

StringBuffer 클래스

메서드에 의해 처리된 결과를 저장할 문자열을 생성하는 것이 아니고 메모리 상의 자신의 값이 수정된다.



######################################

StringTokenizer 클래스

>>  csv 파일을 필요한 형태로 불러올 수 있다. (쉼표구분)

Token 문자열을 자른느 기준


다큐멘테이션 > java.util > StringTokenizer


######################

package java_0729;

import java.util.StringTokenizer;


public class Tmain {

public static void main(String[] args) {
String aoa = "박초아,28,민아,26,김설현,22,지민,26,찬미,23,유경,32";
StringTokenizer st = new StringTokenizer(aoa,",");
while(st.hasMoreTokens()){
String n = st.nextToken();
System.out.println(n);
}
}

}


결과
>
박초아
28
민아
26
김설현
22
지민
26
찬미
23
유경
32




package java_0729;

import java.util.StringTokenizer;


public class Tmain {

public static void main(String[] args) {
String aoa = "박초아,28,민아,26,김설현,22,지민,26,찬미,23,유경,32";
StringTokenizer st = new StringTokenizer(aoa,",");
while(st.hasMoreTokens()){
String n = st.nextToken();
String age = st.nextToken();
System.out.println("이름:"+n);
System.out.println("나이:"+age);
}
}

}



결과
>
이름:박초아
나이:28
이름:민아
나이:26
이름:김설현
나이:22
이름:지민
나이:26
이름:찬미
나이:23
이름:유경
나이:32




############################################


package java_0729;

import java.util.StringTokenizer;


public class Tmain {

public static void main(String[] args) {
String national = "서울,비,23,90,서풍,대전,비,30,80,북서풍,대구,눈,32,50,북풍,부산,흐림,28,80,남서풍,제주도,맑음,18,75,서풍";
StringTokenizer st = new StringTokenizer(national,",");
while(st.hasMoreTokens()){
String city = st.nextToken();
String weather = st.nextToken();
String tem = st.nextToken();
String humid = st.nextToken();
String wind = st.nextToken();
System.out.println("지역:"+city);
System.out.println("날씨:"+weather);
System.out.println("온도:"+tem);
System.out.println("습도:"+humid);
System.out.println("풍향:"+wind);
}
}

}

결과
>
지역:서울
날씨:비
온도:23
습도:90
풍향:서풍
지역:대전
날씨:비
온도:30
습도:80
풍향:북서풍
지역:대구
날씨:눈
온도:32
습도:50
풍향:북풍
지역:부산
날씨:흐림
온도:28
습도:80
풍향:남서풍
지역:제주도
날씨:맑음
온도:18
습도:75
풍향:서풍


###################################

(위에거 샘이 한거)

package java_0729;

import java.util.Scanner;
import java.util.StringTokenizer;


public class Tmain {
public static void main(String[] args) {
String w = "서울,비,23,90,서풍,대전,비,30,80,북서풍,대구,눈,32,50,북풍,부산,흐림,28,80,남서풍,제주도,맑음,18,75,서풍";
Weather [] was = new Weather[5];
StringTokenizer st = new StringTokenizer(w,",");
int i =0;
   while(st.hasMoreTokens()){
Weather wa = new Weather();
wa.setCity(st.nextToken());
wa.setWeather(st.nextToken());
wa.setTem(st.nextToken());
wa.setHumid(st.nextToken());
wa.setWind(st.nextToken());
was[i]=wa;
i++;
}
   System.out.println("도시명 입력");
Scanner sc = new Scanner(System.in);
String name = sc.next();
for(int j=0 ; j<was.length ; j++){
if(name.equals(was[j].getCity())){
System.out.println("도시:"+was[j].getCity());
System.out.println("날씨:"+was[j].getWeather());
System.out.println("온도:"+was[j].getTem());
System.out.println("습도:"+was[j].getHumid());
System.out.println("풍향:"+was[j].getWind());
}
}
}

}




결과
>
도시명 입력
서울
도시:서울
날씨:비
온도:23
습도:90
풍향:서풍
>
도시명 입력
제주도
도시:제주도
날씨:맑음
온도:18
습도:75
풍향:서풍



###########################################################

자바 집중적으로 공부할 점

1. 클래스 만드는 방법 ( 생성자 개념 익히기 )
2. 클래스를 보고 인스턴스(객체)를 만드는 방법
3. 멤버변수를 초기화 시키는 방법 : 메소드를 통하는 방법, 생성자를 통하는 방법
4. 멤버변수와 멤버메서드를 사용하는 방법

## 참조변수 .. 개념

이 4가지가 기초 ( 계속 공부 )

이후에 상속 등 개념 + 라이브러리 활용



#오브젝트언어 잘하는 법:관심사의 둘레
-> 클래스별로 역할 나누기
-> 이점 : 문제있는 부분만 고치면 된다. (의존적이지 않다.)

######################################################


java.lang 패키지 math 패키지

Fields : 멤버변수

> E,와 PI 앞에 static double --> 클래스이름.변수로  선언 
(E,PI,앞 대문자 : 상수취급)

math.E
math.PI

이런식으로

Math t =new Math();     //이런 형태는 불가능



#############################################

Java Language 언어  ---> 문법

class test{
멤버변수
int a;    -> 기본데이터타입(프리머티브type)
String name;  ->레퍼런스테디터타입

생성자

멤버메서드
}



#메소드 만드는 법

접근지정자+그외지정자(생략가능)+리턴타입(void,int..)+메서드명(매개변수){

메소드가 하는일




###############################################

1~45 번호에서 6개 뽑기

Math 패키지의 random() 메소드 사용

#문제점 0부터 생선된다 -> +1로 해결
#중복된 수가 생선된다 -> 이중 for문으로 해결

<선생님 >
package java_0729;

public class RandomTest {
public static void main(String [] args){
//double r = Math.random();
//System.out.println((int)r*10);
//1~45
//6개
//print
int [] numbers = new int[6];
for(int i = 0 ; i <numbers.length ; i++){
numbers[i] = (int)(Math.random()*45)+1;
for(int j=0 ; j<i ; j++){
if(numbers[i]==numbers[j]){
i--; //i=i-1
}
}
}
for(int i=0 ; i<numbers.length;i++){
System.out.println(numbers[i]);
}
}
}


#나온 수를 오름,내림차순 정리 해보기






블로그 이미지

테시리

,