public class Sample {
    public static void main(String[] args) {
        System.out.println("자바의 세상에 온 것을 환영합니다.");
    }
}
/*
---------- 실행 ----------
자바의 세상에 온 것을 환영합니다.
출력 완료 (0초 경과) - 정상 종료
*/
 

 

public class Sample2 {
    public static void main(String[] args) {
        System.out.println("홍길동");
        System.out.println(100 + 100);
        System.out.println(1042 * 5);
    }
}
/*
---------- 실행 ----------
홍길동
200
5210

출력 완료 (0초 경과) - 정상 종료
*/​

 

public class VarDemo1 {
    public static void main(String[] args) {
        
        int age = 30;
        double height = 187.6;
        String username = "홍길동";
        boolean married = false;

        System.out.println(age);
        System.out.println(height);
        System.out.println(username);
        System.out.println(married);
    }
}
/*
---------- 실행 ----------
30
187.6
홍길동
false

출력 완료 (0초 경과) - 정상 종료
*/
​

 

public class VarDemo2 {
    public static void main(String[] args) {
        
        String name = "이이이";
        int age = 20;
        String num = "010-0000-0000";
        String e = "aaaaa@bbbbbbb";
        String add = "경기도 안성시";
        double h = 180;
        double w = 100;
        String b = "A";

        System.out.println(name);
        System.out.println(age);
        System.out.println(num);
        System.out.println(e);
        System.out.println(add);
        System.out.println(h);
        System.out.println(w);
        System.out.println(b);
    }
}
/*
---------- 실행 ----------
이이이
20
010-0000-0000
aaaaa@bbbbbbb
경기도 안성시
180
100
A

출력 완료 (0초 경과) - 정상 종료
*/​

 

public class VarDemo3 {
    public static void main(String[] args) {
        
        // 변수의 선언(변수의 정의, 변수의 생성)
        int a;
        // 변수의 초기화
        a = 200;

        // 변수에 저장된 값 사용
        System.out.println(a);

    }
}
/*
---------- 실행 ----------
200

출력 완료 (0초 경과) - 정상 종료
*/​

 

public class VarDemo4 {
    public static void main(String[] args) {
        
        // 변수의 값은 사용하는 싯점에 따라서 결과값이 다를 수 있다.

        // 변수를 생성하고 값을 대입
        int num1 = 100;
        int num2 = 200;
        System.out.println(num1 + num2);

        // 기존 변수에 새로운 값을 대입(새로운 값으로 변경)
        num1 = 600;
        num2 = 300;
        System.out.println(num1 + num2);
    }
}
/*
---------- 실행 ----------
300
900

출력 완료 (0초 경과) - 정상 종료
*/​

 

public class TypeDemo1 {
    public static void main(String[] args) {
        // 정수타입 : byte, short, int, long
        
        // byte b = 1000; 해당 타입이 가질 수 있는 값의 점위를 초과하는 값은 저장할 수 없다.

        /* long타입의 변수에 값을 담을 때는 정수값의 끝에 L을 붙여서 long타입의 범위내에서 그 값을 다루도록 한다.
        * 자바는 모든 정수 리터럴(정수값)을 int의 범위에서 다루려고 한다. */
        long num1 = 10000000000L;
        System.out.println(num1);

        int num2 = 1000000;
        int num3 = 1_000_000; // 정수를 적을 때 자릿수를 표현하는 _를 같이 적을 수 있다.
        System.out.println(num2);
        System.out.println(num3);
    }
}
/*
---------- 실행 ----------
10000000000
1000000
1000000

출력 완료 (0초 경과) - 정상 종료
*/​

 

public class TypeDemo2 {
    public static void main(String[] args) {
        // 문자타입 : char

        char c1 = 'A';
        // char c1 = "A"; // 에러 "A"는 문자열이다.
        
        // 유니코드 0041번에 해당하는 글자가 c2에 저장된다.
        char c2 = '\u0041';
        // 아스키코드 65번에 해당하는 글자가 c3에 저장된다.
        char c3 = 65; 

        System.out.println(c1);
        System.out.println(c2);
        System.out.println(c3);


        System.out.println("123\t123\n\n123");
        System.out.println("정보처리 시험에 \"합격\"하였습니다.");
    }
}
/*
---------- 실행 ----------
A
A
A
123    123

123
정보처리 시험에 "합격"하였습니다.

출력 완료 (0초 경과) - 정상 종료
*/​

 

public class TypeDemo3 {
    public static void main(String[] args) {
        // 실수 타입 : float, double
        
        double num1 = 3.14;
        // 모든 실수는 double 범위에서 판단된다.
        // 실수 끝에 f를 붙이면 float 범위에서 판단하게 한다.
        float num2 = 3.14f;

        System.out.println(num1);
        System.out.println(num2);
    }
}
​

 

public class TypeDemo4 {
    public static void main(String[] args) {
        
        double num1 = 0.1;
        double num2 = 0.2;

        System.out.println(num1 + num2);
    }
}

 

