출처: https://bumcrush.tistory.com/182 [맑음때때로 여름]

'JAVA > basic' 카테고리의 다른 글

getter / setter  (0) 2020.10.15
접근제어 [ private / public / protected / default ]  (0) 2020.10.15
import  (0) 2020.10.15
2차원 배열 / 다차원 배열  (0) 2020.10.13
변수의 초기화 / 초기화 블럭  (0) 2020.10.08
객체지향 : class 생성  (0) 2020.10.07
생성자 / 초기화 메소드  (0) 2020.10.07
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
    int [][] score= new int[5][3];
        
        /*
         ㅁㅁㅁ
         ㅁㅁㅁ
         ㅁㅁㅁ
         ㅁㅁㅁ
         ㅁㅁㅁ
         */
    
    
    int [][] score2=new int[5][];
        score2[0]=new int[4];                
        score2[1]=new int[3];
        score2[2]=new int[2];
        score2[3]=new int[2];
        score2[4]=new int[3];
        
        /*
         ㅁㅁㅁㅁ
         ㅁㅁㅁ
         ㅁㅁ
         ㅁㅁ
         ㅁㅁㅁ 
         
         */
        
    int [][] score3 = {
            {010203},
            {111212},
            {212223},
    };
    
            /*
             01 02 03
             11 12 12
             21 22 23
             */
    
 
 
 //예
 
    int[][]arr3= {
            {1,2},
            {3,4,5},
            {6,7,8,9},
        };
    
    for(int i=0; i<arr3.length ; i++) {
        for(int j=0; j<arr3[i].length; j++) {
            System.out.print(arr3[i][j]+"\t");}
    
    System.out.println();}
 
                
cs

 

지역변수 ex) for문안에 i

인스턴스 변수 ex) new 클래스();

클래스 변수 : 앞에 static / 인스턴스에 많이 사용하면 유용

 

 

 

 

- 클래스 변수 (static int)

- 인스턴스 변수 card c1 = new card();

 

 

 

void가 static void가 아니므로

card c1=new card(); 같은 인스턴스 변수를 사용하지 않고는 호출할 수 없다.

c1.play();는 사용가능

 

 

cv2= iv; 에러/ 클래스 변수는 인스턴스 변수를 사용할 수 없다.

프로그램 시행시 생성 순서는  cv(1) > cv2 (2)이기 때문에

iv는 객체를 생성( 어쩌구저쩌구 뉴 ()로 하는거)해야 사용할 수 있으므로

사용하고싶다면 static iv로 하거나 아랫줄처럼 static int cv2=new Membercall().iv 해야함

'JAVA > basic' 카테고리의 다른 글

변수의 초기화 / 초기화 블럭  (0) 2020.10.08
객체지향 : class 생성  (0) 2020.10.07
생성자 / 초기화 메소드  (0) 2020.10.07
메소드 / 메서드  (0) 2020.10.05
이항연산자의 특징 / 타입에 따른 계산 오류  (0) 2020.09.29
변수의 기본값과 초기화  (0) 2020.09.28
리터럴과 접미사  (0) 2020.09.28

- 메서드의 종료

1. 메서드의 블럭{}의 끝에 도달했을 때

2. [return]문을 만났을때 메서드 종료

 

 

 

- 메서드와 반환값

 

1. 반환값이 없는 경우 retrun;만 써주면된다.

    // 반환 값이 있는 메서드는 모든 경우에 return문이 있어야 한다.

2. 반환값이 있는 경우 return 반환값;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int max(int a, int b){
    if(a>b)
        return a; // a<b일때 return값이 없다. NO!
 
 
int max(int a, int b){
    if(a>b)
        return a;
    else        
        return b;   // a<b일때 return값이 없으므로 추가해줌
}
 
 
int max(int a, int b){
    int result=0;
        if(a>b)
            result=a;
        else
            result=b;
    return result            // 리턴을 여러개 쓰면 에러나기 쉬우므로 이 방법을 애용하자
cs

반환값이 있는 경우 return 반환값;

 

 

오버로딩 : 같은 이름의 메서드 정의.

메소드의 매개변수 선언(개수 또는 자료형)이 다르면 메소드 오버로드가 성립한다.

 

 

string s= ""와 strings=null은 같지 않다

""는 공백문자

 

리터럴 : 그 자체로 값을 의미하는 것

 

상수(constant) 

 

final int i=3.141592 (파이값)

같은 것들을 변하지 않게 고정해줄때씀

 

final double PI = 3.141592;
// PI = 3.14; 저장불가능 재정의불가능

 

float, double모두 매우 충분한 표현 범위를 자랑한다.

• 이 둘의 가장 큰 차이점은 정밀도 이다.

• 따라서 필요한 정밀도를 바탕으로 자료형을 결정한다.

• 일반적으로 double의 선택이 선호된다.

'JAVA > basic' 카테고리의 다른 글

변수의 기본값과 초기화  (0) 2020.09.28
리터럴과 접미사  (0) 2020.09.28
파이널 / 상수 / final / 변수 고정  (0) 2020.09.28
자료형의 종류와 구분 / 변수 / 변수의 기본값과 초기화  (0) 2020.09.28
Continue 문 / 무한루프  (0) 2020.09.24
Break 문  (0) 2020.09.24
Loop 문 ( Do while 문 )  (0) 2020.09.24

기본형(Primitive type) 

- 8개 (boolean, char, byte, short, int, long, float, double)   

- 실제 값을 저장

 

참조형(Reference type) 

- 기본형을 제외한 나머지(String, System 등) 

- 객체의 주소를 저장(4 byte, 0x00000000~0xffffffff) 

'JAVA > basic' 카테고리의 다른 글

리터럴과 접미사  (0) 2020.09.28
파이널 / 상수 / final / 변수 고정  (0) 2020.09.28
실수 연산의 오류  (0) 2020.09.28
Continue 문 / 무한루프  (0) 2020.09.24
Break 문  (0) 2020.09.24
Loop 문 ( Do while 문 )  (0) 2020.09.24
Loop문 ( while 문 )  (0) 2020.09.24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
// continue : 생략(skip)
/* 
      Loop문과 같이 사용
      
      
      while(){
          처리1
          처리2
          처리3
          if(조건식){
              continue;
          }
          처리4
          
          연산식
          }
 */
        
        //예제1)
        
        for(int i=0 ; i<10; i++) {
            System.out.println("for start");
            System.out.println("i = "+i);
            
            if (i>4) {
                continue;
            }
            System.out.println("for end"); // i=5일때는 for end가 출력되지 않는다
        }
        
        
        //예제2)
        
        int w=0;
        while (w<10) {
            System.out.println("while start");
            System.out.println("w = "+w);
            w++;     // 여기에 써야 무한루프X
            if(w>4) {
                continue;
            }
            System.out.println("while end");
             // w++; // 여기있으면 연산자가 아래있어서 무한루프에 걸리게 된다.
        }
    
cs

'JAVA > basic' 카테고리의 다른 글

파이널 / 상수 / final / 변수 고정  (0) 2020.09.28
실수 연산의 오류  (0) 2020.09.28
자료형의 종류와 구분 / 변수 / 변수의 기본값과 초기화  (0) 2020.09.28
Break 문  (0) 2020.09.24
Loop 문 ( Do while 문 )  (0) 2020.09.24
Loop문 ( while 문 )  (0) 2020.09.24
Loop문 ( foreach 문 ) / 배열과 foreach문  (0) 2020.09.23
1
2
3
4
5
6
7
8
9
10
11
12
13
/* 
 
     break문 : loop 탈출
     
 */
        
        for (int i=0; i<100; i++) {
            System.out.println("i = " + i);
            if(i==23) {
                break;
                
            }
        }
cs

 

Loop 문 이름으로 Break

1
2
3
4
5
        outerLoop : for(i=1; i<10; i++) {
            for(int j=1; j<10 ; j++) {
                System.out.println("["+i+","+j+"]");
                if(i%2==0 && j%2==0) {
                    break outerLoop;
cs

'JAVA > basic' 카테고리의 다른 글

실수 연산의 오류  (0) 2020.09.28
자료형의 종류와 구분 / 변수 / 변수의 기본값과 초기화  (0) 2020.09.28
Continue 문 / 무한루프  (0) 2020.09.24
Loop 문 ( Do while 문 )  (0) 2020.09.24
Loop문 ( while 문 )  (0) 2020.09.24
Loop문 ( foreach 문 ) / 배열과 foreach문  (0) 2020.09.23
Loop문 ( for문 )  (0) 2020.09.23
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    /*
     
         do while문
         -사용빈도가 떨어진다.
         -조건이 맞지 않아도 1번은 처리하기 때문 (조건이 밑에 있으므로)
         
         do{
             처리
             연산식         
         }while(조건식);
     
     */
            
//    예제1)
 
    int dw=0;
    
    do {
        System.out.println("dw = "+ dw);
        dw++;
    }while(dw<10);
    
// 예제2)
    
    int dw=10//10으로수정했음
    
    do {
        System.out.println("dw = "+ dw);
        dw++;
    }while(dw<10); // 조건과 틀렸는데도 한번 실행됨
cs

'JAVA > basic' 카테고리의 다른 글

자료형의 종류와 구분 / 변수 / 변수의 기본값과 초기화  (0) 2020.09.28
Continue 문 / 무한루프  (0) 2020.09.24
Break 문  (0) 2020.09.24
Loop문 ( while 문 )  (0) 2020.09.24
Loop문 ( foreach 문 ) / 배열과 foreach문  (0) 2020.09.23
Loop문 ( for문 )  (0) 2020.09.23
스위치 문 ( Switch 문 )  (0) 2020.09.23
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*
        - while문
        
        변수의 선언
        초기화
        
        while(조건식){
            처리
            연산식
        }
        
*/
        
        int w;
        w=0;
        
        while(w<10) {
            System.out.println("w= "+w);
            
            w++;
        }
cs

 

while(ture) = 무한루프

'JAVA > basic' 카테고리의 다른 글

Continue 문 / 무한루프  (0) 2020.09.24
Break 문  (0) 2020.09.24
Loop 문 ( Do while 문 )  (0) 2020.09.24
Loop문 ( foreach 문 ) / 배열과 foreach문  (0) 2020.09.23
Loop문 ( for문 )  (0) 2020.09.23
스위치 문 ( Switch 문 )  (0) 2020.09.23
조건문 ( if, if-else, else if )  (0) 2020.09.23

for(int i=0; i<Array.size(); i++){ }

 

 //일반 for문

 

for(int num : Array){ }

 

//범위 기반 for문(foreach)

 

 

 

 

 

1
2
3
4
5
6
        
        int array[]= {12,13,14,15};
        
        
        for(int num:array) {
            System.out.println(num);
cs

 

12

13

14

15 

 

로 출력된다.

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
        // for-each구문 : 배열의 원본 데이터의 수정이 아닌 일괄 참조의 목적일 때 사용할 수 있다.
        
        int[] arr4 = {1,2,3,4,5};
        
        
        for(int a:arr4) {
            System.out.print(a +" "); // 1 2 3 4 5 
        }
        
        
        System.out.println(); // 엔터
        
        
        int sum=0;
        for (int a:arr4) {
            sum+=a;
        }
        
        System.out.println("배열 arr4의 요소들의 합 " + sum); //15
        
        // for - each에서의 값의 변경 > 배열에는 영향을 주지 않는다.
        for(int a:arr4) {
            a++;
            System.out.print(a+" ");  // 2 3 4 5 6  (변수 a를 증가시켜 출력만 이렇게나온것)
            
        }
        
        System.out.println(); // 엔터
        
        for(int a:arr4) {
            System.out.print(a+" "); // 1 2 3 4 5  (원본 그대로 나옴)
        }
cs

'JAVA > basic' 카테고리의 다른 글

Break 문  (0) 2020.09.24
Loop 문 ( Do while 문 )  (0) 2020.09.24
Loop문 ( while 문 )  (0) 2020.09.24
Loop문 ( for문 )  (0) 2020.09.23
스위치 문 ( Switch 문 )  (0) 2020.09.23
조건문 ( if, if-else, else if )  (0) 2020.09.23
배열 (array) : 배열 초기화, 배열 swap, 배열 별명  (0) 2020.09.23
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
        /*
         순환문 : loop문
         조건이 만족하면 반복 실행되는 제어문
         
         for, foreach
         
         */
        
    /* for문 형식
     
         for( 변수선언 또는 초기화 ; 조건문 ; 연산식 ){
         처리}
         연산식에는  increment++을 제일 많이 사용한다.
         
         for (변수선언 : 배열 or 목록){
         처리}
     
     */
        
        // int = a | 외부에서 선언 or 안에서 선언(초기화불가능/재사용가능)
        
        
        //예제1)
        
        for (int a=0 ; a<4 ; a++) { // a=0에서 시작해서 4보다 클때까지 ++1
            System.out.print("1");
        }
        
        System.out.println();
        
        //예제2)
        
        int sum = 0;
        
        for(int i=1 ; i<=10 ; i++) {
                sum = sum+i;}
        
        System.out.println(sum);
        
        // 예제3) 배열의 길이
        
        int array[] = {23,24,35};
        System.out.println(array.length); // 배열.length
        
        sum=0;
        // sum = array[0] + array[1] + array[2]
        
        for (int i=0 ; i<array.length ;i++) {
            sum = sum+array[i];
        }
            
        System.out.println(sum);  // 82
 
        // 예제4) for문 안의 if문 _ 양수만 더하기
        
        int forif[]= { 10-2030 };
        
        sum=0;
        
        for (int i=0 ; i<forif.length;i++) {
            if(forif[i]>0) {
                sum=sum+forif[i];
            }
        }
        
        System.out.println(sum);   // 10+30=40 
        
        
        
cs

(범위설정) 부등호는 사용할 수 없다.

숫자가 명확야 한다.

소숫점(실수값)은 사용할 수 없다. (ex. double)

- char나 Spring은 사용 가능 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
        /* 
         
        Switch(변수){
            case 값1:
            처리1
            break;
            case 값2;
            처리2
            break;
            :
            default:          // else와 같은 역할 없어도됨
                처리
        }
        
        
        */
        
        int number = 3;
        
        switch(number) {
            case 0:
                System.out.println("number = 0");
                break;
            case 1:
                System.out.println("number = 1");
                break;
            case 3:
                System.out.println("number = 3");  // 출력
                break;
        }
cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
 
        /* 
    
         - 제어문
             
             조건문
                 if
                 else
                if - else if - else
                switch
                 
             순환문
                 for
                 foreach (for문을 간단하게 만든 것)
                 while
                 do while
                 /break
                 /continue
             
         */
        
                    
            
    //    if ( 조건(true) ) { 처리  }
        // if 예제1)
        
        int number=5;
        
        if (number>0) { //참 
            System.out.println("number는 0보다 큽니다"); // 출력
        }
        if (number>5) { //거짓
            System.out.println("number는 5보다 큽니다"); //출력되지않음
        }
        
        // if 예제2)
        
        boolean b=true;
        if(b==true) {
            System.out.println("B는 TRUE입니다");
        if(b!=false)
            System.out.println("B는 TRUE입니다");
        }
        
        
        
    /* if(조건1=true){실행}
         else{실행}                  // 조건1이 false일 경우
     */
        
        
        
        // if-else 예제1
        
        number=10;
        if(number>5) {
            System.out.println("넘버는 5보다 크다");} // 출력O
        else {
            System.out.println("넘버는 5보다 작다");} // 출력X
        
            
    /* 조건분기 n개의 조건
         if
         else if
         else if * n개
         else
     
     */
    
        
        // else if 예제1
    
        number = 85 ;
        
        if(number==100) {
            System.out.println("A");}
            else if (number >=80 ) {
            System.out.println("B");}
            else if (number >=70 ) {             // B 출력
            System.out.println("C");}
            else
            {System.out.println("D");}
            
    
    
        // 조건문 안에 조건문
    
        number=95;
        
        if(number>=90) {
            if(number>=95) {
                System.out.println("A++");
            }
            else {System.out.println("A");}
        }
        else if (number>=80) {
            
        }
        
    
    
 
cs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
        
        /*  Array(배열) : 같은 자료형 변수들의 묶음.
         형식 :    자료형    배열변수명[] = new 자료형[배열의총수]
                int    arr[]= new int[5]
                int[] arr= new int[3]
                int []arr = new int[3]
        
            arr[index number] = 값
            arr[0]~arr[4] 
            
            초기화 int arr[]=null;
        */
        // 5명 학생의 국어점수 총점, 평균 구하기
        
        int lang1, lang2, lang3, lang4, lang5;
        
        lang1=90;
        lang2=85;
        lang3=100;
        lang4=95;
        lang5=75;
        
        int sum = 0 ;
        
        sum= lang1 + lang2 + lang3 + lang4 + lang5;
        
        double avg=0;
        
        avg =sum/5;
        
        // 배열로 구해보기
        
        int arrlang[] = new int[5]; 
 
        /* int arrlang[];
         arrlang = new int[5]; */
        
        arrlang[0= 90;
        arrlang[1= 85;
        arrlang[2= 100;
        arrlang[3= 95;
        arrlang[4= 75;
        
        
        System.out.println(arrlang[3]);
        
        
    //배열초기화
        int arrnum[]= {9010085};
                
        // char arrchar[] = { 'A','B','C'}; 선언과동시에 초기화하기
        
        char arrchar[];
        // arrchar = { 'A','B','C'} 불가능
        
        arrchar=new char[3]; // 동적할당을 한 이후에 초기화 가능, 선언과 동시에 초기화해야함
        arrchar[0]='A';
 
                
    //alias(별명)
                
            int array[]= {11,22,33};
            int alias[]=array;
            
            System.out.println(alias[2]); // =33
            
            alias[2]=222;
            System.out.println(alias[2]); // =222
            System.out.println(array[2]); // =222
            
    //swap 
            
            int a[] = {1,2,3};
            int b[] = {4,5,6};
            int temp;
            
            /*temp=a[0];
            a[0]=b[0];
            b[0]=temp; */ 
            
            int aliA[]=a;
            int aliB[]=b;
            int alitemp[];
            
            alitemp=aliA;
            aliA=aliB;
            aliB=alitemp;
            
            System.out.println(aliB[0]);
    
cs
ex) float + int = float + float

 

* byte + byte = int + int -> int

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
        /*
                                             우선순위
                                            
            boolean        1byte                낮음
                                          
           byte        1byte              
           short        2byte            
           int            4byte              
           long        8byte                   
                                           
           float        4byte               
            double        8byte                높음
            
            자료형의 변환 (auto, cast)
            
         */
        
        
        
        // 자동 자료형 변환 (auto)
        
        short sh = 12345;    // 2byte
        int i;                // 4byte
        
        i = sh; //자동형변환
        System.out.println("i = " + i);
        
        
        
        
        // 강제형 변환 (cast)
        
        i = 1234567891;
        
        // sh = i; 에러남!
        
        sh = (short) i; 
        System.out.println("sh = "+ sh);  
        // sh=723이 나온다.
        // 그러므로 형변환 할 때는 범위의 값을 잘 생각해서 변환해야한다.
        
        
        
        
        
        long l = 123456789L;
        float f = l;
        double d = l;
        
        System.out.println("f = " + f); // float라서 용량부족으로 여섯번째 숫자부터 에러남
        System.out.println("d = " + d); // 1.2345678E8
        
        //1.23456789E8
        //1.23456789 * 10^8
        
        double d1 = 1.234e2// 123.4 
        double d2 = 1.234e-2// 0.01234
        
        int n1, n2;
        n1=3;
        n2=2;
        
        double result = n1 / n2 ;  // 1.5가 나오지 않는다.
        double result2 = (double)n1/n2; 
        
        System.out.println(result); // 1.0 틀림
        System.out.println(result2); // 1.5 맞음
        
cs
 
 
 

//삼항 연산자
// (조건)?"값1":"값2";  
// 조건이 참이면 값1을, 거짓이면 값2를 대입한다

int number = 0 ;
int i;

i= (number<5)?100:200;                  = 100

 

String str;

str= (number>0)? "양수입니다":"0이거나음수입니다"               = 0이거나음수입니다

 

 

 

 

&&

AND 그리고, 두가지가 모두 참인경우 -> true


  ||

OR 또는, 두가지 중에 하나만 참이거나 둘 다 참인 경우 -> true


  ! 

~아닌,NOT

>,<,==

크고 작고 같고~
>=, <=

크거나 같고 작거나같고~ 

a != b

a와 b가 같지않다

 

!(num<0) → num>=0

!(num>0 || num<10)) num<=0 && num>=10

 

+ Recent posts