JAVA 환경변수 설정


안녕하세요 윈도우10 환경에서 JAVA 환경변수 설정하는법입니다.


JAVA 환경변수 설정은 보통 초기 개발환경 설정이나

JAVA를 사용하는 특정 프로그램을 구동하기 위해 필요합니다.


JDK를 설치한 뒤 Java가 설치되어 있는 경로로 직접 이동해서 경로를 복사합니다.


저는 기본 경로로 설치해서 아래와 같은 경로에 있습니다.


C:\Program Files\Java\jdk1.7.0_80



제어판 > 모든 제어판 항목 > 시스템창에서 고급 시스템 설정을 들어갑니다.



다음과 같은 창이뜨는데 고급 탭에서 환경 변수를 선택 해 줍니다.




다음과 같이 환경변수 창이 뜨면 시스템 변수에서 새로만들기 버튼을 눌러줍니다.



아래와 같이 환경변수를 만들어 줍니다.


변수 이름 : JAVA_HOME

변수 값 : JDK설치 경로




JAVA_HOME 환경변수를 만드 셨으면 


시스템 변수 Path에 추가를 해줍니다.



%JAVA_HOME%\bin 을 입력하고 확인을 누른 뒤



윈도우 커맨드 창을 쓰고있었다면


반드시 새로운 커맨드 창을 열어서


java -version 명령으로 JAVA 버전을 확인할 수 있습니다.


아래와 같은 javac -version 명령 으로는 컴파일 버전을 확인 할 수 있습니다.





반복문,조건문을 이용한 대소문자 변환


ASCII CODE를 이용한 대소문자 변환입니다.


 public class AsciiReverse {

    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        int i=0;
        
        while(true){
        System.out.print("문자열을 입력하세요 : ");
        String input= s.nextLine();
// 한글자씩 담을 char[]형 배열선언
        char change[] = new char[input.length()]; 
        
        if(input.equals("stop")) // stop을 입력할 때까지 반복
        {
            System.out.println("이용해주셔서 감사합니다.");
            break;
        }
        
        else{
        for(i=0; i<input.length(); i++)
        {
                change[i]=input.charAt(i);
                if(change[i]>=65 && change[i]<=90) // 대문자이면
                    change[i]+=32; // 소문자로 변환
                else if(change[i]>=97 && change[i]<=122) // 소문자이면
                    change[i]-=32; // 대문자로 변환
                    System.out.print(change[i]);
        }
            System.out.println();
        
        }// close else{}
        
        }//close while()
        
    }
}

(실행 결과)

문자열을 입력하세요 : Have A Nice Day!!

hAVE a nICE dAY!!
문자열을 입력하세요 : stop
이용해주셔서 감사합니다.



반복문,조건문을 이용한 Fizz-Buzz 게임


 Fizz-Buzz 게임 규칙 : 3,6,9게임과 유사한 게임으로 특정 숫자 2개를정하고, 첫번째 수의 배수이면 Fizz 두번째 수의 배수이면 Buzz 두 수의 공배수이면 fizzbuzz를 외치는 게임


 for문과 while문을 이용해서 메소드로 구현하고 호출해서 사용하는 코드입니다.



import java.util.Scanner;
public class FizzBuzz {
        void FizzFor() // for문을 이용한 메소드
        {
            for(int i=1; i<101; i++)
            {
                if(i%3==0 && i%5==0)
                {
                    System.out.print("FizzBuzz ");
                }
                else if(i%3==0)
                {
                    System.out.print("Fizz ");
                }
                else if(i%5==0)
                {
                    System.out.print("Buzz ");
                }
                else
                {
                    System.out.print(i+" ");
                }
            }
    
        }
        
        void FizzWhile() // While문을 이용한 메소드
        {
                int i=1;
                while(i<101)
            {
                if(i%3==0 && i%5==0)
                {
                    System.out.print("FizzBuzz ");
                }
                else if(i%3==0)
                {
                    System.out.print("Fizz ");
                }
                else if(i%5==0)
                {
                    System.out.print("Buzz ");
                }
                else
                {
                    System.out.print(i+" ");
                }
                i++;
            }
    
        }
    public static void main(String[] args) {
        // 5의 배수가 fizz 7의배수가 buzz
        while(true){
            Scanner s=new Scanner(System.in);
            System.out.print("원하시는 숫자를 선택하세요. \n 1]FizzFor() 2]FizzWhile() 0]종료 \n입력> ");
            int input=s.nextInt();
            FizzBuzz Fb= new FizzBuzz();
        if(input==1)
        {
            Fb.FizzFor();
        }
        else if(input==2)
        {
            Fb.FizzWhile();
        }
        else if(input ==0)
        {
            System.out.println("이용해주셔서 감사합니다.");
            break; // 0 을입력하면 종료
        }
        else{
            System.out.println("잘못된 값을 입력하셨습니다. 다시 입력하세요");
        }
        
        }//close while()
    }
}

