java는 제임스 고슬링과 연구인들이 개발한 객체 지향적 프로그래밍 언어
java는 Write Once, Run Anywhere
- 한 번 작성하면 어디에나 실행 가능
- 즉, 자바로 개발된 프로그램은 자바 실행 환경 JRE가 설치된 모든 환경에서 실행 가능
/**
* 변수
*/
int number = 5;
System.out.println("number = " + number);
number = 3;
System.out.println("number = " + number);
/**
* 상수
*/
final int finalNumber = 1;
System.out.println("finalNumber = " + finalNumber);
// finalNumber = 2; -> 오류 발생: 상수는 재할당 되지 않음
변수를 선언할 때는 [접근제어자] [변수의 자료형] [변수의 이름]
의 방식을 이용하면 됩니다.
변수 선언을 할 때 값도 함께 선언하고 싶을경우에는 [변수의 자료형] [변수의 이름]=[값]
의 방식을 이용하면 됩니다.
💡 변수의 이름을 붙이는 규칙. Java에서는 CamelCase라는 규칙으로 이름을 선언하는 것을 defacto standard(사실상의 표준)으로 하고 있다. 첫 글자는 알파벳 소문자로, 그 이후에 단어의 단위마다 첫 글자만 대문자이고 나머지는 소문자인 단어를 붙여서 쓰는 방식이다.
/**
* **기본자료형**
* 정수
* 1. short: 2byte로 표현할 수 있 정수 자료형
*/
short s = 1;
System.out.println("s = " + s);
System.out.println(Short.MIN_VALUE + " " + Short.MAX_VALUE);
/**
* 2. int: 4byte로 표현할 수 있 정수 자료형 (약 -20억 ~ +20억)
*/
int a = 1;
System.out.println("a = " + a);
System.out.println(Integer.MIN_VALUE + " " + Integer.MAX_VALUE);
/**
* 3. long: int 이상을 표현 가능한 정수 자료형
*/
long l = 2;
System.out.println("l = " + l);
System.out.println(Long.MIN_VALUE + " " + Long.MAX_VALUE);
/**
* 실수
* 1. float
*/
float f = 5.5F;
System.out.println("f = " + f);
System.out.println(Float.MIN_VALUE + " " + Float.MAX_VALUE);
/**
* 2. double
*/
double d = 5.5;
System.out.println("d = " + d);
System.out.println(Double.MIN_VALUE + " " + Double.MAX_VALUE);
/**
* 문자
* char
*/
char c = 'A';
System.out.println("c = " + c);
/**
* 논리
* boolean
*/
boolean fact = true;
System.out.println("fact = " + fact);
/**
* byte
*/
byte byteData = 'a';
System.out.println("byteData = " + byteData); //97 -> ASCII code 값
char charData = 'a';
System.out.println("charData = " + charData); //a
/**
* **참조 자료형**
* 기본 자료형이 아닌 모든 자료형
* String
*/
String sparta = "Hello sparta";
System.out.println("sparta = " + sparta);
/**
* 배열: 동일한 자료형의 데이터를 연속된 공간에 저장하기위한 자료구조
* 실제 배열을 잘 사용하지는 않는다. (주로 동적 메모리 할당이 가능한 ArrayList 사용)
* Array
*/
int[] inArray1 = new int[5];
System.out.println("inArray1 = " + Arrays.toString(inArray1));
inArray1[1] = 1;
System.out.println("inArray1 = " + Arrays.toString(inArray1));
int[] inArray2 = new int[]{1, 2, 3, 4, 5};
System.out.println("inArray2 = " + Arrays.toString(inArray2));
String[] stringEmptyArray = new String[4];
System.out.println("stringEmptyArray = " + Arrays.toString(stringEmptyArray));
String[] season = {"봄", "여름", "가을", "겨울"};
System.out.println("season = " + Arrays.toString(season));
System.out.println("season.length = " + season.length);
System.out.println("season[season.length-1] = " + season[season.length - 1]);
/**
* **조건문**
* if (조건식){
* 실행 코드
* }
*/
Scanner sc = new Scanner(System.in);
int myScore = sc.nextInt();
if (myScore<=100 && myScore >= 90) {
System.out.println("A등급 입니다.");
} else if (myScore<90 &&myScore >= 80) {
System.out.println("B등급 입니다.");
} else if (myScore<80 &&myScore >= 70) {
System.out.println("C등급 입니다.");
} else {
System.out.println("F등급 입니다.");
}
/**
* switch 문
*/
char score = 'A';
switch (score) {
case 'A':
System.out.println("A등급입니다.");
break;
case 'B':
System.out.println("B등급입니다.");
break;
case 'C':
System.out.println("C등급입니다.");
break;
default:
System.out.println("F등급입니다.");
}
/**
* 삼항연산자
*/
int a = 10;
String result = (a < 10) ? "10보다 작습니다." : "10보다 크거나 같습니다.";
System.out.println("result = " + result);
}
/**
* **반복문**
* for문
*/
int sumOdd = 0;
int sumEven = 0;
for (int i = 0; i <= 30; i++) {
if (i % 2 == 0) {
sumEven += i;
} else {
sumOdd += i;
}
}
System.out.println("sumOdd = " + sumOdd); //225
System.out.println("sumEven = " + sumEven); //240
/**
* for-each문
*/
String[] days = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
for (String day : days) {
System.out.println("day = " + day);
}
/* day = Monday
day = Tuesday
day = Wednesday
day = Thursday
day = Friday
day = Saturday
day = Sunday */
/**
* while문
*/
int i = 0;
int sum = 0;
while (true) {
if (i >= 10)
break;
sum += (i + 1);
i++;
}
System.out.println("sum = " + sum); //55
/**
* do-while문
*/
i = 0;
sum = 0;
do {
sum += (i + 1);
i++;
} while (i < 10);
System.out.println("sum = " + sum); //55