2016년 6월 8일 수요일

02day java

java setting
  • jdk 여러개 동시에 설치 가능함
java 제어문
  • 분기(조건)문
    • 두 갈래(true/false) 흐름을 생성
    • 비교연산자/ 논리연산자를 사용함
    •  if (조건식) { 실행문 }
    •  if (조건식) { 실행문 } else { 실행문2 }
  • 반복문
    • for (초기식; 비교식; 증감식) { 실행문 }
    • while 
    • do ~ while


1
public class ConstantEx01 {
    public static void main(String[] args){
        //변수의 선언
        int intNum1=10;
        System.out.println(intNum1);
        intNum1 =20; //변수는 항상 override해서 저장한다
        System.out.println(intNum1);
       
        //상수의 선언
        final int INT_NUM2=10; //상수는 일반적으로 전체 대문자로 선언한다. 두 단어는 언더바로 연결한다.
        System.out.println(INT_NUM2);
        // NUM2=20;  //상수에는 값을 재할당 할 수 없다. //중간에 값이 고쳐지면 안되는 것에 final 선언함
        //System.out.println(NUM2);
        
    }
}


2
public class TypeCastingEx01 {
    public static void main(String[] args){
        //형변환
        short s1=10;
        int i1 = s1; //자동 형변환 //데이터 타입이 작은데서 큰데로 가는 경우
        System.out.println(i1);
        
        float f1 = 10.0F;
        double d1= f1; //자동 형변환
        System.out.println(d1);
        
        char c1 = 'A';
        int i2 = c1; //자동 형변환
        System.out.println(i2);
    }
}


3
public class TypeCastingEx02 {
    public static void main(String[] args){
        //형변환
        int i1=20;
        // short s1 = i1;  // 데이터타입이 작은 곳으로 변경하는 경우 자동형변환이 되지 않음
        short s1 = (short)i1; //강제 형변환
        System.out.println(s1);
        
        char c1= 'A';
        int i2=c1;
        int i3=i2+3;
        System.out.println(i3);
        System.out.println((char)i3); // 강제 형변환 //정수 i3에 해당되는 문자를 출력할 때
    }
}


4
public class CodeBlockEx01 {
    public static void main(String[] args){
        int num1 =10;
      
        {
            //코드블럭
            int num2 =20; //지역변수
            System.out.println(num1);
            System.out.println(num2);
        }
        System.out.println(num1);
        // System.out.println(num2); //지역변수를 전역에서 호출할 수 없음
        
    }
}


5
public class OperEx01 {
    public static void main(String[] args){
        //산술 연산자 + - * / %
        int i1=10;
        int i2=20;
        int sum1= i1+i2;
        System.out.println(sum1);
        
        short s1 =10;
        short s2 =20;
        // short sum2 =s1 +s2; //형변환 오류남 // 산술연산은 int로 자동 변환됨
        short sum2 =(short)(s1 +s2);
        System.out.println(sum2);
        System.out.println(5/2); //정수에 정수를 연산하면 소수점은 버림 //주의할것!!!!!!
        System.out.println(5/2.);
    }
}


6
public class OperEx02 {
    public static void main(String[] args){
        // 나눈 나머지 %
        // 숫자를 그룹화 (짝수와 홀수의 구분)
        // 1%2=1
        // 2%2=0
        // 3%2=1
        // 4%2=0
        System.out.println(1%2);
        System.out.println(2%2);
        System.out.println(3%2);
        System.out.println(4%2);
        System.out.println(3.2%2);
    }
}


7
public class OperEx03 {
    public static void main(String[] args){
        // 증감연산자
        int a=10;
        a++; // a = a + 1;
        System.out.println(a);
        a--; // a = a - 1;
        System.out.println(a);
    }
}


8
public class OperEx04 {
    public static void main(String[] args){
        // 대입(할당)연산자 =
        // 다른 연산자 결합 += -=
        int num1 = 1;
        num1 += 2;  // num1 = num1 + 2;
        System.out.println(num1);
        num1 -= 2;  // num1 = num1 - 2;
        System.out.println(num1);
        
    }
}


