0%

반복문(for문)

반복문의 종류

  • for문
  • while문(do while문 포함) / (while문은 다음포스팅에서 다뤄보겠습니다.)

for문

1
for(int i=0; i<10; i++){
2
  //조건이 참일 경우 구문 실행
3
}
  • int i = 0 : 초기화
  • i<10: 조건
  • i++: 반복될 때마다 i를 1증가
    for문은 조건 검사 후 참일 경우 for문 내부를 실행하고 다시 돌아와서 조건을 검사합니다. 조건이 거짓이 될때까지 반복합니다.
    image
    조건에 true or 모두 비우게 되면 무한루프가 됩니다.
1
for(int i=0; true; i++){
2
  // 구문 무한루프
3
}
4
5
for(; ;){
6
  // 구문 무한루프
7
}
Read more »

Java Random

랜덤하게 수를 정해주는 클래스입니다. 먼저 Random random = new Random()하여 메모리를 확보해줍니다.

정수형 랜덤값

int r_number = random.nextInt()
무작위의 정수값을 r_number에 넣어줍니다.음수, 양수 상관없이 모두 나옵니다. 이를 방지하기 위해 nextInt의 괄호안에 수를 넣어주면 0부터 넣어준 수의 -1한 만큼의 수만 나오게 됩니다.
예를 들어 int r_number = random.nextInt(10) 이라면 0 ~ 10 사이의 랜덤한 값이 출력됩니다.
image

Java Scanner

  • Scanner는 Java에서 기본적으로 사용되는 입력받는 class변수 입니다.(import필요)
    1
    import java.util.Scanner;
    2
    3
    Scanner sc = new Scanner(System.in);
    Scanner변수 타입의 변수 sc에 새로운 Sanner 할당하기 위해 시스템에 요청 -> 메모리할당 받음
    Read more »

제어문(if, else if, else)

if문

1
if(조건){
2
  // 실행할 구문
3
}

조건은 true아니면 false 두가지 경우밖에 없습니다.
==, <, >, <=, >= 등의 부등호를 통해서 조건을 나타낼 수 있고, 바로 true, false 값을 줘서 조건을 표시 할 수도 있습니다.

image

Read more »

Java 변수와 상수

변수

  • 변수 = 변하는 수

프로그램이 실행되면 메모리를 사용하여 정보를 기억시킵니다. 메모리에 변수를 할당하고 필요할때마다 가져와서 사용합니다. 컴퓨터는 모든 신호를 숫자로 인지합니다.(컴퓨터는 1, 0 밖에 읽을 수 없습니다.)

Java는 변수를 선언할 때 선언할 변수안에 형태를 지정해줘야 합니다

image

Read more »

Java Print

자바 출력 화면

1
System.out.println("text"); // 괄호안의 쌍따옴표안의 문자열을 화면에 출력해주고 줄을 바꿔줌
2
System.out.print("text")
Read more »

Java

프로그래밍을 위한 언어로 객체 지향적 프로그래밍 언어입니다.

특징

자바 컴파일러는 자바 언어로 작성된 프로그램을 바이트 코드라는 특수한 바이너리 형태로 변환합니다. 변환된 바이트 코드를 실행하기 위해서는 JVM(자바 가상 머신)이라는 특수한 가상머신이 필요합니다. 이 가상 머신은 자바 바이트코드를 어느 플랫폼에서나 동일한 형태로 실행시킵니다. 떄문에 자바로 개발된 프로그램은 CPU나 운영체제의 종류에 관계없이 JVM을 설치할 수 있는 시스템 어디서나 실행할 수 있습니다.

Read more »

Servlet과 JSP의 개념

기능의 차이는 없고 역할의 차이만 있습니다.

Servlet이란?

  • Java코드 안에 HTML코드(하나의 클래스)
  • 웹 기반의 요청에 대한 동적인 처리가 가능한 Server Side에서 돌아가는 Java Program
  • 웹 개발을 위해 만든 표준

