int age = 20;
String country = "Korea";
변수규칙 | 예시 |
---|---|
문자와 숫자, $, _ 사용가능 | int _apple2 = 1; |
숫자로 시작 x | int 3apple = 1; |
대문자와 소문자 구분 | int Apple = 2; != int APPLE = 2; |
공백 사용 X | int one apple = 2; |
미리 예약된 이름 사용 X | int true = 1; |
카멜 표기법 (camelCase) : 가장 앞의 문자는 소문자로, 나머지 단어의 첫 문자는 대문자로 표기
ex) myName, iPhone
파스칼 표기법 (PascalCase) : 각 문자의 첫 문자를 대문자로 표기
ex) MyName, IPhone
// Java 프로그래밍 - 변수와 자료형_1
public class Main {
public static void main(String[] args) {
// 1. 변수 사용하기
System.out.println("== 변수 사용하기 ==");
int age = 10;
System.out.println(age);
String country = "Korea";
System.out.println(country);
// 2. 변수 이름 규칙
System.out.println("== 변수 이름 규칙 ==");
// 2-1. 문자, 숫자, _(underscore), $ 사용 가능
int apple = 2000;
int apple3 = 2000;
int _apple = 2000;
int $apple = 2000;
System.out.println($apple); // 단축키 sout
System.out.println("$apple = " + $apple); // 단축키 soutv
// 2-2. 숫자로 시작 X
// int 3apple = 2000;
// 2-3. 대소문자 구분
int apple5 = 1000;
int Apple5 = 2000;
// 2-4. 공백 사용 X
int one_apple = 1000;
int ontApple = 1000;
// 2-5. 예약어 사용 X
// 예약어 예시: true, false, if, switch, for, continue, break, ...
// int true = 1;
// 참고) 한글 사용 가능
int 사과 = 1000;
System.out.println("사과 = " + 사과);
// 3. 표기법
// 3-1. 카멜 표기법 (camelCase)
// 변수, 함수
int myAge = 10;
int oneApplePrice = 1000;
// 3-2. 파스칼 표기법 (PascalCase)
// 클래스
int MyAge = 10;
int OneApplePrice = 1000;
// 참고) 스네이크 표기법 (snake_case)
// 사용 X (자바에서는 사용하지 않고, 파이썬에서 사용함.)
int my_age = 10;
int one_apple_price = 1000;
}
}
// Java 프로그래밍 - 변수와 자료형_2
public class Main {
public static void main(String[] args) {
// 1. 자료형 - 숫자
System.out.println("== 숫자 ==");
// 1-1. 정수
int intNum = 10;
System.out.println("intNum = " + intNum);
System.out.println(Integer.MIN_VALUE); // "int" 는 기본타입, "Integer" 는 기본 타입에 더해서 몇가지 기능 추가
System.out.println(Integer.MAX_VALUE); // 자바에서 상수는 대문자 스네이크 표기법을 이용함.
int intNum2 = Integer.MAX_VALUE;
System.out.println("intNum2 = " + intNum2);
int intNum3 = Integer.MAX_VALUE + 1; // 최솟값이 출력됨
System.out.println("intNum3 = " + intNum3);
long longNum = (long)Integer.MAX_VALUE + 1; // 앞에 long으로 자료형 변환 해줘야 값이 int의 최대 값에 1을 더한 값이 출력됨.
System.out.println("longNum = " + longNum);
// 1-2. 실수
float floatNum = 1.23f; // 뒤에 f를 붙여줘야 float로 인식함. 안 써주면 double.
double doubleNum = 1.23;
System.out.println(Float.MAX_VALUE);
System.out.println(Double.MAX_VALUE);
// 1-3. 2진수 / 8진수 / 16진수
int numBase2 = 0b1100;
System.out.println("numBase2 = " + numBase2);
int numBase8 = 014;
System.out.println("numBase8 = " + numBase8);
int numBase16 = 0xC;
System.out.println("numBase16 = " + numBase16);
// 출력은 전부 10진수로 바뀌어서 출력됨.
System.out.println("0b" + Integer.toBinaryString(numBase2)); // 2진수 형태로 출력
System.out.println("0" + Integer.toOctalString(numBase8)); // 8진수 형태로 출력
System.out.println("0x" + Integer.toHexString(numBase16)); // 16진수 형태로 출력
// 2. 자료형 - 부울
System.out.println("== 부울 ==");
boolean isPass = true;
System.out.println("isPass = " + isPass);
boolean isOk = false;
System.out.println("isOk = " + isOk);
// 3. 자료형 - 문자
System.out.println("== 문자 ==");
char keyFirst = 'a';
System.out.println("keyFirst = " + keyFirst);
char keyLast = 'z';
System.out.println("keyLast = " + keyLast);
System.out.println((int)keyFirst);
System.out.println((int)keyLast);
}
}
String s1 = "Hello World!";
String s2 = "01234";
StringBuffer sb1 = new StringBuffer("Hello World!");
int[] myArray1 = {1,2,3,4,5};
char[] myArray2 = {'a', 'b', 'c', 'd', 'e'};
// Java 프로그래밍 - 변수와 자료형_3
import java.util.Locale;
public class Main {
public static void main(String[] args) {
// 1. 자료형 - 문자열
System.out.println("== 문자열 ==");
String s1 = "Hello World";
System.out.println("s1 = " + s1);
String s2 = "01234";
System.out.println("s2 = " + s2);
// 1-1. equals
String s3 = "Hi";
String s4 = "Hi";
System.out.println(s3.equals(s4)); // 참
System.out.println(s3 == s4); // 참(같은 객체의 'Hi'를 가리킴)
String s5 = new String("Hi"); // 명시적으로 데이터 새롭게 하나 만든 것. s3과는 다른 객체
System.out.println(s3.equals(s5)); // equals는 값('Hi')을 비교, 참
System.out.println(s3 == s5); // 객체를 비교, 거짓(같은 객체 'Hi'를 가리키는 것이 아니라. 새로운 객체를 만들었으므로 값만 같고, 객체는 다르다는 것을 의미)
// 1-2. indexOf (문자열에서 특정 문자열 위치를 찾아주는 메소드)
String s6 = "Hello! World!";
System.out.println(s6.indexOf("!")); // 0부터 시작, 5 출력
System.out.println(s6.indexOf("!", s6.indexOf("!") + 1)); // 처음 위치의 바로 다음 위치에 있는 느낌표 찾아줌, 12 출력
// 1-3. replace
String s7 = s6.replace("Hello", "Bye");
System.out.println("s7 = " + s7); // Bye! World! 로 출력. 'Hello'를 'Bye'로 대체.
// 1-4. substring
System.out.println(s7.substring(0, 3)); // 인덱스 0 ~ 2까지 출력
System.out.println(s7.substring(0, s7.indexOf("!") + 1)); // 인덱스 0 ~ "!"까지 출력
// 1-5. toUpperCase (모두 대문자로 바꿔줌)
System.out.println(s7.toUpperCase());
// 2. 자료형 - StringBuffer
System.out.println("== StringBuffer ==");
StringBuffer sb1 = new StringBuffer(); // 스트링 버퍼는 데이터가 변경되도 객체가 새로 만들어지는 게 아니라 기존의 객체에서 변경이 된다.
sb1.append("01234"); // 데이터 넣기
System.out.println("sb1 = " + sb1);
sb1.append("56789"); // 이어서 데이터 넣기
System.out.println("sb1 = " + sb1);
String a = "01234";
String b = "56789";
String bak = a;
System.out.println(a == bak); // a 변화 발생 전, true
a += b; // 스트링은 데이터에 변화가 일어날 때 마다 새롭게 객체를 생성해서 사용, 메모리 생성 여러번, 속도 딜레이 발생
System.out.println(a);
System.out.println(a == bak); // a 변화 발생 후, false
// 3. 자료형 - 배열
System.out.println("== 배열 ==");
int[] myArray1 = {1, 2, 3, 4, 5};
System.out.println(myArray1[0]);
System.out.println(myArray1[1]);
System.out.println(myArray1[2]);
System.out.println(myArray1[3]);
System.out.println(myArray1[4]);
char[] myArray2 = {'a', 'b', 'c', 'd', 'e'};
System.out.println(myArray2[2]);
String[] myArray3 = new String[3]; // 'c' 출력
myArray3[0] = "Hello";
myArray3[1] = " ";
myArray3[2] = "World!";
System.out.println(myArray3[0] + myArray3[1] + myArray3[2]);
}
}
ArrayList l1 = new ArrayList();
l1.add(1);
HashMap<String, String> map = new HashMap<String, String>();
map.put("product", "kiwi");
map.put("price", "9000");
ArrayList<String> l1 = new ArrayList<String>();
HashMap<String, Integer> map1 = new HashMap<String, Integer>();
// Java 프로그래밍 - 변수와 자료형_4
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// 1. 자료형 - 리스트
System.out.println("== 리스트 ==");
ArrayList l1 = new ArrayList(); // option + enter 눌러주면 자동으로 import 생성
// 1-1. add
l1.add(1); // 리스트 l1에 데이터 추가
l1.add("hello");
l1.add(2);
l1.add(3);
l1.add(4);
l1.add("world!");
System.out.println("l1 = " + l1);
l1.add(0, 1); // index 0번 자리에 '1' 추가
System.out.println("l1 = " + l1);
// 1-2. get
System.out.println(l1.get(0)); // 리스트 0번 인덱스에 있는 데이터 꺼내옴
System.out.println(l1.get(3));
// 1-3. size
System.out.println(l1.size()); // 리스트 사이즈가 출력
// 1-4. remove
System.out.println(l1.remove(0)); // 0번 인덱스 위치에 있는 값 지움
System.out.println("l1 = " + l1);
System.out.println(l1.remove(Integer.valueOf(2))); // 리스트에 있는 숫자 2를 지운다
System.out.println("l1 = " + l1);
// 1-5. clear (리스트에 있는 모든 데이터 삭제)
l1.clear();
System.out.println("l1 = " + l1);
// 1-6. sort
ArrayList l2 = new ArrayList(); // 배열 리스트 생성
l2.add(5);
l2.add(3);
l2.add(4);
System.out.println("l2 = " + l2);
// 데아터들 집어넣기
l2.sort(Comparator.naturalOrder()); // 오름차순 정렬
System.out.println("l2 = " + l2);
l2.sort(Comparator.reverseOrder()); // 내림차순 정렬
System.out.println("l2 = " + l2);
// 1-7. contains
System.out.println(l2.contains(1)); // 1이 포함되어 있는 지 여부
System.out.println(l2.contains(3)); // 3이 포함되어 있는 지 여부
// 2. Maps (쌍을 이루어서 저장하는 자료형)
System.out.println("== Maps ==");
HashMap map = new HashMap();
// 2-1. put
map.put("kiwi", 9000);
map.put("apple", 10000);
map.put("mango", 12000);
System.out.println("map = " + map);
// 2-2. get
System.out.println(map.get("mandarine")); // 없는 데이터, NULL 출력
System.out.println(map.get("kiwi")); // 9000 출력
// 2-3. size
System.out.println(map.size()); // 데이터 사이즈 개수
// 2-4. remove
System.out.println(map.remove("kiwi")); // map에 kiwi 제거
System.out.println(map.remove("mandarine")); // NULL 출력
System.out.println("map = " + map);
// 2-5. containsKey
System.out.println(map.containsKey("apple")); // true 출력
System.out.println(map.containsKey("kiwi")); // false 출력
// 3. Generics
System.out.println("== Generics ==");
ArrayList l3 = new ArrayList();
l3.add(1);
l3.add("hello");
System.out.println("l3 = " + l3); // 1과 hello 출력
ArrayList<String> l4 = new ArrayList<String>();
// l4.add(1); l4에는 String만 입력 받을 수 있으므로 안된다.
l4.add("hello");
System.out.println("l4 = " + l4); // hello 출력
HashMap map1 = new HashMap();
map1.put(123, "id");
map1.put("apple", 10000);
System.out.println("map1 = " + map1);
HashMap<String, Integer> map2 = new HashMap<>();
// map2.put(123, "id");
map2.put("apple", 10000);
System.out.println("map2 = " + map2);
}
}