gitbash

ubuntu 

aws서버 사용


서버연결

먼저 SSL알고 넘어가기

HTTPS 와 HTTP

- HTTP(Hypertext Transfer Protocol)는 암호화 되지 않은 방법으로 데이터를 전송한다. 즉, 보안이 취약하다.

이를 보안하기 위해 HTTPS(Hypertext Transfer Protocol Secure)가 있다.

 

HTTPS와 SSL

- HTTPS는 SSL 프로토콜 위에서 돌아가는 프로토콜

 

SSL

클라이언트와 서버간의 통신을 제 3자가 보증해주는 문서. 

인증서에는 서비스의 정보, 서버 측 공개키가 담겨있다.

 

SSL은 데이터 전송을 위해 공개키와 대칭키를 사용한다. 

대칭키- 실제 데이터, 공개키 - 대칭키의 키

 


PEM파일 만들기

프라이빗 키를 담을 pem파일을 생성한다. 

- 키 페어를 잃어버린 경우에는 Amazon EMR클러스터의 마스터 노드에 연결할 수 없다.

.pem : 개인정보 강화 인증서 파일

$ code cert.pem

부여받은 RSA PRIVATE KEY 키를 생성된 cert.pem에 담고 저장한다.

 


 

http://54.180.138.195/server.html 에서 부여받은 IP주소를 찾기위해 지정된 VM name (T~)검색

총 두개의 배포 주소가 나온다.

01 - 프론트 서버 주소

02 - 백엔드 서버 주소

여기서 우린 public IP를 가져와 사용할 것이다.

 


ssh

시큐어셀(Secure Shell, SSH)란,

컴퓨터와 컴퓨터가 인터넷과 같은 public Network를 통해 통신할 때,

네트워크 상의 다른 컴퓨터에 로그인할 경우, 

원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는

응용 프로그램 또는 프로토콜

private key와 public key를 통해 접속하려는 컴퓨터와 인증과정을 거친다.

 

ssh로 인증서 인증하기

$ ssh -i cert.pem ubuntu@`부여받은 publicIP 넣기`
yes

nginx를 사용하기 위해

- nginx란, 웹서버의 역할

- 요청을 배분하기 위해 사용-> 버퍼링 제거

- 정적 파일을 처리하는 HTTP서버로서 역할

- 서버에 요청을 보내는 리버스 프록시 역할 :

클라이언트가 가짜 서버에 요청, 프록시 시버가 배후 서버에서 데이터 가져오기

 

AWS에 nginx 설치하기

//설치된 패키지 업데이트
sudo apt update
//nginx 설치
sudo apt install nginx
y

 

해당 IP로 들어가보면

Welcome to nginx! 라는 문구와 함께 서버가 작동 되는 것을 볼 수 있다.

 

서버연결 완료



배포할 파일 서버에 담기

서버에 배포파일 폴더 위치 찾기

cd /var/www/html/
ls
index.nginx-debian.html
//파일 수정해서 연결 됐는지 확인해보려면
sudo vi index.ngons-debian.html
i // 수정하기
esc //수정 끝
:wq //수정사항 저장

뷰파일을 배포할 파일로 만들어준다.

git bash창을 하나 더 연다.

 

파일 먼저 찾아 들어가기, build하기

//파일 찾아 들어가기
$ cd wemobile-final
//빌드
$ npm run build
//Done~~~ 확인

폴더경로로 찾아가 dist파일을 압축한다.

$ ls //파일 경로 확인하기
$ dist파일 있는지 확인

폴더 경로로 들어가서 dist 파일 압축하기

압축된 파일을 cert.pem 파일이 생성된 폴더로 옯겨준다.



파일 보내기

scp로 파일계정에 사용경로, 목적 경로 지정

<지정파일 배시 창>

$ scp -i cert.prm dist.zip ubuntu@`부여받은 public IP`:~

dist.zip 파일이 있는지 확인해본다.

<우분투 배시창>

$ cd home
$ ls
//ubuntu
$ cd ubuntu
//dist.zip

 

마지막으로 zip파일의 압축을 풀어준다.

//dist.zip 압축 풀기
$ unzip dist.zip
//압축을 풀기위한 unzip 기능 
$ sudo apt install unzip
$ unzip dist.zip

$ sudo apt install unzip

dist에 있는 모든 파일을 현재 위치에 카피한다.