// 클래스명은 대문자로 시작
// 자바의 모든 프로그램은 클래스 내부에 정의
 public class VarDemo5 {
    public static void main(String[] args) {
        
        String title = "이것이 자바다";
        String publisher = "한빛미디어";
        int price = 30000;
        String pubdate = "2015년 1월 5일";
        String writer = "신용권";
        double discountRate = 0.05;
        boolean soldout = false;
        boolean best = true;
        boolean freeShipping = true;

        System.out.println(title);
        System.out.println(publisher);
        System.out.println(price);
        System.out.println(pubdate);
        System.out.println(writer);
        System.out.println(discountRate);
        System.out.println(soldout);
        System.out.println(best);
        System.out.println(freeShipping);
    } /* - 메인 메소드 : JVM이 항상 처음으로 찾는 메소드
                         진입점이 되는 메소드
                         프로그램이 반드시 가져야되는 메소드*/
      // 메소드는 수행문을 가질 수 있다
} // - 바디, 수행문을 가질 수 없다

/*
---------- 실행 ----------
이것이 자바다
한빛미디어
30000
2015년 1월 5일
신용권
0.05
false
true
true

출력 완료 (0초 경과) - 정상 종료
*/​

 

public class CastingDemo1 {
    public static void main(String[] args) {
        double num1 = 10;
        System.out.println(num1);
        
        // 자바는 연산에 참여한 타입과 같은 타입의 결과가 나옴
        // 타입이 다를 경우 더 큰 타입으로 변환
        int num2 = 3; // 정수
        int num3 = 10; // 정수
        System.out.println(num2 / num3); // 정수/정수 ---> 정수

        double num4 = 3.0; // 실수
        double num5 = 10.0; // 실수
        System.out.println(num4 / num5); // 실수/실수 ---> 실수

        System.out.println(num2 / num5); // 정수/실수 -> 실수/실수 --->실수
    }
}
/*
자동형변환
1. 작은 타입의 값을 큰 타입의 그릇에 담을 때
2. 덜 정밀한 타입의 값을 정밀한 타입의 그릇에 담을 때
3. 연산에 참여한 값의 타입과 연산의 결과가 같은 타입이 되게 할 때
4. 연산에 참여한 값의 타입이 서로 다른 경우 더 큰 타입의 값으로 변경될 때
*/​

 

public class CastingDemo2 {
    public static void main(String[] args) {
        
        // int num1 = 3.14; 데이터가 손실되는 타입 변환은 에러
        int num1 = (int) 3.14;
        System.out.println(num1);

        int num2 = 10;
        System.out.println(num2);
        System.out.println( (double)num2 );
    }
}

 

public class CastingDemo3 {
    public static void main(String[] args) {
        int kor = 50;
        int math = 60;
        int eng = 80;

        // 국어점수, 수학점수, 영어점수를  전부 합한 결과를 totalScore에 대입
        int totalScore = kor + math + eng;
        System.out.println(totalScore);

        // 현재 totalScore에 저장된 값 --> 190
        // (double) 190 / 3 -->190.0 / 3 -> (타입 변환) 190.0 / 3.0 -->63.3333..
        // avg 그릇에 대입된 값은 63.3333.. 이다.
        double avg = (double)totalScore / 3;
        // double avg = totalScore / 3.0;
        System.out.println(avg);
    }
}

 

public class OpDemo1 {
    public static void main(String[] args) {
        // 산술연산자 : + - * / %
        int num1 = 7;
        int num2 = 3;

        System.out.println(num1 / num2); // 몫을 계산한다
        System.out.println(num1 % num2); // 나머지를 계산한다
        // 나머지 연산자(modular) : 나누는 수보다 큰 수는 나올 수 없음
    }
}

 

public class OpDemo2 {
    public static void main(String[] args) {
        String str1 = "서울특별시";
        String str2 = " 종로구 봉익동";
        String str3 = str1 + str2;
        System.out.println(str3);
        
        String str4 = 3 + 6 + "abc";
        String str5 = "abc" + 3 + 6;
        System.out.println(str4);
        System.out.println(str5);
    }
}

 

public class OpDemo3 {
    public static void main(String[] args) {
        int kor = 65;
        int math = 79;
        int eng = 87;

        System.out.println("국어점수 " + kor);
        System.out.println("수학점수 " + math);
        System.out.println("영어점수 " + eng);
        System.out.println("종합점수 " + (kor + math + eng));
    }
}

 

public class OpDemo4 {
    public static void main(String[] args) {
        // 대입연산자 : = += -= *= /= %=
        
        int a = 10;
        a = a + 1;
        System.out.println(a);
        
        a = a + 1; // a의 값과 1을 더한 다음 그 값을 다시 a에 저장
        System.out.println(a);

        a += 1; // a의 값을 1씩 증가
        System.out.println(a);

        a -= 1; // a의 값을 1씩 감소
        System.out.println(a);

        a += 2;
        System.out.println(a);

        a *= 2;
        System.out.println(a);
    }
}

 