9
public class OperEx05 {
    public static void main(String[] args){
        // 관계연산자
        int a =10;
        int b =5;
        System.out.println(a == b);
        System.out.println(a != b);
        
        System.out.println(a = b);  //관계연산자를 대입연산자로 잘못 썼을경우 에러가 안 남
        System.out.println();       
         
        //논리연산자 && ||
        // && 양쪽조건이 참일 때만 참
        // || 양쪽조건이 거짓일 때만 거짓
        boolean bool1= (10>3);
        boolean bool2= (3>10);
        System.out.println(bool1 && bool2);
        System.out.println(bool1 || bool2);
        // 3 < x < 10
        // (3 < x) && (x < 10)
    }
}


10
public class OperEx06 {
    public static void main(String[] args){
        // 문자열 연결 연산 +
        String str = "Hello";
        str = str + " World";
        System.out.println(str);       
        
        //산술연산, 문자열 연결연산 혼합사용
        System.out.println(1 + 1 + "1");
        System.out.println(1 + (1 + "1")); //괄호는 최우선 연산자
        System.out.println(1 + 1 + (1 + "1"));
        System.out.println("1" + 1 + 1);
         
    }
}


11
public class ConditionEx01 {
    public static void main(String[] args){
        //제어문
        System.out.println("시작");
        int n = 10;
        if(n==10){ //괄호 안에는 논리연산자와 비교연산자가 들어감
            System.out.println("실행문 1"); //참일 때 실행
        }else{
            System.out.println("실행문 2"); //거짓일 때 실행
        }
        System.out.println("끝");
    }
}


12
public class ConditionEx02 {
    public static void main(String[] args){
        //제어문
        System.out.println("시작");
        int n = 2;
        //n 이 짝수인지 홀수인지 출력하는 구문
        if(n%2==0){
            System.out.println("짝수");
        }else{
            System.out.println("홀수");            
        }
        System.out.println("끝");
    }
}


13
public class ConditionEx03 {
    public static void main(String[] args){
        //if 문 중첩
        int n = 10;
        int i = 5;
        if(n==10){
            if(i==5){
                System.out.println("실행문 1");
            }else{
                System.out.println("실행문 2");
            }
        }else{
            if(i==5){
                System.out.println("실행문 3");
            }else{
                System.out.println("실행문 4");
            }
        }
    }
}


14
public class ConditionEx04 {
    public static void main(String[] args){
        // 학점이 90>= A, 80>= B, 70>= C, 60>= D, 기타 F
        int hakjum = 76;
        if(hakjum>=90){
            System.out.println("A");
        }else{
            if(hakjum>=80){
                System.out.println("B");
            }else{
                if(hakjum>=70){
                    System.out.println("C");
                }else{
                    if(hakjum>=60){
                        System.out.println("D");
                    }else{
                        System.out.println("F");
                    }
                }
            }
        }
    }
}


15
public class ConditionEx05 {
    public static void main(String[] args){
        // 학점이 90>= A, 80>= B, 70>= C, 60>= D, 기타 F
        //if ~ else if ~
        int hakjum = 76;
        if(hakjum>=90){
            System.out.println("A");
        }else if(hakjum>=80){
            System.out.println("B");
        }else if(hakjum>=70){
            System.out.println("C");
        }else if(hakjum>=60){
            System.out.println("D");
        }else{
            System.out.println("F");
        }
    }
}


16
public class ConditionEx06 {
    public static void main(String[] args){
        // 프린트문을 전부 다쳐주는 것이 아니라 변수에 담아서 마지막에 출력하는 방법
        char grade;
        int hakjum = 76;
        if(hakjum>=90){
            grade = 'A';
        }else if(hakjum>=80){
            grade = 'B';
        }else if(hakjum>=70){
            grade = 'C';
        }else if(hakjum>=60){
            grade = 'D';
        }else{
            grade = 'F';
        }
        System.out.println("학점 :" +grade);
    }
}