$ cd /var/www/html/
$ ls
index.nginx-debian.html
$ sudo cp -rf ~/dist/* ./

불필요한 파일 삭제

$ rm index.nginx-debian.html

이제 서버 사이트에 들어가면 정상적으로 작동된다.

목차

1) while문과 break - 무한루프

2) while문과 break - 읽힐 수 없는 코드 

3) while문과 break - 조건문 탈출

4) while문 예제


1. while문과 break

package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/*while*/
		
		int num = 0;
		
		//조건을 만족하면 실행문을 실행한다.
		while(true) {
			System.out.println("호랑이"+" "+num);
			num += 1;
		}
		//실행문을 멈춰줄 장치가 없다 => 무한루프에 빠진다.
		
	}
}

2. while문과 break - 읽힐 수 없는 코드

package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/*while*/
		
		while(true) {
			System.out.println("호랑이1");
			System.out.println("호랑이2");
			System.out.println("호랑이3");
			break; //이 순간 while문을 빠져나간다.
			//System.out.println("호랑이4"); // 읽힐 수 없는 코드
			/*Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
			Unreachable code*/
		}
		
		
	}
}

3. while문과 break - 조건문 탈출

package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/*while*/
		
		int num = 0;
		while(true) {
			System.out.println("호랑이"+" "+num);
			if(num>3) {
				break; //이 순간 조건문을 빠져나간다.
			}
			num++;
			System.out.println("앵무새"+" "+num);
			System.out.println("-------------");
		}
		System.out.println("프로그램을 종료합니다.");		
		
		/*출력
		호랑이 0
		앵무새 1
		-------------
		호랑이 1
		앵무새 2
		-------------
		호랑이 2
		앵무새 3
		-------------
		호랑이 3
		앵무새 4
		-------------
		호랑이 4
		프로그램을 종료합니다. */
	}
}

이렇게 사용시 break필요 없다.

package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/*while*/
		
		int num = 0;
		while(num<3) {
			System.out.println("호랑이"+" "+num);
			num++;
			System.out.println("앵무새"+" "+num);
			System.out.println("-------------");
		}
		System.out.println("프로그램을 종료합니다.");		
		
		/*출력
		호랑이 0
		앵무새 1
		-------------
		호랑이 1
		앵무새 2
		-------------
		호랑이 2
		앵무새 3
		-------------
		프로그램을 종료합니다.
		 */
	}
}

반복횟수를 아는 경우 for문으로 가능하다.

package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/*while*/
		
		int num = 0;
		while(num<3) {
			System.out.println("호랑이"+" "+num);
			num++;
			System.out.println("앵무새"+" "+num);
			System.out.println("-------------");
		}
		System.out.println("프로그램을 종료합니다.");		
		
		//반복 횟수를 아는 경우 for문으로 가능하다.
		for (int i = 0; i < 3; i++) {
			System.out.println("호랑이"+" "+i);
			System.out.println("앵무새"+" "+(i+1));
			System.out.println("-------------");
		}System.out.println("프로그램을 종료합니다.");
		
		/*출력
		호랑이 0
		앵무새 1
		-------------
		호랑이 1
		앵무새 2
		-------------
		호랑이 2
		앵무새 3
		-------------
		프로그램을 종료합니다.
		 */
	}
}

 


4. while문 예제

4-1. 반복 횟수를 모를 경우 입력 받은 숫자 짝수와 홀수 구분하기

package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		//예제 1 반복횟수를 모를 때 짝수와 홀수 구분하기
		while(true) {
			System.out.println("짝수인지 홀수인지 알려줄게, 종료하려면 999 입력");
			
			int input = (new Scanner(System.in)).nextInt();
			
			//조건문 탈출 조건
			if (input==999) {
				System.out.println("프로그램을 종료합니다.");
				break;
			}
			
			if(input%2==0) {
				System.out.println(input+" 은 짝수입니다.");
			}else {
				System.out.println(input+" 은 홀수입니다.");
			}
			System.out.println("-----------------");
		}
		
		/*출력결과
		짝수인지 홀수인지 알려줄게, 종료하려면 999 입력
		33
		33 은 홀수입니다.
		-----------------
		짝수인지 홀수인지 알려줄게, 종료하려면 999 입력
		22
		22 은 짝수입니다.
		-----------------
		짝수인지 홀수인지 알려줄게, 종료하려면 999 입력
		99
		99 은 홀수입니다.
		-----------------
		짝수인지 홀수인지 알려줄게, 종료하려면 999 입력
		999
		프로그램을 종료합니다. */
		
	}
}

