조컴퓨터

20200803-07 JAVA 코딩기초 (Ⅰ) 본문

자바 웹개발자 과정

20200803-07 JAVA 코딩기초 (Ⅰ)

챠오위 2020. 8. 24. 23:57

앞서 프로그램 언어를 사용하기에 앞서 고려해야 할 요소 두 가지가 있다고 하였다.

①어떤 언어를 사용할 것인가?

②어떤 코딩 도구를 이용할 것인가?

 

[Java 개발 환경 구축]

1) 자바 개발 도구

   oracle.com

   JAVA Standard Edition - JavaSE

   JAVA Enterprise Edition - JavaEE (JSP코딩)

   Android JAVA

   GO, 코틀린

 

 

1-1) 개발 도구 설치 https://www.oracle.com/

Oracle.com 페이지 하단의 What's New - Java SE14 download 선택

Oracle의 경우 반드시 회원가입이 필요하다.

 

 

1-2) Java SE11 (LTS)의 JDK Download를 선택한다. Java SE 8u261을 받아도 된다.

 

 

1-3) Windows x62 Installer 파일을 다운받는다. 오늘날 대부분의 컴퓨터는 64비트 운영 체제를 유지한다.

 

 

1-4) 오라클 자바 스텐다드 애디션에 대한 라이센스 동의를 선택한 후 다운받으면 된다.

   ※ JDK 삭제 : 제어판 → 프로그램 제거

 

 

 

2) 코딩 도구 - Eclipse

 

2-1) 코딩 도구 설치 https://www.eclipse.org/

eclipse.org 홈페이지 하단의 Other - IDE and Tools를 선택

 

2-2) 사용하는 환경에 맞는 다운로드를 선택한다. (Desktop IDEs)

 

 

2-3) 가장 최근 항목을 다운받으면 된다. 

 

 

2-4) 64 bit를 다운받는다.

 

2-5) Download 선택 (접속이 일시적으로 많을 경우 Mirror site 이용 가능)

 

 

컴퓨터는 신호체계(0, 1)로 구성되어 있다.

예를 들어, 사람이 사용하는 신호는 A이면 컴퓨터가 사용하는 신호는 01000001이다.

 

Source Program : 사람이 인식하는 신호로 구성한 프로그램

Object Program : 컴퓨터가 인식하는 신호로 구성한 프로그램

Compile : Source Program을 Object Program으로 번역

 

 

번역기(Compiler)의 종류

Interpreter - 한 줄 읽고 번역 

                 예) Python, R, Javascript

Compiler - 전부 읽고 번역

                 예) Java, C++

                            번역
.java               -----------------> .class //목적 프로그램
Welcome.java                          Welcome.class 

 

[일시적인 자바 연동]

cmd 명령프롬프트

>cd\basic0803

>path C:\Program Files\Java\jdk-11.0.8\bin

>javac //자바 경로 설정 확인

>java -version //자바 버전 확인

 

>javac Welcome.java //번역

>java Welcome //프린트

 

public class Welcome {
    public static void main(String[] agrs){
        System.out.print("Korea"); 
    }//main() end
}//class end
[cmd]
>java Welcome
Korea

 

 

Java의 기본 자료형 타입은 다음과 같다.

 

1) 정수형
int a=3;
System.out.println(a); //3
System.out.println("a: "+ a); //a: 3


2) 실수형
double b=1.2;
System.out.println("b: "+ b); //b: 1.2


3) 문자형
char ch='A';
System.out.println("ch :" + ch); //ch: A


4) 문자열형
String str="KOREA";
System.out.println("str: " + str); //str: KOREA


5) 논리형
boolean flag=true;
System.out.println("flag:" + flag); //flag:true

 

문제1) 성적프로그램
String name="채치수"
int kor=90, eng=100, mat=85;
double aver=(kor+eng+mat)/3;

System.out.println("이름:" + name);
System.out.println("국어:" + kor);
System.out.println("영어:" + eng);
System.out.println("수학:" + mat);
System.out.println("평균:" + aver);

/*
	이름:채치수
	국어:90
	영어:100
	수학:85
	평균:91.0 //double
*/

 

