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 |