4-2. 

'프로그래밍 언어 문법 > Java' 카테고리의 다른 글

009. 배열  (0) 2019.07.11
008. 난수Math.random(), switch제어문  (0) 2019.07.11
007. new Scanner(), ASCII CODE, for문 예제  (0) 2019.07.05
006. 제어문-for문  (0) 2019.07.05
005. 4대 제어문- if문  (0) 2019.07.04

목차

1) 변수 생성 :  int [] apple = new int[개수];

2) 변수 사용하기

3) 배열의 크기 알기


1. 변수 생성

package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/*배열*/
		
		//40개의 변수를 만들려면 ??
		int a = 1;
		int b = 2;
		
		//배열을 사용하면 간편하다.
		//apple이라는 배열에 40 개 생성
		int [] apple = new int[40];
		
		//변수 사용하기
		apple[0] = 100;
		apple[11] = 200;
		apple[30] = 300;
		apple[39] = 400;

		//배열의 범위는 0 ~ 지정개수-1 => 총 개수 :지정개수
		/*apple[40] = 400; 배열 범위 오류
			Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 40
		at PACK01.Hello01.main(Hello01.java:22)
		*/
	}
}

2. 배열의 사용

package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/*배열*/
		
		//컴퓨터에게 10개의 메모리 받기
		int [] banana = new int[10];
		
		//변수 사용하기
		banana[0] = 100;
		banana[5] = 200;
		banana[8] = 300;
		banana[9] = 400;
		
		//변수 10개 편하게 출력
		for (int i = 0; i < 10; i++) {
			System.out.println(i + " " +banana[i]);
		}
	}
}

3. 배열의 크기 알기

package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/*배열*/
		
		//배열의 생성방법
		int [] apple = new int[8]; //방법 1
		int [] banana = {10,20,30,40}; //방법 2
		
		//배열의 크기 알기
		System.out.println(apple.length); //8
		System.out.println(banana.length); //4
		
		//배열의 사용
		
		/*이렇게 사용하면 배열의 범위를 넘어가는 위험이 있다. 
		for (int i = 0; i < 10; i++) {
			System.out.println(banana[i]);
		}
		Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
		at PACK01.Hello01.main(Hello01.java:20)
		*/
		
		for (int i = 0; i < banana.length; i++) {
			System.out.println(banana[i]);
		}
	}
}

'프로그래밍 언어 문법 > Java' 카테고리의 다른 글

010. while문  (0) 2019.07.11
008. 난수Math.random(), switch제어문  (0) 2019.07.11
007. new Scanner(), ASCII CODE, for문 예제  (0) 2019.07.05
006. 제어문-for문  (0) 2019.07.05
005. 4대 제어문- if문  (0) 2019.07.04

목차

1) 난수 뽑기 : Math.random() ;

2) switch 제어문

3) switch 예제


1. 난수 출력

package PACK01;

public class Hello01 {

	public static void main(String[] args) {
		// 소수점 0.0~1.0사이의 난수 랜덤으로 뽑는다.
		for (int i =0; i<3; i++) {
			double a = Math.random();
			System.out.println(a);
			//0부터 100사이의 수
			System.out.println(a*100);
		}
		/*출력
		0.5677029739986956
		56.77029739986956
		0.9573209783605554
		95.73209783605554
		0.5416722849353616
		54.16722849353616
		*/
		
		// 정수값으로 바꾸기 - int 사용
		for (int i = 0; i < 3; i++) {
			double b = Math.random();
			System.out.println(b);
			//0부터 100 사이의 정수
			System.out.println((int)(b*100));
		}
		/*출력
		0.9648125241685322
		96
		0.8673063552233805
		86
		0.10506136384771025
		10 */
	}
}

주사위 예제

package PACK01;

public class Hello01 {

	public static void main(String[] args) {
		//주사위 번호 랜덤 6개 뽑기
		for (int i = 0; i < 6; i++) {
			double n = Math.random();
			System.out.println((int)(n*6)+1);
		}
		/*출력
		1
		6
		1
		6
		2
		2 */
	}
}

2. switch문 

1.case 뒤에 변수를 사용할 수 없다.

2.숫자를 중복해서 쓸 수 없다.

3.break를 쓰지 않으면 계속 진행이 되버린다.

4.의도적으로 출력하고 싶을 때 break를 생략한다.