한글 인코딩 방식은 크게 두 가지로 나뉜다.

① UTF-8
② EUC-KR, MS949

 

이는 한글 표현에 따라 조합형(①)과 완성형(②)으로 불린다.

 

조합형은 한글의 자음과 모음을 초성, 중성, 종성으로 구분하여 문자를 작성하는 방식이다.

이때 초성, 중성, 종성을 각기 따로 인식하며 이들을 하나의 바이트로 조합하는데, 이때의 한글은 3바이트의 문자이다.

 

완성형은 완성된 형태의 글자를 문자로 인식하는 방식이다. 예를 들어, 한글 "가", "갸", "거" 등의 만들어질 수 있는 글자를 문자로 인식한다는 것이다. 유니코드보다 확장성이 떨어지는데, 만약 "뷁"과 같은 글자가 완성형 문자표에 없다면 "□"의 형식으로 표기된다.

 

 

이번 페이지에서만 코딩 도구로 Visual Studio Code를 사용할 것이다.

Visual Studio Code의 기본 포멧은 UTF-8의 인코딩 방식인데, 한글을 사용하기 위해서는 프로그램 왼쪽 하단의 UTF-8을 선택하여 EUC-KR로 변경해주면 된다.

 

Visual Studio Code에서 한글을 사용할 수 있게 되었다. 그러나 코딩값은 출력되지 않는다.

그 이유는 PATH 연결이 되어 있지 않기 때문이다.

 

내가 현재 위치하는 곳에 존재하는 명령어만 사용할 수 있기 때문에 PATH로 명령어가 있는 장소와 현위치를 연결해주어야 한다. 즉, 다른 곳에 있는 명령어를 사용하기 위해 연결하는 것이다.

 

즉, 자바 개발 환경 구축은 javac.exe를 사용하기 위해서 그리고 bin 디렉터리 내에 있는 자바 전용툴을 사용하기 위해서 PATH를 지정하는 것이다.

 

 

 

[자바 개발 환경 구축] 

1) 내PC → 속성

 

2) 고급 시스템 설정

 

3) (하단) 환경 변수

 

4) (시스템 변수에 Java-home이 없으면) 새로 만들기

 

5) 변수 이름 : JAVA_HOME

    변수 값   : C:\Program Files\Java\jdk-11.0.8

변수 값은 내 컴퓨터의 Java\jdk-11.08의 위치이다. 차이가 있을 수 있다.

 

6) Path 변수 선택 후 편집 클릭

 

7) 새로 만들기

 

 

8) %JAVA_HOME%\bin

 

 

9) 상단으로 옮김

 

10) 확인 클릭(완료)

 

 

[PATH 지정 확인]

1) cmd명령프롬프트에서 javac -version 입력

내 컴퓨터의 java version은 "11.0.8"임을 확인할 수 있다.

 

2) 그 다음 javac 입력한다.

이런 화면이 나왔다면 정상적으로 PATH가 지정되었다.

 

Path 지정까지 완료했으므로 코딩을 진행한다.

 

 

 

문제의 조건이 다음과 같을 때, 다음 문제를 풀어보시오.

문제1) 평균 95점 이상일 때 장학생이다. 채치수 학생이 장학생인지 알아보시오.

문제2) 국어점수 70점 이상이면 합격, 아니면 불합격이다. 채치수 학생의 합격, 불합격 여부를 알아보시오.

문제3) 평균점수에 따라 학점을 구해보시오.

         (90점 이상: A학점, 80점 이상: B학점, 70점 이상: C학점, 60점 이상: D학점, 60점 미만: F학점)

 

String name="채치수";
int kor=95, eng=100, mat=80;
int aver=(kor+eng+mat)/3;
		
System.out.println("이름:" + name);
System.out.println("국어:" + kor);
System.out.println("영어:" + eng);
System.out.println("수학:" + mat);
System.out.println("평균:" + aver);

/*
	이름:무궁화
	국어:95
	영어:100
	수학:80
	평균:91
*/

 

문제1) 평균 95점 이상일 때 장학생이다. 채치수 학생이 장학생인지 알아보시오.