(실행 결과)

원하시는 숫자를 선택하세요.
 1]FizzFor() 2]FizzWhile() 0]종료
입력> 1
1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz 31 32 Fizz 34 Buzz Fizz 37 38 Fizz Buzz 41 Fizz 43 44 FizzBuzz 46 47 Fizz 49 Buzz Fizz 52 53 Fizz Buzz 56 Fizz 58 59 FizzBuzz 61 62 Fizz 64 Buzz Fizz 67 68 Fizz Buzz 71 Fizz 73 74 FizzBuzz 76 77 Fizz 79 Buzz Fizz 82 83 Fizz Buzz 86 Fizz 88 89 FizzBuzz 91 92 Fizz 94 Buzz Fizz 97 98 Fizz Buzz 원하시는 숫자를 선택하세요.
 1]FizzFor() 2]FizzWhile() 0]종료
입력> 2
1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz 31 32 Fizz 34 Buzz Fizz 37 38 Fizz Buzz 41 Fizz 43 44 FizzBuzz 46 47 Fizz 49 Buzz Fizz 52 53 Fizz Buzz 56 Fizz 58 59 FizzBuzz 61 62 Fizz 64 Buzz Fizz 67 68 Fizz Buzz 71 Fizz 73 74 FizzBuzz 76 77 Fizz 79 Buzz Fizz 82 83 Fizz Buzz 86 Fizz 88 89 FizzBuzz 91 92 Fizz 94 Buzz Fizz 97 98 Fizz Buzz 원하시는 숫자를 선택하세요.
 1]FizzFor() 2]FizzWhile() 0]종료
입력> 5
잘못된 값을 입력하셨습니다. 다시 입력하세요
원하시는 숫자를 선택하세요.
 1]FizzFor() 2]FizzWhile() 0]종료
입력> 0
이용해주셔서 감사합니다.


출처 : [위키백과] https://en.wikipedia.org/wiki/Fizz_buzz




배열을 이용한 문자열 거꾸로 출력하기


문자열을 거꾸로 반환하는 클래스와 메소드가 있지만, 직접 코드로 구현 해 봤습니다.



import java.util.Scanner;

public class Reverse {
          void reverse(){ // 문자열을 입력받아서 거꾸로 출력하는 메소드
              Scanner s=new Scanner(System.in);
              System.out.println("문자를 입력하세요.");
              String input=s.nextLine();
              
              int len = input.length(); // 입력한 문자열의 길이를 저장하는 len 변수
              char[] change=new char[len]; // 한글자씩 담을 char형 배열 선언 - 문자열의 길이만큼
                        
              for(int i=0; i<len; i++){
              change[i]=input.charAt(i); // 문자열을 한글자씩 담는다.
              }
                        
              for(int i=len-1; i>=0; i--) // 배열의 길이-1만큼해야 가장 끝 방부터 시작한다.
              {
              System.out.print(change[i]); // 맨 끝 방부터 0번방까지 출력
              }
                   
          }
     
     public static void main(String[] args) {
          Reverse rev = new Reverse();
          rev.reverse(); // 메소드 호출
          
     }
}

(실행 결과)

문자를 입력하세요.
Hava A Nice Day!!
!!yaD eciN A avaH


정리

- input.charAt(i) : input문자열의 i번째 문자를 반환

- input.length() : input문자열의 길이를 반환

  추가적으로 .length는 배열의 길이 반환




반복문을 이용한 피보나치 수열 구하기


피보나치 수열 이란?

 피보나치 수는 0과 1로 시작하며, 다음 피보나치 수는 바로 앞의 두 피보나치 수의 합이 된다. 



- 입력받은 수 만큼 피보나치 수열 구하기


import java.util.Scanner;
public class Pibo {
          Scanner s = new Scanner(System.in);
          System.out.print("정수 입력 : ");
          int j=s.nextInt();
          
          int num1,num2,sum;
          num1=0; // 첫번째와 두번째 값이 1이어야 하므로 초기값을 0과
          num2=1; // 1로 준다
          sum=1; // 첫번째 1은 그냥 초기값으로 설정
          