5.default break는 생략 가능하지만 가급적 사용

6.case에서 실행할 문장이 한 줄 이상일 경우에는 스코프를 사용한다.
  일반적으로 스코프를 사용한는 것이 좋다.

7.break와 case 사이에 공백을 준다.

8.else - if문이 switch문을 바뀔 수 있다면 switch문을 사용한다.
  switch문이 프로그램 효율이 더 뛰어나다.
package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/*switch 제어문*/

		System.out.println("----break를 거는 경우----");
		int value = 5;
		switch(value) {
		case 5: //변수와 값이 일치하면 해당 case 실행문을 작동시킨다.
			System.out.println("사과");
			break; //break는 switch문 종료를 위해 사용된다.
		case 4:
			System.out.println("배");
			break;
		default:
			System.out.println("딸기");
			break;
		}
		
		//switch문의 case에 break를 하지 않을 경우 fall through
		System.out.println("----break를 하지 않을 경우----");
		int v = 4;
		switch(value) {
		case 5:
			System.out.println("사과");
		case 4:
			System.out.println("배");
		default:
			System.out.println("딸기");

		}
		
		/*출력
		----break를 거는 경우----
		사과
		----break를 하지 않을 경우----
		사과
		배
		딸기
		*/
	}
}

switch문 예제 1

package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		//키보드로 숫자 입력받아 switch문
		
		/*키보드로부터 숫자를 입력
		10이 입력되면 호랑이
		20이 입력되면 코끼리
		30이 입력되면 앵무새
		나머지 숫자는 야옹*/
		
		System.out.println("숫자를 입력하세요.");
		int input = (new Scanner(System.in)).nextInt();
		System.out.println("입력한 숫자 : "+input);
		
		switch (input) {
		case 10:
			System.out.println("호랑이");
			break;
            
		case 20:
			System.out.println("코끼리");
			break;
            
		case 30:
			System.out.println("앵무새");
			break;
            
		default:
			System.out.println("야옹");
			break;
            
		}
		
		/*출력
		숫자를 입력하세요.
		55
		입력한 숫자 : 55
		야옹 */
	}
}

switch 예제 2

case실행문이 2개 이상일 때

package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/*switch*/
		
		System.out.println("숫자를 입력하세요");
		for (int i = 0; i < 10; i++) {
			int input = (new Scanner(System.in)).nextInt();
			
			switch(input) {
			case 40:
			case 10:
				System.out.println("호랑이");
				//break;
			case 20 :{
				//2줄 이상일 때 스코프 사용
				System.out.println("코끼리1");
				System.out.println("코끼리2");
				break;
			}
			case 30:
				System.out.println("앵무새");
				break;
			
			default:
				System.out.println("야옹");
				break;
				
			}
			
		}
	}
}

switch  예제3

문자열 case사용 가능

package PACK01;

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/*switch*/
		
		//문자열 사용할 수 있다.
		
		String s = new String("사과");
		switch(s) {
		case "사과":{
			System.out.println("호랑이");
		}break;
		
		case "바나나":{
			 System.out.println("코끼리");
		}break;
		
		default:{
			System.out.println("앵무새");
		}break;
		
		}
		
	}
}

 

 

'프로그래밍 언어 문법 > Java' 카테고리의 다른 글

010. while문  (0) 2019.07.11
009. 배열  (0) 2019.07.11
007. new Scanner(), ASCII CODE, for문 예제  (0) 2019.07.05
006. 제어문-for문  (0) 2019.07.05
005. 4대 제어문- if문  (0) 2019.07.04

목차

1) 컴퓨터로부터 숫자 입력 받는 프로그램 :  new Scanner(System.in).nextInt();

2) ascii code 

3) for문 예제 7~ 11

 


1. 컴퓨터로부터 숫자 입력 받는 프로그램 : new Scanner(System.in).nextInt();

package PACK01;
import java.util.Random;
import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/* 키보드로부터 숫자 입력 받는 프로그램 */
		// import 단축키 [ctrl + shift + O ]
		int input = (new Scanner(System.in)).nextInt();
	}
}

2. ASCII CODE

 

package PACK01;
import java.util.Random;

public class Hello01 {

	public static void main(String[] args) {
		/*ASCII CODE 구하기*/
		char ch = 'A';
		System.out.println((int)ch);
		
		char ch2 = 'B';
		System.out.println((int)ch2);
	}
}

3의 배수만 대문자 출력

package Pack;