public class OpDemo5 {
    public static void main(String[] args) {
        int a = 10;

        a++; // a의 값 1 증가, 다른 연산과 같이 사용하게되면 연산참여 후 증가
        System.out.println(a);

        ++a; // a의 값 1 증가, 다른 연산과 같이 사용하게되면 증가 후 연산참여
        System.out.println(a);

        int b = 100;

        b--; // b의 값 1 감소
        System.out.println(b);

        --b; // b의 값 1 감소
        System.out.println(b);
    }
}

 

public class OpDemo6 {
    public static void main(String[] args) {
        int a = 10;
        int x = ++a; // a가 1 증가됨, 11이 x에 대입도미
        System.out.println("a -> " + a);
        System.out.println("x -> " + a);

        int b = 10;
        int y = b++; // b의 값이 대입됨, b가 1 증가됨
        System.out.println("b -> " + b);
        System.out.println("y -> " + y);
    }
}

 

public class OpDemo7 {
    public static void main(String[] args) {
        // 비교연산자 : == != > < >= <=
        // 비교연산자의 연산 결과는 항상 true 혹은 false 값이다

        int a = 5;
        int b = 4;

        boolean result1 = a == b;
        System.out.println(result1);

        boolean result2 = a != b;
        System.out.println(result2);

        System.out.println(a > b);
        System.out.println(a >= b);
        System.out.println(a < b);
        System.out.println(a <= b);
    }
}

 

public class OpDemo8 {
    public static void main(String[] args) {
        // 논리연산자 : && || !
        // 논리연산자의 연산 대상은 true 혹은 false 값을 결과로 내놓은 식이다.
        // 논리연산자의 연산 결과는 true 혹은 false 값이다.

        int year = 2017;
        int distance = 60000;
        
        // 구매기간이 3년이 경과된 경우 혹은 주행거리가 5만 km 이상인 경우 유상처리
        boolean result = (2019 - year) > 3 || distance >= 50000;
        System.out.println("유상수리 여부 -> " + result);
    }
}

 

import java.util.Scanner;

public class OpDemo9 {
    public static void main(String[] args) {
        // 키보드 입력을 읽어오는 객체 만들기
        Scanner scanner = new Scanner(System.in);

        System.out.println("### 합격여부 판단 프로그램 ###");

        int kor = 0;
        int math = 0;
        int eng = 0;
        int total = 0;
        int avg = 0;
        boolean pass = false; // 합격여부를 담는 그릇

        System.out.println("국어점수를 입력하세요");
        kor = scanner.nextInt();
        System.out.println("수학점수를 입력하세요");
        math = scanner.nextInt();
        System.out.println("영어점수를 입력하세요");
        eng = scanner.nextInt();

        total = kor + math + eng;
        avg = total / 3;
        pass = avg >= 60;

        System.out.println("국어점수 : " + kor);
        System.out.println("수학점수 : " + math);
        System.out.println("영어점수 : " + eng);
        System.out.println("종합점수 : " + total);
        System.out.println("평균점수 : " + avg);
        System.out.println("합격여부 : " + pass);
    }
}

 

import java.util.Scanner;

public class OpDemo10 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("### 수리비 계산 프로그램 ###");

        int year = 0; // 구매년도
        int distance = 0; //주행거리
        boolean pay = false; //유상수리 여부
        
        System.out.println("구매년도를 입력하세요");
        year = scanner.nextInt();
        System.out.println("주행거리를 입력하세요");
        distance = scanner.nextInt();
        
        // 구매기간이 3년을 넘거나 주행거리가 50000km를 넘는 경우 유상수리로 판단
        pay = (2019 - year) > 3 || distance > 50000;

        System.out.println("유상수리 여부 " + pay);
    }
}

 

import java.util.Scanner;

public class OpDemo11 {
    public static void main(String[] args) {
        // 책가격, 구매수량을 입력받아서 총구매가격을 표시하기
        Scanner scanner = new Scanner(System.in);

        int price = 0;
        int amount = 0;
        int totalPrice = 0;

        System.out.println("책 가격을 입력하세요");
        price = scanner.nextInt();
        System.out.println("구매수량을 입력하세요");
        amount = scanner.nextInt();

        totalPrice = price * amount;
        
        System.out.println("총구매가격 : " + totalPrice);
    }
}

 

public class OpDemo12 {
    public static void main(String[] args) {
        /*
        삼항연산자 -> 조건식 ? 값1      : 값2
                      조건식 ? 연산식1 : 연산식2
        값1과 값2의 타입은 동일해야 한다.
        연산식1과 연산식2의 계산결과도 타입이 동일해야 한다.
        조건식의 계산결과가 true이면 값1, false이면 값2가 삼항연산자의 연산결과가 된다.
        */

        int score = 55;
        String result = (score > 60 ? "합격" : "불합격");

        System.out.println("최종결과 " + result);

        int totalPrice = 100000;
        int grade = 1;

        double point = (grade == 1 ? totalPrice * 0.03 : totalPrice * 0.01);

        System.out.println("포인트 " + point);
    }
}

'자바 > basic' 카테고리의 다른 글

RefDemo2, ArrayDemo9.java  (0) 2019.06.07
BookProgram2, IfDemo7, SwitchDemo1, ForDemo14(4 없음).java  (0) 2019.06.07

+ Recent posts