          for(int i=0; i<j; i++)
          {
              System.out.print(sum+" ");
              sum=num1+num2; // 두 값을 더한 후
              num1=num2;
              num2=sum; // 두번째 연산자에 더한 값을 넣어준다.
          }

     }
}

(실행 결과)

정수 입력 : 10

1 1 2 3 5 8 13 21 34 55


출처 : [위키백과]

https://ko.wikipedia.org/wiki/%ED%94%BC%EB%B3%B4%EB%82%98%EC%B9%98_%EC%88%98




반복문과 조건문을 이용한 소수 구하기


- 1~100 범위의 소수 구하기


  int count=0;

          for(int i=2; i<=100; i++) // 1은 소수가 아니므로 2부터 시작
          {
              for(int j=2; j<=i; j++)
              {
                   if(i%j ==0) 
                   {
                        count ++;
                   }    
              }
              
              // 소수는 1과 자기자신으로만 나눠지므로 자기자신으로 한번만 나눠질때 소수
              if(count==1)
              {
                   System.out.print(i+" ");
              }
              count=0;
          }

(실행 결과)

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97





반복문을 이용한 별찍기



- 순차적으로 찍기


          int count=0;

          for(int i=1; i<6; i++){
                   for(int j=0; j<i; j++)
                   {
                   System.out.print("*");
                   }
                   
                   System.out.println("");

          }

(실행 결과)

*
**
***
****

*****


- 거꾸로 찍기

          for(int i=5; i>0; i--)
          {
              for(int j=1; j<=i; j++)
              {
                   System.out.print("*");
              }
          System.out.println("");

          }


(실행 결과)

*****
****
***
**
*


- 삼각형 모양으로 찍기


for(int i=0; i<5; i++){
              int x=4;
              for(int j=0; j<x-i; j++){ // 별 앞에 공백을 찍는 for문
                   System.out.print(" ");
              }
              for(int k=0; k<=i; k++){ // 별을 찍는 for문
                   if(k == 0){ // *을 홀수개 찍기위해서 하나와
                        System.out.print("*");
              }
                  else{ // 두개를 나눠서 찍는다.
                   System.out.print("**");
                  }
              }// close for()
                   System.out.println("");

              }//close for()

(실행 결과)

    *
   ***
  *****
 *******
*********





반복문을 이용한 구구단



- for문을 이용한 구구단 출력


          int i,j;

          for(i=2; i<10; i++)
          {
              for(j=1; j<10; j++){
                   System.out.print(i+"*"+j+"="+i*j+",");
              }
          System.out.println(" "); // 단을 구분하기 위한 개행

          }

(실행 결과)

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*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,
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,
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,
6*1=6,6*2=12,6*3=18,6*4=24,6*5=30,6*6=36,6*7=42,6*8=48,6*9=54,
7*1=7,7*2=14,7*3=21,7*4=28,7*5=35,7*6=42,7*7=49,7*8=56,7*9=63,
8*1=8,8*2=16,8*3=24,8*4=32,8*5=40,8*6=48,8*7=56,8*8=64,8*9=72,
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,


- while문을 이용한 구구단 출력


          int i,j;
          i=1; j=1;
          while(i<10)
          {
              while(j<10){
                   System.out.print(i+"*"+j+"="+i*j+",");
                   j++;
              }
              System.out.println();
              j=1; // 초기화
              i++;
          }


- 원하는 단을 입력받아서 해당하는 단만 출력


import java.util.Scanner;
public class gugu
{
     

          Scanner s= new Scanner(System.in);
          // 입력을 받기 위한 Scanner클래스
          while(true){ // break를 만나기 전까지 계속 반복
              System.out.print("구구단을 출력하는 프로그램입니다.\n출력할 단을 입력하세요 (종료하시려면 0 입력) : ");
              int input=s.nextInt(); // 정수를 입력받아 input 변수에 저장
                   
              if(input==0){ // 0이 입력되면 종료
                   System.out.println("이용해주셔서 감사합니다.");
                   break;
              }
                   
              for(int i=1; i<10; i++){
                   System.out.println(input+"*"+i+"="+input*i);
              }//close for()
              System.out.println(); // 단을 출력한 뒤 한줄개행
          }//close while()
     }
}

(실행 결과)

구구단을 출력하는 프로그램입니다.
출력할 단을 입력하세요 (종료하시려면 0 입력) : 5
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
구구단을 출력하는 프로그램입니다.
출력할 단을 입력하세요 (종료하시려면 0 입력) : 0

이용해주셔서 감사합니다.





+ Recent posts