public class Hello01 {

	public static void main(String[] args) {
		// 3의 배수만 대문자 출력 
		System.out.println('A'+1);
		for (int i = 0; i<26; i++) {
			if(i%3==0) {
				System.out.println((char)('A'+i));
			}else {
				System.out.println((char)('a'+i));
			}
		}
	}
}

3. for문

예제 7 : 대문자 A부터 Z까지 출력

package PACK01;
import java.util.Random;

public class Hello01 {

	public static void main(String[] args) {
		//대문자 A부터 Z까지 출력
		char ch = 'A';
		for (int i = 0; i < 26; i++) {
			int a = (int)ch + i;
			System.out.print((char)a+" ");
		}
		/*출력
		A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  */
	}
}

예제 8 : 입력받은 숫자의 구구단 구하기

package PACK01;
import java.util.Random;
import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		// 입력 받은 숫자의 구구단 구하기
		System.out.println("숫자를 입력하세요");
		int input = (new Scanner(System.in)).nextInt();
		for (int i = 1; i <= 9; i++) {
			System.out.println(input+"*"+i+" : "+(input*i));
		}
		/*출력 결과
		 숫자를 입력하세요
		9
		9*1 : 9
		9*2 : 18
		9*3 : 27
		9*4 : 36
		9*5 : 45
		9*6 : 54
		9*7 : 63
		9*8 : 72
		9*9 : 81  */
	}
}

예제 9 : 1부터 입력 받은 숫자까지의 합

package PACK01;
import java.util.Random;
import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		// 1부터 입력 받은 숫자까지의 합
		int sum = 0;
		System.out.println("숫자를 입력하세요");
		int input = (new Scanner(System.in)).nextInt();
		for (int i = 1; i <= input; i++) {
			sum = sum + i;
		}
		System.out.println(sum);
		/*출력 결과
		숫자를 입력하세요
		10
		55 */
	}
}

 

예제 10: a와 b의 값을 교환하는 swap프로그램을 작성

package PACK01;
import java.util.Random;
import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		//a와 b의 값을 교환하는 swap프로그램을 작성하세요.
		int a = 30, b = 50, t;
		System.out.println(a+" "+b);
		
		t = a;
		a = b;
		b = a;
		
		System.out.println(a+" "+b);
		
		/*출력결과
		30 50
		50 50*/
	}
}

예제 11

package PACK01;
import java.util.Random;
import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		//65부터 입력받은 숫자까지 3의 배수만 아스키코드 대문자 출력
		System.out.println("숫자를 입력하세요");
		int input = (new Scanner(System.in)).nextInt();
		for (int i = 65; i < input; i++) {
			if (i%3==0) {
				System.out.println((char)i);
			}
		}
		/*출력결과
		숫자를 입력하세요
		79
		B
		E
		H
		K
		N
		*/
	}
}

'프로그래밍 언어 문법 > Java' 카테고리의 다른 글

009. 배열  (0) 2019.07.11
008. 난수Math.random(), switch제어문  (0) 2019.07.11
006. 제어문-for문  (0) 2019.07.05
005. 4대 제어문- if문  (0) 2019.07.04
004. 산술연산, 논리연산  (0) 2019.07.04

목차

1) 랜덤한 숫자 출력 : (new Random()).nextInt(100);

2) for문

3) for문 예제 1 ~ 6


1. 랜덤한 숫자 출력

package PACK01;
import java.util.Random;

public class Hello01 {

	public static void main(String[] args) {
		/*랜덤 숫자 출력*/
		
		//100 미만의 숫자 중에서 랜덤으로 출력
		int a = (new Random()).nextInt(100);
		System.out.println(a);
		
		int rn = (new Random()).nextInt();
	}
}

2. for문 

형태

package PACK01;

public class Hello01 {

	public static void main(String[] args) {
		/*for문*/
		for(int i = 0; i<10; i++) {
			System.out.println("호랑이"+i);
		}
		/*출력 결과
		호랑이0
		호랑이1
		호랑이2
		호랑이3
		호랑이4
		호랑이5
		호랑이6
		호랑이7
		호랑이8
		호랑이9
		*/
	}
}

예제 1 : 1부터 10까지 더하기

package PACK01;

public class Hello01 {

