찾아봐야 될것들( IoC 컨테이너,POJO)

개인 공부 2019. 4. 5. 17:45


'개인 공부' 카테고리의 다른 글

백엔드, 프론트엔드 로드맵  (0) 2019.05.14
웹 프로그래머 포트폴리오 작성 팁  (0) 2019.05.13
공부해야될것들  (0) 2019.05.13
홈페이지 디자인 다운받을만한 곳  (0) 2019.05.07
리눅스 공부  (0) 2019.05.02
:

19.04.05 다차원 배열, 향상된 for문

Back-End/Java 2019. 4. 5. 17:39

- 다차원 배열 -


다차원 배열은 1차원 배열과 달리 수학의 행렬을 생각하고, 배열의 요소로 또다른 배열을 갖는 것을 의미한다.

예를들면 int[2][3]; 배열이 있으면 길이가 2인 배열 안에 길이가 3인 배열이 2개 있는것이다.



-출처-

https://blog.naver.com/myroom9/221172213230




-향상된 for문-


향상된 반복문은 for(타입 변수명 : 배열 또는 컬렉션)

{

반복할문장;

}

으로 사용한다.


이때 변수의 타입은 배열의 타입과 같아야 한다.

향상된 반복문은 배열에 저장된 값을 순서대로 읽어서 변수에 저장하고

배열에 저장된 값을 모두 저장하면 반복문에서 나가진다.

배열에 저장된 요소를 읽어내는 용도로 사용하면 된다.


-예제 및 출력-


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package chap05.array;
 
public class array 
{
public static void main(String[] args) 
    {
        int[] scores = { 9571849387 };
        int sum = 0;
        for (int score : scores) //scores 배열의 원소
        {
            sum = sum + score;
        }
        System.out.println("점수 총합 = "+sum);
        double avg = (double) sum /scores.length;
        System.out.println("점수 평균 = " +avg);
    }
}
 
cs



-출처-

https://blog.naver.com/sjw7324/221482728452



:

19.04.04 random, Scanner

Back-End/Java 2019. 4. 4. 17:13

-random-


(int)(Math.random()*'숫자')+'시작할숫자' = 랜덤으로 숫자 뽑을때 사용
main() 메서드 안에 'Random'을 타이핑하고 'Ctrl'+ 'Space'를 동시에 누르면 창이뜨고,맨위의 'Random - java.util'을 선택합니다.


ex)int num = (int)(Math.random()*6)+1;
(1에서 6까지의 랜덤한 숫자값이 num에 저장됨)


- 예제 및 출력된 값 -

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package chap04.chp4;
 
import java.util.Scanner;
 