if(aver>=95) {
	System.out.println("장학생");
}//if end

//장학생이 아니므로 데이터 없음

 

문제2) 국어점수 70점 이상이면 합격, 아니면 불합격이다. 채치수 학생의 합격, 불합격 여부를 알아보시오.

if(kor>=70) {
	System.out.println("국어:합격");
}else {
	System.out.println("국어:불합격");
}//if end

//국어:합격

 

문제3) 평균점수에 따라 학점을 구해보시오.
      (90점 이상: A학점, 80점 이상: B학점, 70점 이상: C학점, 60점 이상: D학점, 60점 미만: F학점)

if(aver>=90) {
	System.out.println("결과:A학점");
}else if(aver>=80) {
	System.out.println("결과:B학점");
}else if(aver>=70) {
	System.out.println("결과:C학점");
}else if(aver>=60) {
	System.out.println("결과:D학점");
}else {
	System.out.println("결과:F학점");
}//if end

//결과:A학점

 

 

 

다음은 반복문에 관련된 예제 2가지와 과제 1문제를 풀어보았다.

 

예제1) JAVA를 5번 출력하시오.

for(int a=1; a<=5; a=a+1) {
	System.out.println("JAVA");
}//for end

/*
	JAVA
	JAVA
	JAVA
	JAVA
	JAVA
*/

 

예제2) 구구단 4단을 출력하시오.

int dan=4;
for(int a=1; a<=9; a=a+1) {
	System.out.println(dan+"*"+a+"="+(dan*a));
}//for end

/*
	4*1=4
	4*2=8
	4*3=12
	4*4=16
	4*5=20
	4*6=24
	4*7=28
	4*8=32
	4*9=36
*/

 

 

과제1) 구구단 2 ~ 9단을 출력하시오.

for(int dan=2; dan<=9; dan=dan+1){
	System.out.println(dan+"단");
	for(int i=1; i<=9; i=i+1){
		System.out.println(dan+"*"+i+"="+(dan*i));
	}//for end
	System.out.println("");
}//for end

/*
	2단
	2*1=2
	2*2=4
	2*3=6
	2*4=8
	2*5=10
	2*6=12
	2*7=14
	2*8=16
	2*9=18

	3단
	3*1=3
	3*2=6
	3*3=9
	3*4=12
	3*5=15
	3*6=18
	3*7=21
	3*8=24
	3*9=27

	(생략)
*/

 

 

 

다음은 배열을 선언하고 값을 저장해 보았다.

 

//배열 선언
int[] kor= {10,20,30};
System.out.println(kor[0]);
System.out.println(kor[1]);
System.out.println(kor[2]);

//값 저장
for(int i=0; i<=2; i=i+1) {
	System.out.println(kor[i]);
}//for end

/*
	10
	20
	30
	10
	20
	30
*/

 

 

 

 

문제의 조건이 다음과 같을 때, 평균을 포함한 세 명의 성적프로그램을 만들어 보시오.

 

 

String[] name= {"차범근", "박지성", "손흥민"};
int[] kor = {100,95,90};
int[] eng = {100,85,70};
int[] mat = {60,75,100};
int[] aver= {86,85,86};

 

//평균구하기
for(int i=0; i<=2; i=i+1) {
	aver[i]=(kor[i]+eng[i]+mat[i])/3;
	System.out.println(aver[i]);
}//for end

/*
	86
	85
	86
*/
        
        
        
//출력하기
for(int i=0; i<=2; i=i+1) {
	System.out.println(name[i]);
	System.out.println(kor[i]);
	System.out.println(eng[i]);
	System.out.println(mat[i]);
	System.out.println(aver[i]);
}//for end

/*
	차범근
	100
	100
	60
	86

	박지성
	95
	85
	75
	85

	손흥민
	90
	70
	100
	86

*/

 

*본격적인 Python*

'자바 웹개발자 과정' 카테고리의 다른 글

200812 OT  (0) 2020.08.26
20200803-07 Python 코딩기초 (Ⅱ)  (1) 2020.08.21
20200803-07 Python 코딩기초 (Ⅰ)  (0) 2020.08.19