	public static void main(String[] args) {
		/*for문*/
		
		/*for문 자동완성 단축키
		for + ctrl + space
		*/
		
		int s = 0;
		for (int i = 1; i < 10+1; i++) {
			s = s+i;
			System.out.println(s);
		}
		
		System.out.println("총 합: "+s);
		
		/*출력 결과
		1
		3
		6
		10
		15
		21
		28
		36
		45
		55
		총 합: 55
		*/
	}
}

 


예제2 : 100미만의 랜덤한 숫자 10개의 합

package PACK01;
import java.util.Random;

public class Hello01 {

	public static void main(String[] args) {
		/*랜덤 숫자 출력*/
		
		//100미만의 랜덤한 숫자 10개의 합  
		int sum = 0;
		for (int i = 0; i<10; i++) {
			int rn = (new Random()).nextInt(100);
			System.out.println(rn);
			sum = sum + rn;
		}
		System.out.println("10개의 합: "+sum);
		
		/*출력 결과
		13
		34
		37
		87
		93
		5
		87
		52
		7
		1
		10개의 합: 416 */
	}
}

예제 3 : 구구단 5단 출력

package PACK01;
import java.util.Random;

public class Hello01 {

	public static void main(String[] args) {
		//구구단 5단 출력
		for (int i = 1; i < 9+1; i++) {
			int n = 5;
			System.out.println(n+"*"+i+":"+(n*i));
		}
		
		/*출력결과
		5*1:5
		5*2:10
		5*3:15
		5*4:20
		5*5:25
		5*6:30
		5*7:35
		5*8:40
		5*9:45*/
	}
}

예제 4 : 1부터 100까지 합산하는 프로그램

package PACK01;
import java.util.Random;

public class Hello01 {

	public static void main(String[] args) {
		//1부터 100까지 합산하는 프로그램
		int sum = 0;
		for (int i=1; i<=100; i++) {
			sum = sum + i;
		}
		System.out.println("총합: "+sum);
		
		/*출력결과
		 총합: 5050
		*/
	}
}

예제 5 : 1부터 10까지 숫자 중 다섯개 랜덤하게 골라 합산

package PACK01;
import java.util.Random;

public class Hello01 {

	public static void main(String[] args) {
		//1부터 10까지 숫자 중 다섯개 랜덤하게 골라 합산
		int sum = 0;
		for (int i=0; i<5; i++) {
			int rn = (new Random()).nextInt(10);
			System.out.println("랜덤숫자: "+rn);
			sum = sum + rn;
		}
		System.out.println("총합: "+sum);
		
		/*출력결과
		랜덤숫자: 4
		랜덤숫자: 6
		랜덤숫자: 4
		랜덤숫자: 9
		랜덤숫자: 3
		총합: 26
		*/
	}
}

 

예제 6 : 0부터 100사이의 숫자 중 10개를 랜덤으로 추출해 각 자리수의 합을 구하시오.

package PACK01;
import java.util.Random;

public class Hello01 {

	public static void main(String[] args) {
		//0부터 100사이의 숫자 중 10개를 추출해 각 자리수의 합을 구하시오
		for (int i = 0; i <10; i++) {
			int rn = (new Random()).nextInt(100);
			
			int q = rn /10; //십의 자리
			int n = rn%10; //일의 자리

			int sum = q + n;
			System.out.println("자리수의 합 : "+sum);
		}
		
		/*출력결과
		자리수의 합 : 7
		자리수의 합 : 3
		자리수의 합 : 2
		자리수의 합 : 4
		자리수의 합 : 10
		자리수의 합 : 11
		자리수의 합 : 1
		자리수의 합 : 15
		자리수의 합 : 4
		자리수의 합 : 13
		*/
	}
}

목차

1) 4대 제어문 형태

2) if 문

3) 삼항연산자


1. 4대 제어문 형태

 

		/* 4대 제어문 
		 
		 * 조건 if switch
		 * 반복 for while  
		 
		 * 기본 구조 
		 
		 if () {
		 	
		 }
		 
		 switch () {
		 
		 }
		 
		 for () {
		 
		 }
		 
		 while () {
		 
		 }
		 
		 */

2. if 문

 

package Pack;

public class Hello01 {