public class DoWhileExample 
{
    public static void main(String[] args) 
    {    
        while(true)   //1부터 6까지 랜덤하게 숫자를 출력하고 6이 출력되면 멈추는 반복문
        {
            int num = (int)(Math.random()*6)+1;
            System.out.println(num);
            if(num == 6
            {
                break;
            }
        }
        System.out.println("프로그램 종료");
    }
}
 
cs


-출처-

https://blog.naver.com/battle1316/221427655924

https://blog.naver.com/kimhecan/221497351909



- Scanner -


Scanner scanner = new Scanner(System.in);

//Scanner에 드래그 하고 컨트롤, 쉬프트, O동시에 눌러서 import java.util.Scanner; 추가
  
String inputString=scanner.nextLine();
//엔터키를 누르기 전까지 사용자가 입력한 값을 입력을수 있다(c언어의 scanf같이 키보드에서 입력받을때 사용)



- 예제 및 출력된 값 -


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package chap04.chp4;
 
import java.util.Scanner;
public class formun 
{
    public static void main(String[] args) 
    {    
        while(true)
        {
            System.out.println("____________________________");
            System.out.println("1.예금 | 2.출금 | 3.잔고 | 4.종료");
            System.out.println("____________________________");
            
            Scanner scanner = new Scanner(System.in);
            String inputString = scanner.nextLine();
            
            System.out.println("선택> "+inputString);
            break;
        }
    }
cs




-출처-

https://manniz.tistory.com/54









:

19.04.03 예외처리, Integer, eqals()

Back-End/Java 2019. 4. 3. 17:08

-예외(exception)란?-
컴퓨터 시스템이 동작하는 도중에 예상하지 못한 오류가 발생하는 것을 의미, 예외 상황은 실행되고 있던 프로그램을 비정상적으로 종료시킨다.
따라서 예외처리를 통해 이러한 예외 상황을 처리할 수 있도록 코드의 흐름을 바꾸는 행위가 필요하다.



-예외 처리(exception handling)-
프로그램 실행시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하여 프로그램의 비정상적인 종료를 막고 정상적인 수행을 할 수 있도록 해야한다.
이런 처리를 하기 위해서 기본 형식인 (try - catch - finally) 구문을 사용한다.



-예제 및 실행 결과-

(오류가 발생되지 않아서 finally 구문만 실행)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package chap03.operations3;
 
public class operations3 
{
    public static void main(String[] args) 
    {
        try 
        {
            int a = 100000; //에러 감지블록, 예외 발생 예상지역
        }
        catch(ArithmeticException e) //오류가 발생했을때만 실행한다.
        {
            System.out.println("catch문 = 오류가 발생"); //에러 발생시 처리 내용
        }
        finally //오류가 발생하든 안하든 무조건 실행한다.
        {
            System.out.println("finally = 무조건 실행"); //오류의 발생여부와 상관없이 실행할 내용
        }
    }
}
 
cs






출처

https://blog.naver.com/vnemftnsska2/221385280969





-Int, Integer 차이-


출처
https://blog.naver.com/gngh0101/221114243791



-eqals(), == 차이-


eqals()
객체 비교 메서드
두 객체의 값이 같은지 확인, 문자열의 데이터/내용을 기반으로 비교
기본 유형(Primitive Types)에 대해서는 적용할 수 없다.
반환형태 : boolean type
같은 내용이면 return true, 다른 내용이면 return false


==
항등 연산자이다.
두 객체가 같은 메모리 공간을 가리키는지 확인한다.
반환형태 : boolean type
같은 주소면 return true, 다른 주소면 return false
모든 기본 유형에 대해 적용할 수 있다.
ex) byte, short, char, int, float, double, boolean



출처

https://gmlwjd9405.github.io/2018/10/06/java-==-and-equals.html

:

19.04.02 예약어,패키지,println,printf,캐스팅,boolean

Back-End/Java 2019. 4. 2. 16:20

- 예약어란? -


java에 의미가 약속되어 있는 단어를 뜻한다.

java에 이미 예약어로 등록되어 있는 단어는 속성의 변수명, 메소드명으로 사용할 수 없으며

프로그래밍 과정에서 이렇게 특정 의미가 있는 단어를 프로그래머가 식별자로 사용하게 되면

에러나 버그가 발생할 수 있다.


-종류-

public : 클래스, 메소드, 변수 등에 사용되는 예약어로 외부에 공개하겠다는 뜻

class : 클래스 정의시 사용

return : 메소드에서 어떤 값을 반환할 때 사용하는 예약어

void : 메소드에서 반환값이 없을때 사용

this : 객체의 인스턴스를 참조하여 클래스가 만들어낼 객체의 주소값

등등...


출처

http://blog.naver.com/PostView.nhn?blogId=jin750226&logNo=120192497821



- 패키지란? -


하나의 클래스 안에서 같은 이름의 클래스들을 사용하기 위한 방법.

패키지는 폴더와 유사하다.

클래스가 많아짐에 따라서 같은 이름을 가진 클래스가 생겨날 가능성이 높아지게 되는데

이름의 충돌을 방지하기 위해 고안된 것이 패키지라고 할 수 있다.


출처

https://opentutorials.org/course/2517/14135



- println과 printf -



println은 java에서의 기본 출력문으로 출력하고 싶은 내용 그대로를 출력한다.


printf는 기본 출력문인 println()은 변수의 값을 그대로 출력하므로, 값을 변환하지 않고는 다른 형식으로 출력할 수 없다.

반면에 printf는 지시자를 통해 변수의 값을 여러 가지 형식으로 변환하여 출력할 수 있다.

(c언어때와 동일한 형식으로 사용)


출처

https://keep-cool.tistory.com/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
33
package sec02.exam06_boolean;
 
public class BooleanExample 
{
    public static void main(String[] args) 
    {
        
        int intValue = 1030103020;
        byte byteValue = (byte) intValue;
        System.out.println(byteValue);
        //intValue의 값은 byte가 담을수 있는 값의 범위보다 큰 값이므로 (byte)라는 캐스팅 연산자를
        //사용해서 1byte씩 쪼개서 끝에있는 1byte만 byteValue 변수에 저장한다. 
        //만약 byte형태에 충분히 수용될수 있는 값이면 변화되지 않고 그대로 값이 전달된다.
        
        int Value = 'A';
        char charValue = (char) Value;
        System.out.println(charValue);
        
        
        
        boolean stop = false;
        
        if(stop) 
        {
            System.out.println("중지합니다");
        }
        else
        {
            System.out.println("시작합니다");
        }
    }
}
 
cs


-출력된 값-


출처

https://linuxism.ustd.ip.or.kr/1551


참고 동영상

https://cafe.naver.com/thisisjava







- boolean -

참 또는 거짓의 값을 갖는 자료값을 boolean(부울) 자료형 이라고 한다.
boolean 자료형에 대입되는 값은 참(true) 또는 거짓(false)만 가능하다.
또한 boolean자료형에는 boolean연산의 결과값이 대입될 수도 있고, 주로 조건문의 판단 기준으로 많이 사용된다.

출처
https://wikidocs.net/220












:

나의 Java 학습 플래닛

Back-End/Java 2019. 4. 1. 20:31

Java 학습 일정.xlsx

 

:

19.04.01 자바 프로그램 개발 순서, 실행문

Back-End/Java 2019. 4. 1. 16:10

자바 프로그램 개발 순서


.java 소스 파일 작성 -> 컴파일러(javac.exe)로 바이트 코드 파일(.class) 생성 -> JVM 구동 명령어(java.exe)로 실행
자바 프로그램을 개발하기 위해서는 우선 파일 확장명이 .java인 텍스트 파일을 생성하고 프로그램 소스를 작성한다.
이렇게 만든어진 파일을 자바 소스 파일이라고 한다. 작성 완료된 자바 소스 파일은 컴파일러(javac.exe)로 컴파일해야 한다.
컴파일이 성공되면 확장명이 .class인 바이트 코드 파일이 생성된다. 예를 들어, 명령 프롬프트에서 Hello.java 소스 파일을 다음과 같이 컴파일하면 Hello.class파일이 생성된다. 


-예제-


1
2
3
4
5
6
7
8
9
10
11
public class Hello    
{
    public static void main(String[] args)
    {
        System.out.println("Hello, welcome to the java world!");
    }    
}
 
 
cs

실행문과 세미콜론(;)


실행문은 변수 선언, 값 저장, 메소드 호출에 해당하는 코드를 말한다.

실행문의 마지막은 반드시 세미콜론(;)을 붙여서 실행문이 끝났음을 표시해주어야 한다.


-예제-

public class Num

{
public static void main(String[] args)
{
int x = 1; //변수 x를 선언하고 1을 저장
int y = 2; //변수 y를 선언하고 2를 저장
int result = x + y; //변수 result를 선언하고 변수 x와 y를 더한 값을 저장
System.out.println(result); //콘솔에 출력하는 메소드 출력
}
}



이클립스 사용


"Hello"문자 출력 결과














:

19.03.27 Array Class

카테고리 없음 2019. 3. 28. 00:07

*Array Class*

배열을 만들고,  조작하고, 검색 및 정렬하여 공용 언어 런타임에서 모든 배열의 기본 클래스

역할을 수행하도록 하는 메서드를 제공한다. 아래 예제를 참고

 

 

using System;

public class SamplesArray2
{
public static void Main()
{
// Creates and initializes a new three-dimensional Array of type Int32.
Array myArr = Array.CreateInstance(typeof(Int32), 2, 3, 4);
for (int i = myArr.GetLowerBound(0); i <= myArr.GetUpperBound(0); i++)
{
for (int j = myArr.GetLowerBound(1); j <= myArr.GetUpperBound(1); j++)
{
for (int k = myArr.GetLowerBound(2); k <= myArr.GetUpperBound(2); k++)
{
myArr.SetValue((i * 100) + (j * 10) + k, i, j, k);
}
}
}

// Displays the properties of the Array.
Console.WriteLine("The Array has {0} dimension(s) and a total of {1} elements.", myArr.Rank, myArr.Length);
Console.WriteLine("\tLength\tLower\tUpper");
for (int i = 0; i < myArr.Rank; i++)
{
Console.Write("{0}:\t{1}", i, myArr.GetLength(i));
Console.WriteLine("\t{0}\t{1}", myArr.GetLowerBound(i), myArr.GetUpperBound(i));
}

// Displays the contents of the Array.
Console.WriteLine("The Array contains the following values:");
PrintValues(myArr);
}


public static void PrintValues(Array myArr)
{
System.Collections.IEnumerator myEnumerator = myArr.GetEnumerator();
int i = 0;
int cols = myArr.GetLength(myArr.Rank - 1);
while (myEnumerator.MoveNext())
{
if (i < cols)
{
i++;
}
else
{
Console.WriteLine();
i = 1;
}
Console.Write("\t{0}", myEnumerator.Current);
}
Console.WriteLine();
}
}
/*
This code produces the following output.

The Array has 3 dimension(s) and a total of 24 elements.
Length Lower Upper
0: 2 0 1
1: 3 0 2
2: 4 0 3
The Array contains the following values:
0 1 2 3
10 11 12 13
20 21 22 23
100 101 102 103
110 111 112 113
120 121 122 123
*/

 

출처

https://docs.microsoft.com/ko-kr/dotnet/api/system.array?view=netframework-4.7.2

: