(0) 알 면 좋은 지식들
① 변수의 사용범위: 블록마다 변수 사용범위가 다름
public static void main(String[] args){
int var1;
if(~){
int var2;
//var1,var2사용
}
for(~){
int var3;
//var1, var3사용
//var2 사용 x
}
}
//var1사용
//var2,3사용 xx
②타입변환가능
⦁ 작은 것 → 큰 것: 자동 타입변환
크기가 큰 것으로 자동변환(int로 선언해도 double형이 될 수 있다는 얘기)
⦁ 큰 것 → 작은 것: 강제 타입변환
1)큰 것을 작은 것 단위로 쪼갬.
2)끝 부분만 작은 타입으로 강제적 변환
(1) 자료형
<크기>
0) byte: 1바이트
1) char: 2바이트
2) short: 2바이트
3) int, float: 4바이트
4) long, double: 8바이트
(*c에서는 long은 4바이트고 long long이 8바이트인데 자바에서는 long long은 없고 long이 8바이트이다)
①정수형
1) byte: 1바이트
2) short: 2바이트
3) int: 4바이트
4) long: 8바이트
**표현범위는 이진수 비트단위임(1바이트=8비트)
② 실수형
1) float: 4비트
*f를 붙여야함.
2) double: 8비트
float pi=3.14F;
double morePi: 3.14159265358979323846;
③ 8진수와 16진수
1) 8진수: 0으로 시작
2) 16진수: 0x로 시작
int octal=023; //19
int hex=0xc; //12
④boolean: 참 또는 거짓
⦁ 형식: boolean ~=true/false;
⦁ 활용
int base=180;
int height=185;
boolean isTall=height>base;
if (isTall){
System.out.println("키가 큽니다.");
}
>>>"키가 큽니다."
⑤문자: char(1바이트)
⑥문자열: string, stringbuffer
∨ string (new)
⦁ 선언형식
String a="hello world";
String a=new string("hello world");
(new) 는 String에서만 사용가능(boolean, char, int 등등 나머지는 사용 x)
1) 사용 모듈(string이름 . 모듈이름)
⦁ equals: 동일한지 판단해서 bool값 리턴(값을 판단)
⇒ 객체를 판단하는 것 동일한 객체여야 true를 리턴함 → ==와 다름
string a="hello";
string b="hello";
system.out.println(a.equals(b));
>>>True
⦁ indexOf: 특정문자 시작 인덱스 리턴(시작 문자 위치 출력)
⦁ replaceAll: 특정문자를 다른 문자로 바꿈
string a="hello java";
system.out.println(a.replaceAll("java","world");
>>>hello world
⦁ substring: 특정문자를 뽑아낼 때 사용(파이썬에서 슬라이싱같은역할)
string name="kim sux bak";
system.out.println(a.substring(0,5));
>>>kim s
⦁ toUpperCase: 문자열을 모두 대문자로 ↔ toLowerCase
∨ stringBuffer (new) : 문자열을 추가하거나 변경할 때 사용
*다 하고 toString()모듈을 이용해서 string 자료형으로 변경
⦁ append: 추가
<stirngBuffer 이용>
public class name{
public static void main(String[] args){
StringBuffer sb=new stringBuffer();
sb.append("hello");
sb.append(" ");
sb.append("sb-kim");
system.out.println("sb.toString());
}
}
>>>hello sb-kim
<string 만 사용>
public class name{
public static void main(String[] args){
string temp="";
temp+="hello";
temp+=" ";
temp+="sb-kim";
system.out.println(temp);
}
}
>>>hello sb-kim
⦁ insert: 원하는 위치에 문자열 삽입
public class name{
public static void main(String[] args){
stringBuffer sb= new stringBuffer();
sb.append("i'm sux bak");
sb.insert(0,"hello ");
system.out.println(sb.toString());
}
}
>>>hello i'm sux bak
⦁ substring: string자료형의 메소드와 사용방법 동일 (문자열 슬라이싱)
⑦ 배열(Array)
※배열의 길이를 고정해야함!
<잘못한 예시>
string[] weeks = new string[];
<잘한 예시>
string[] weeks = new string[7];
⑧ List
ArrayList (new)
⦁ 모듈
1) add: 추가
→원하는 위치에 삽입가능
Arraylist name= new arraylist();
name.add("sux");
name.add("bak");
name.add(0,"kim");
>>>["kim","sux","bak"]
2) get: 특정 인덱스 값 출력가능 (.get(위치))
3) size: list갯수 리턴
4) contains: 특정 항목이 있는지 bool값으로 리턴
5) remove: 객체 또는 인덱스로 삭제
*제네릭스⇒ 리스트에 담는 자료형까지 지정
Arraylist<String> list = new Arraylist<String>();
→리스트안에 문자열만 담을 수 있다.
⑨ Map (파이썬에서 딕셔너리역할)
⦁ 자료형 ☜이건 좀더 공부해야될 거 같다!
1) HashMap
2) LinkedHashMap
3) TreeMap
⦁ 모듈
1) put
HashMap<String,String>map= new HashMap<String, String>();
map.put("people","사람")ㅣ
map.put("baseball","야구");
2) get: key를 이용해 value값을 얻음.
3) containsKey: key가 잇는지 확인해 bool값으로 리턴.
4) remove: key값을 삭제하고 value를 출력.
5) size: map의 갯수를 리턴.
⑩ class ☜클래스 부분에서 자세하게!
:클래스를 만들면 자료형 변수를 만들 수 있다.
ex)
class sb{
sb age;
}
(2) 연산
①+, -, *, /, %
package sbkJAVA;
public class fourcal{
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(a/b);
system.out.println(a%b);
}
}
②++, - -
⦁ i++: 출력후 증가
⦁ ++i: 증가후 출력
'코딩테스트' 카테고리의 다른 글
[이론] 3. 제어문 (조건문과 반복문) (0) | 2020.07.28 |
---|---|
[이론] 2. 연산자 (0) | 2020.07.28 |
[이론] 0. 자바 공부 시작전에... (0) | 2020.07.28 |
[실습] 2. 컴퓨터가 랜덤으로 생성한 4자리 숫자 맞추기게임 (0) | 2020.05.14 |
[python] 피보나치 수열 구현 (0) | 2020.05.13 |