본문 바로가기
5.1 대외활동/Likelion(12기 세션자료)

[Eulji_LikeLion_2024_BackEnd] 1차-(1) 개발환경,JAVA 기초

by Dohi._. 2024. 3. 2.
728x90

1차-(1) 목차  

  1-1 개발환경

    1) openJDK 설치 

    2) 인텔리제이 (Intellij) 

 

  1-2 JAVA 기초

    1) 변수와 자료형

    2) 연산자

    3) 조건문

 

1-1 개발환경 

1) openJDK 설치

 

저희는 추후 SpringBoot 3버전을 이용 할 예정이기 때문에 17이상을 설치 해야합니다
Java17(LTS)를 설치해봅시다

용어정리
JDK : Java Development Kit
openJDK : 무료 오픈 소스 JDK 
LTS : Long Term Support 

 

설치 링크 
Zulu에서 제공하는 open  https://www.azul.com/downloads/#zulu
MicroSoft 에서 제공하는 openJDK https://www.microsoft.com/openjdk

 

설치링크에서 각자 컴퓨터의 환경에 맞게 설치파일을 받고 설치를 마무리 해봅시다.

설치후에 

명령프롬트창(윈도우기준 검색->cmd)에서 java --version을 입력해서 정상 설치되었는지 확인하고

javac --version을 입력해서  java --version과 동일한지 한 번 더 확인해줍니다 

아래 사진과 같이 정상적으로 확인이 되었다면 아래 참고 포스팅은 넘어가줍니다. 

 


참고 포스팅 

설치한 버전이 아닌 다른 버전의 java가 나왔을 경우

환경변수 설정이 필요한 경우로 판단 됩니다.

( JAVA_HOME 등 Part설정은 WAS 같은 곳에 기본 사용되는 JAVA를 설정합니다)

Window 검색에서 시스템 환경을 검색하면

시스템 환경 변수 편집이 나옵니다

 

환경변수 (N) -> 시스템 변수에 JAVA_HOME(없다면 새로만들기) ->확인 다누르고 마지막에 적용누르고 나오기

필요한 경우 시스템 환경변수에서 Java_Home 설정 해줍니다 
Window 검색에서 시스템 환경을 검색하면
시스템 환경 변수 편집이 나옵니다C:\Program Files\Zulu\zulu-17 의 경로는 jdk설치경로입니다
각자의 설치 경로에 맞게 설정해 주세요.

 


2) Intellij 설치 (IDE설치)

Java를 개발할 때 주로 사용하는 IDE(통합개발환경 / integrated development environment)는 

eclispe와 Intellij를 주로 많이 씁니다 

이번세션에는 Intellij를 소개해드리려고 합니다

자신이 사용하는 IDE가 있다면 따라 안하셔도 무방합니다.

설치 주소 : https://www.jetbrains.com/ko-kr/idea/download/#section=windows

 

무료버전(Community Edition)을 사용해도 무방하기 때문에 무료버전을 설치해도 됩니다.

만약 대학생이시라면 교육 관련으로 대학생인증하면 1년마다 무료로 ultimate를 제공합니다.

따라서 교육인증을 해서 사용하는 것을 추천합니다.

 

설치도중 체크박스 부분 해석입니다.

참고하고 체크하시면 도움이 될 것 같습니다 

이미 설치를해서 사진은 무료버전으로 다시 설치해서 사진을 따왔습니다.



① Create Desktop Shortcut : 바로가기 생성 여부

 Update context menu : 프로젝트로 폴더 열기

 Create Association : 자바 사용 (본인이 사용할 환경 선택)

 Update PATH variable(restart needed) : 윈도우 환경변수에 자동으로 추가할 수 있도록 체크

 

그 후 next를 누르시면 마무리하면 설치까지 완료됩니다

 


1-2 JAVA 기초

1) 변수와 자료형

 

변수: 데이터를 저장하는 공간이며 사용 및 선언 방법이 C언어와 동일하다.

int a=20; // 정수형 변수 a 선언후 20으로 초기화
char b; // 문자형 변수 b 선언

식별자(identifier): 클래스,변수,상수,메소드에 붙이는 이름

식별자 이름 규칙

  • '_'와 '$'를 제외한 특수문자, 공백은 사용 할 수없다.
  • 예약어(if,class등),null,true,false는 식별자로 사용할 수 없다.
  • 식별자의 첫 번째 문자에 숫자는 사용할 수 없다
  • 대소문자를 구분합니다.
  • 길이제한이 없음.

자료형(data type)

자바에서 다룰 수 있는 데이터의 종류이며 기본형(Basic type)8개와 참조형 (reference type)1개가 있다.

 

기본형

  • 이름 /메모리 공간 / 데이터 값의 범위
  •  논리형
    • boolean  / 1비트 / ture 또는 false 
  • 문자형
    • char / 2바이트 / 유니코드
  • 정수형
    • byte / 1바이트 / -128~127
    • short / 2바이트 / -32768~32767
    • int / 4바이트 / -2^31~(2^31)-1
    • long / 8바이트 /  -2^63~(2^63)-1
  • 실수형
    • float / 4바이트 / -3.4E38~3.4E38
    • double / 8바이트 / -1.7E308~ 1.7E308

 

참조형

참조형은 한 가지이지만 세경우로 주로 이용된다.

  • 배열에 대한 참조
  • 클래스에 대한 참조
  • 인터페이스에 대한 참조

참조(Reference)는 C언어의 포인터와 비슷하지만 실제 주소를 가지는 것은 아니다.

자세하게 다루기 어렵기 때문에 지금은 주소 값정도로 생각하고 넘어가는 것이 좋을 듯합니다.

 

문자열(String)

문자열은 기본형에 속하지 않으며 JDK에서 제공하는 String 클래스를 이용한다.

public static void main(String[] args) {
	//문자열 생성 둘다 가능하다.
	String str1 = "abcd";
	String str2 = new String("abcd");

	//차이는 무엇인지 실습으로 알아보자
	String str3 = "abcd";

	if(str1.equals(str2)){
		System.out.println("1번은 True");
	}

	if(str1==str2){
		System.out.println("2번은 True");
	}
	if(str1==str3){
		System.out.println("3번은 True");
	}
    
}
//돌려보고 왜 그런가 생각해보기

2) 연산자

연산자 실행해보기

자바의 연산종류와 연산자 

//증감
++  -- //예시  a++    ++c  둘의 차이점은 실습을 통해 알아가보자
//산술
+  -  *  /  %
//시프트
>>   <<   >>>
//비교
>   <   >=   <=   ==  !=
//비트
&  |  ^  ~
//논리
&&  ||  !  ^
//조건
? :   //예시 c = a>b? a:b;
//대입
= *=  /=  +=  -=  &=  ^=  |= <<=  >>=  >>>=

 

 


3) 조건문

 

조건문이란 조건의 참과 거짓에 따라 서로 다른 작업을 수행할 수 있는 문장입니다.

자바의 조건문은 if-else문과 switch문으로 분류됩니다

  

단순 if문 

if(조건식){
 실행문장; //조건식이 참인경우 실행
}

if-else문 

 

if(조건식){
 실행문장; //조건식이 참인경우 실행
}
else{
  실행문장; //조건식이 거짓인경우 실행
}

 

다중 if-else문 

if(조건식1){
 실행문장; //조건식1이 참인경우 실행
}
else if(조건식2){
  실행문장; // 조건식1이 거짓이고 조건식2가 참인경우 실행
}else {
  실행문장; // 모든 조건식이 거짓인 경우 실행
}

 

실습 문제
나이와 점수를 받고 if-else문을 이용하여

점수가 50점 이상일 경우 합격, 아닐경우 불합격,

25세 이상일경우에는 60점이상일 경우 합격이 출력되도록 하시오

import java.util.Scanner;

public class test{
	public static void main(String[] args){
    	Scanner sc = new Scanner(System.in);
        System.out.println("나이를 입력하세요:");
		int age = sc.nextint();
        System.out.println("점수를 입력하세요:");
		int score = sc.nextint();
        
        //if를 이용하여 문제를 풀어보시오
        
        
        
        
        
        //
        sc.close();
    }
}

 

출력결과

//입력 27 59
불합격

// 입력 21 50
합격

//입력 20 49
불합격

 

swich문

switch(식){
	case 값1: //식이 값1과 같을경우
    	실행문장1;
        break;// switch문을 탈출함
        
	case 값2://식이 값2과 같을경우
    	실행문장2;
        
	case 값3:
    	실행문장3;
        break;// switch문을 탈출함
        
	case 값4:
    	실행문장4;
        
	default: //어느 것도 같이 않을 경우
    	실행문장5;
        
}

 Swich실행해보기

흔히 switch-case문으로 많이 불리고 들어보셨을거에요

 Swich의 식의 결과값이 case문에 있는 값과 동일 한 곳으로 이동한다!라고 이해하시면 됩니다

 

위에 예시코드를 봤을때

어디에는 break; (break문)이 있고 어디에는  안넣었는데요

break문은 switch문을 벗어나도록 지시합니다

 

예시를 들면 switch의 식의 결과값이 값1과 동일 할 때

실행문장1을 실행하고 break로 인해 switch문을 벗어납니다.

 

Break문이 없는 값 2인경우에는

실행문장2를 실행하고 break문을 만날 때 까지 실행문장 3도 실행하고 break문으로 인해 switch를 벗어납니다.

 

즉, Break문은 사용에 따라 문법을 탈출하는 용도로 사용할 수있습니다.

(default에는 break가 없는 이유는 마지막 문장이기 때문에 생략이 가능합니다.)

 

그럼 Case에는 다 넣어도 되나? case문에도 규칙이 있습니다.

case문에는 정수 리터럴,문자 리터럴, 문자열 리터럴(JDK1.7이상)이 허용됩니다.

즉슨 case문에는 변수와 식을 사용할 수 없다는 뜻입니다.

 

리터럴이란 프로그램에 직접 표현한 값으로 예를 들어 다음과 같다.
34, 23.22, '가', true, "goodDay"

 

 

실습 문제
switch문을 이용하여

1~5사이의 점수를 받아 점수가 3점 이상일 경우 P, 3점미만 1점이상일경우 NP,

그외의 값을 error라고 출력되게 하시오

import java.util.Scanner;

public class test{
	public static void main(String[] args){
    	Scanner sc = new Scanner(System.in);
        System.out.println("점수(1~5)를 입력하세요:");
		int score = sc.nextint();
        
        //switch를 이용하여 문제를 풀어보시오
        
        
        
        
        
        //
        sc.close();
    }
}

출력결과

//입력 4
P

// 입력 2
NP

//입력 0
error

 


이 글은 을지대학교 백엔드 세션 강의를 위해 제작된 게시글입니다 
언제나 조언부탁드립니다

 

 

728x90

댓글