	public static void main(String[] args) {
		/* if */
		
		System.out.println("시작");
		if (true) {
			System.out.println("tiger");
			System.out.println("elephant");
			System.out.println("parrot");
		}
		System.out.println("11111111111111111111");
		
		if (false) {
			System.out.println("tiger");
			System.out.println("elephant");
			System.out.println("parrot");
		}
		System.out.println("22222222222222222222");
		
		if (3>2) {
			System.out.println("tiger");
			System.out.println("elephant");
			System.out.println("parrot");
		}System.out.println("333333333333333333333");
		
		if (3<2) {
			System.out.println("tiger");
			System.out.println("elephant");
			System.out.println("parrot");
		}System.out.println("444444444444444444444");
		
		if (3>2 && 7==7) {
			System.out.println("tiger");
			System.out.println("elephant");
			System.out.println("parrot");
		}System.out.println("555555555555555555555");
		
		if (3>2 && 7!=7) {
			System.out.println("tiger");
			System.out.println("elephant");
			System.out.println("parrot");
		}System.out.println("666666666666666666666");
		
		if (3>2 || 7==7) {
			System.out.println("tiger");
			System.out.println("elephant");
			System.out.println("parrot");
		}System.out.println("777777777777777777777");
		
		if (3>2 || 7!=7) {
			System.out.println("tiger");
			System.out.println("elephant");
			System.out.println("parrot");
		}System.out.println("888888888888888888888");
		
		System.out.println("끝");
		
		
		/*	출력 결과
        	시작
			tiger
			elephant
			parrot
			11111111111111111111
			22222222222222222222
			tiger
			elephant
			parrot
			333333333333333333333
			444444444444444444444
			tiger
			elephant
			parrot
			555555555555555555555
			666666666666666666666
			tiger
			elephant
			parrot
			777777777777777777777
			tiger
			elephant
			parrot
			888888888888888888888
			끝	*/
		
	}

}

 

예시

 

1-1 학점 계산기

package PACK01;

public class Hello01 {

	public static void main(String[] args) {
		int num = 95;
		if (num>=90) {
			System.out.println("학점은 A입니다.");
		}else if (num>=80) {
			System.out.println("학점은 B입니다.");
		}else if (num>=70) {
			System.out.println("학점은 C입니다.");
		}else if (num>=60) {
			System.out.println("학점은 D입니다.");
		}else {
			System.out.println("재수강입니다.");
		}
	}

}

1-2 띠 구하기

package PACK01;

public class Hello01 {

	public static void main(String[] args) {
		int year = 1545;
		int q = year % 12;
		
		if(q==0) {
			System.out.println("원숭이 띠(신)");
		}else if (q==1) {
			System.out.println("닭 띠(유)");
		}else if (q==2) {
			System.out.println("개 띠(술)");
		}else if (q==3) {
			System.out.println("돼지 띠(해)");
		}else if (q==3) {
			System.out.println("쥐띠 (자)");
		}else if (q==3) {
			System.out.println("소 띠(축)");
		}else if (q==3) {
			System.out.println("범 띠(인)");
		}else if (q==3) {
			System.out.println("토끼 띠(묘)");
		}else if (q==3) {
			System.out.println("용 띠(진)");
		}else if (q==3) {
			System.out.println("뱀 띠(사)");
		}else if (q==3) {
			System.out.println("말 띠(오)");
		}else if (q==3) {
			System.out.println("양 띠(미)");
		}
	}

}

1-3 짝수 홀수

package PACK01;

public class Hello01 {

	public static void main(String[] args) {
		/*중첩 if문*/
		System.out.println("시작");
		if(true) {
			System.out.println("호랑이1");
			if(3>2) {
				System.out.println("코끼리");
			}System.out.println("호랑이 2");
		}
		
		int num = 29;
		int q = num/10; //십의 자리 숫자 
		int r = num%10;
		System.out.println(q);
		System.out.println(r);
		
		if(q%2==0) {
			System.out.println("십의자리는 짝수이고,");
			if(r%2==0) {
				System.out.println("일의자리는 짝수이다.");
			}else {
				System.out.println("일의 자리는 홀수이다.");
			}
		}else {
			System.out.println("십의 자리는 홀수이고");
			if(r%2==0) {
				System.out.println("일의자리는 짝수이다.");
			}else {
				System.out.println("일의자리는 홀수이다.");
			}
		}
	}
}

3. 삼항연산자

package PACK01;
import java.util.Random;
import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/* 삼항 연산자 */
		int a;
		
		//조건이 걸리면서 어떤 쪽이든 변수가 값을 받을 때, 삼항연산으로 바꾼다.
		if(3>2) {
			a = 10;
		}else {
			a=20;
		}
		System.out.println(a); //10
		
		a = (3>2) ? 10 : 20;
		System.out.println(a); //
		//a = (조건) ? 만족할때 : 아닐때
		
	}
}