JSP란?

  • HTML코드안에 java코드
  • Java언어를 기반으로 하는 Server side 스크립트 언어
  • servlet을 보완하고 기술을 확장한 스크립트 방식 표준
    • servlet의 모든 기능 + 추가적인 기능

Servlet과 JSP의 차이

Servlet

  • Java코드 안에 HTML코드
  • Data processing(Controller)에 좋습니다.
  • DB와의 통신, Business Logic 호출, 데이터를 읽고 확인하는 작업 등에 유리합니다.
  • servlet이 수정된 경우 Java코드를 컴파일(.class 파일 생성)한 후 동적인 페이지를 처리하기 때문에 전체 코드를 업데이트하고 다시 컴파일 후 재배포하는 작업이 필요합니다.(개발 생산선 저하)

JSP

  • HTML코드 안에 Java코드
  • presentation(View)에 좋습니다.
  • 요청 결과를 나타내는 HTML 작성하는데에 유용합니다.
  • JSP가 수정된 경우 재배포할 필요가 없이 WAS가 알아서 처리합니다.(쉬운배포)

Servlet과 JSP의 관계

JSP만을 이용하는 모델

image

  • JSP가 사용자의 요청을 받아 Java Bean(DTO, DAO)을 호출하여 적절한 동적인 페이지를 생성
  • 동작 과정
    • JSP로 작성된 프로그램은 내부적으로 WAS에서 Servlet 파일로 변환
    • JSP태그를 분해하고 추출하여 다시 순수한 HTML 웹 페이지로 변환
    • 클라이언트로 응답
  • 특징
    • 개발 속도가 빠름
    • 배우기 쉬움
    • 프레젠테이션 로직(View)과 비즈니스 로직(Controller)이 혼재함
    • JSP코드가 복잡해져 유지 보수가 어려움

JSP와 Servlet을 모두 이용하는 모델(MVC Architecture)

image

  • JSP와 Servlet을 모두 사용하여 프레젠테이션 로직(View)과 비즈니스 로직(Controller)을 분리함
  • View(보여지는 부분)는 HTML이 중심이 되는 JSP를 사용
  • Controller(다른 자바 클래스에 데이터를 넘겨주는 부분)는 Java코드가 중심이 되는 Servlet을 사용
  • Model은 Java Beans로, DTO를 통해 Mysql과 같은 Data Storage에 접근

참고블로그: https://gmlwjd9405.github.io/2018/11/04/servlet-vs-jsp.html

배열(Array)와 리스트(List)의 차이

배열(Array)

  • 데이터를 나열하고, 각 데이터를 인덱스로 접근할 수 있도록 구성한 데이터의 구조입니다.
  • 같은 종류의 데이터를 효율 관리를 위해서 사용합니다.
  • 같은 종류의 데이터를 순차적으로 저장합니다.

장점

  • 인덱스 번호로 빠른 접근이 가능합니다.
  • 데이터의 위치에 대해 직접적인 접근이 가능합니다.

단점

  • 미리 배열의 크기를 지정해야하고 그로 인해 고정되어 있는 배열의 크기 때문에 데이터의 추가 및 삭제가 매우 불편합니다.
  • 데이터 추가 삭제 발생시에 놀고 있는 저장공간이 생길 수 있고 중간 값의 데이터를 삭제했을 경우 앞으로 당겨와야한다던지의 문제점이 있어 불편합니다.
Read more »

인터럽트의 정의와 종류, 처리과정

인터럽트란?

인터럽트는 프로그램을 실행하는 도중에 예기치 않은 상황이 발생할 경우 현재 실행중인 작업을 즉시 중단하고 발생된 상황을 우선 처리한 후 실행중이던 작업으로 복귀하여 계속 처리하는 것을 말합니다. 인터럽트는 외부, 내부, 소프트웨어 인터럽트로 분류합니다. 외부나 내부 인터럽트는 CPU의 하드웨어에서의 신호에 의해 발생하고 소프트웨어 인터럽트는 명령어의 수행에 의해 발생합니다.

Read more »