17
public class ConditionEx07 {
    public static void main(String[] args){
        // switch ~ case ~ break
        /* switch (변수){             //변수의 데이터타입 byte, short, char, int
            case 값:                  //if문은 횡적인 비교를 하기때문에 조건이 늘어나면 실행속도 느려짐
                실행문;
            case 값:
                실행문;
            default:
                실행문;
            }
        */
        // int data = 10; 
        // long data = 10L; // 데이터타입이 long타입이라 오류남
        String data = "10"; // String 타입 가능 (JDK 7 버전이후)
        switch(data){
            case "10":
                System.out.println("10"); break; //break를 걸지 않으면 밑에 모두 출력됨
            case "20":
                System.out.println("20"); break;
            case "30":
                System.out.println("30"); break;
            default:
                System.out.println("기타");
        }
    }
}


18
public class ConditionEx08 {
    public static void main(String[] args){
        // switch 문으로 학점 계산
        int hakjum = 88;
        switch(hakjum/10){
            case 9:
                System.out.println('A'); break;
            case 8:
                System.out.println('B'); break;
            case 7:
                System.out.println('C'); break;
            case 6:
                System.out.println('D'); break;
            default:
                System.out.println('F');
        }
    }
}


19
public class LoopEx01 {
    public static void main(String[] args){
        /*  반복문
        System.out.println("Hello World");
        System.out.println("Hello World");
        System.out.println("Hello World");
        System.out.println("Hello World");
        System.out.println("Hello World");
        */
        for(int i=1; i<=5; i++){
            System.out.println("Hello World");
        }
        
        // 초기식 공백으로 두고 밖에서 선언 해도 됨
        int i=2;
        for(; i<=5; i++){ 
            System.out.println("Hello");
        }
    }
}


20
public class LoopEx02 {
    public static void main(String[] args){
        //반복문 응용 
        // 1 3 5 7 9 등차수열
        for(int i=1; i<=10; i++){
            if(i%2==1){
               System.out.println(i);
            }
        }
        // 1 3 5 7 9
        for(int i=1; i<=10; i=i+2){
            System.out.println(i);
        }
        // A~Z 알파벳
        for(char i='A'; i<='Z';i++){
            System.out.print(i);
        }
        
        System.out.println();
        //구구단 3단  ... 3 X 1 = 3 ...
        for(int i=1; i<=9; i++){
            System.out.println("3 X "+i+" = "+i*3);
        }
        //구구단 3단
        String result = ""; //변수를 먼저 지정하고 변수에 누적해서 출력하는 방식
        for(int i=1; i<=9; i++){
            result +="3 X "+i+" = "+i*3 +"\n";
        }
        System.out.println(result);
        
    }
}


21
public class LoopEx03 {
    public static void main(String[] args){
        //반복문 응용 
        for(int i=1; i<=5; i++){
            for(int j=1; j<=5; j++){
                System.out.println(i + " : " +j); //25번 반복됨
            }
        }
    }
}


22
public class LoopEx04 {
    public static void main(String[] args){
        //별표피라미드
        for(int i=1; i<=10; i++){
            for(int j=1; j<=i; j++){
                System.out.print("*");
            }
            System.out.println();
        }
        //별표역피라미드
        for(int i=10; i>=1; i--){
            for(int j=1; j<=10-i; j++){
                System.out.print(" ");
            }
            for(int j=1; j<=i; j++){
                System.out.print("*");
            }
            System.out.println();
        }
    }
}


23
public class LoopEx05 {
    public static void main(String[] args){
        //구구단
        for(int i=1; i<=9; i++){
            for(int j=1; j<=9; j++){
                System.out.print(i+" X "+j+" = "+i*j+"\t");
            }
            System.out.println();
        }
        
    }
}


댓글 없음:

댓글 쓰기