예제3.

목차

1) 산술연산

2) 논리연산

3) 문자열 연결 연산


1. 산술연산

package PACK01;

public class Hello01 {

	public static void main(String[] args) {
		/* 산술 연산자
			+
			-
			*
			/ : 몫
			% : 나머지
			곱셈 먼저
			괄호가 제일 먼저
			괄호 만드는 습관 가지기
		*/
		
		System.out.println("호랑이");
		System.out.println(17+4);//21
		System.out.println(17-4);//13
		System.out.println(17*4);//68
		System.out.println(17/4);//4
		System.out.println(17%4);//1
		System.out.println(3+2*4);//11
		System.out.println((3+2)*4);//20
		System.out.println(3+(2*4));//11 
	}

}
		int a = 10;
		System.out.println(a);
		
		a = a+3;
		System.out.println(a);
		
		a++;
		System.out.println(a); //14 //현재 값에 1 증가
		
		a--;
		System.out.println(a);//13 //현재 값에 1 감소 
		
		a = a+1; 
		System.out.println(a); //14 //a++과 같지만 ++이 더 빠르다.
		
		a = a+3;
		System.out.println(a); //17
		
		a += 3;
		System.out.println(a); //20 //번역이 빠르다. 이렇게 쓰는 것이 더 좋다.

부호 연산자

package PACK01;
import java.util.Random;
import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/* 부호연산자 */
		int a1 = 10;
		int b1 = 10;
		int c1 = +10;
		
		System.out.println(a1); //10
		System.out.println(b1); //10
		System.out.println(c1); //10
		
		/*출력
		10
		10
		10 */
	}
}

++i와 i++의 차이

package PACK01;
import java.util.Random;
import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		/* ++i와 i++의 차이 */
		//대입 증가
		int a = 10, b;
		b = a++;
		System.out.println(a+" "+b); //11 10
		
		//증가 대입
		int c = 10, d;
		d = ++c;
		System.out.println(c+" "+d); //11 11
		
		//++
		int e= 10, f = 10;
		e++;
		++f; // 전문가들은 이것을 선호, 통합용으로 좀 더 빠르다.
		System.out.println(e+" "+f);//11 11
		
	}
}

2. 논리 연산자

 

package Pack;

public class Hello01 {

	public static void main(String[] args) {
		/* 논리 연산자
		 * 논리 OR: 하나만 true이면 연산 결과는 true
		 * 논리 AND: 모두 ture이면 연산 결과는 true
		 
		 논리 연산자 (&&, ||, &, |, ^, !)  */
		
		int key = 0;
		int money = 4999;
		System.out.println(key >= 0 || money >= 5000); //true
		System.out.println(key >= 1 || money >= 5000); //false
		
		//논리 OR 연산
		System.out.println(false || false); //false
		System.out.println(true || false); //true
		System.out.println(false || true); //true
		System.out.println(true || true); //true
		
		//논리 AND 연산 
		System.out.println(false && false); //false
		System.out.println(true && false); //false
		System.out.println(false && true); //false
		System.out.println(true && true); //true

		// 논리 부정 ! : 연산 반대로 결과가 나온다.
		System.out.println(!true); //false
		System.out.println(!(3>2)); //false
		
		// 범위 사이에는 논리 AND 연산을 쓴다.
		int height = 185;
		System.out.println(height >= 180 && height <= 195); //true
		
		// 논리 OR을 쓰는 경우
		int age = 15;
		System.out.println(age<=10 || age>=70); //false
		
		int save = 5200;
		age = 72;
		System.out.println(age<=10 || age>=70 && (save <= 5000)); //false
		
	}

}

3. 문자열 연결 연산자

package PACK01;

public class Hello01 {

	public static void main(String[] args) {
		/*비교연산자
		 <,<=,>,>=,==,!= */
		
		System.out.println(50>3);//true
		System.out.println(50<3);//false
		System.out.println(3>=3);//true
		System.out.println(2>=3);//false
		System.out.println(3<=3);//true
		System.out.println(3==3);//true
		System.out.println(3==4);//false
		System.out.println(3!=4);//true
		System.out.println(3!=3);//false
		
		int a = 4, b = 3;
		System.out.println(a>b); //true
		System.out.println(a!=b); //true
		System.out.println(a-3>b); //false 산술연산이 먼저 일어난다.
	}

}

+ Recent posts