본문 바로가기
자바 , 기타 공부/자바 기초.1.04까지만

기초 1장

by 임지혁코딩 2023. 12. 26.

(두번 다시 복습할 시간이 없을 것 같아, 마지막으로 복습을 진행한다)

 

1 변수 

문자 char , 숫자 정수는 byte long, int short. 실수는 float, double. 논리 boolean

 

그중 기본형은 boolean,char,bye,short,int,long,float,double. -> 실제 값을 저장한다

system이나 string과 같은 나머지들은 참조형으로써, 객체의 주소를 저장한다. 

 

int score; score =100; // int score = 100; STring str = new String("abc") ; -> string은 참조형

명명규칙 -> 협업시 주의 . 1. 대소문자 구분, 2. 예약된언어 true등 사용 불가 3.숫자 시작 710 불가능

4. _와 $만 명명규칙에 사용 가능. 5. Class명의 첫글자는 대문자, 변수 메소드는 소문자. 

6. 여러단어 LastIndexOf와 같이 단어들의 첫글자를 대문자로. 7. 상수의 이름은 대문자로 PI,MAX_NUMBER 

변수란, 값을 저장하는 공간. 상수는 단 한번만 저장가능한 공간 (final int MAX =100;) int a = 3; 3은 리터럴.

초기화 -> 변수에 처음으로 값을 저장 

 

char은 단일문자 char ch = "A"// String s1 = "A" + "B" 가능. 문자열+문자열 가능.

overflow -> byte b = 127까지만 가능하다. 

형 변환 float f = 1.6f; //f를 반드시 붙여줘야 한다. int i = (int)f;

System.out.printf("%2.f", 10.0/3) ; / 출력형식을 부동소수점, %b시 boolean ,  %d 10진수 %o 8진수 등등

 

Scanner? - *클래스* 화면으로부터 데이터를 입력받는다 

Scanner myscanner = new Scanner(System.in) ; int num = myscanner.nextInt(); 

 

3장. 연산자 

우선순위 * 1학년인가 2학년때 이거 우선순위 외웠던 기억이난다.. 추억 

괄호/ 단항 ++ -- = ~ ! / 산술 + - << > > >= / 논리 %|^$$ / 삼항 ?: / 대입 - >= !=

 

상식적인 연산을 따르지만, >>가 +보다 낮고, ||, | 는 && , & 보다 낮음을 주의 (or이 and보다 낮음)

-> 컴퓨터적 연산에 따라 and가 먼저 실행됨을 기억하자. 

int i = 5; ++i는 i값이 사용되기 전에 증가되고, i ++는 i값이 사용된 이후 증가된다. 

 

반올림 . float shortPi = math.round(pi * 1000) / 1000f; 

%는 나머지 . - << >> 는 쉬프트 연산자 . 8 << 2 -> 8 * 2의 2승 

 

논리연산자 && and | | or .  

삼항연산자  -> int absX = x>= 0 ? x  -x; -> x>0이면 absX가 x. else시 -x임! (한줄로 코드 정리)

 

4장 조건문

if () { } else if () {} else {} // 코딩 테스트를 파이썬으로 하기떄문에 자주 헷갈리는데, ()와 {}즉, 고프때 사용한 c++을 쓴다고 생각하자.

switch(변수) {case a : ~ case b,c : ~ default: ~ }

 

if(str.equals("c") ) -> 주소가 아니라 sring의 실제 값만을 비교하기 위해 사용하는 연산자. 

 

switch문은, 계산결과가 문자열 혹은 int type의 정수로만 사용되며, case문 안에는 변수를 넣을 수 없다.

난수 -> 0.0<= Math.random() <1.0 

 

반복문 for ,while do-while

for (int i =0 ; i<= 5; i++ ) //0,1,2,3,4,5. ㅈ증감식을 하고, 그이후 조건에 맞는지 다시검사.

/ while(i<=5) // do {} while(i<=5)  . for문의 int i 는 지역변수. 

do while은 반드시 1번 이상 수행 필수. break와 continue를 통해 반복문 탈출이 가능! 

 

5. 배열 

int [] score; 로 선언, String [] name; 으로 선언 

score = new int[size]; 

초기화 int []score = {100, 90, 20, 30, 40 } ; or int []score = new int[] { 100, 90 , 80 , 70 , 60 } 가능!

 

score = { 100, 90, 80, 70 ,60 }에러 발생! 왜일까, 아무 것도 없이 공간을 잡아준 후, 그곳에 다시 넣는 과정은 불가하다.

 

swap 

int j = 0 ;

j= ball[0]

ball [ 0] = ball[1]

ball [1] = j

 

다차원 배열 int [] [] score ; 

score [0][0]과 같이 접근, 초기화시 int [][] score= { {0,1,2}, {3,4,5} , {6,7,8}} 

배열에 접근할때는, int [] pushtohere = new int [10] ; 이후 pushtohere[0] = i와 같이 접근하여 대입해야한다. 

len(array)대신 array1.length를 사용한다. 

or System.arraycopy(sourceArray, 0, destinationArray, 0, sourceArray.length);