본문 바로가기
java

package

by wjdtmdgjs 2024. 7. 18.

오늘 한일

1.sql 복습하기

2. java 진도나가기

3. 발표준비

 

오늘 배운 것

 

@@
패키지 - 자바 파일을 구분하기 위한 폴더
해당 패키지에 들어가는 자바 파일 첫줄에 package (패키지명)이라고 해줘야한다.

ex>
package variable;

public class Var2 {
    public static void main(String[] args) {
        int a; //변수 선언
        a= 20; //변수 초기화

        System.out.println(a);
        System.out.println(a);
        System.out.println(a);
    }
}

선언한 변수에 처음을 값을 대입해서 저장하는 것을 변수 초기화라고한다.
변수를 선언하면 그 공간에 기존에 무엇이 들어있었는지 모르기때문에 초기화를 강제한다.(초기화안하면 에러남)
지역변수는 직접 초기화해주어야 한다. 클래스  변수와 인스턴스 변수는 자바가 자동으로 초기화해줌.
컴파일 에러(자바 문법에 맞지않을 때)는 오류를 빠르고 정확하게 찾을수 있기 때문에 사실 좋은 에러이다.

@@@@@@@@한줄 바로 복사 단축기 ctrl + d

변수 타입
int a = 100; // 정수
double b = 10.5; // 실수
boolean c = true; // true or false
char d = 'a'; // 문자 1개만, 작은 따옴표를 사용해서 감싸야한다.
String e="Hello java"; // 문자열을 다루는 특별한 타입 (첫 S 대문자!!!), 큰 따옴표를 사용해야한다.


리터럴 = 코드에서 직접적은 값들 
int a = 100; // 정수 리터럴 
double b = 10.5; // 실수 리터럴
boolean c = true; // 불리언 리터럴
char d = 'a'; // 문자 하나 리터럴
String e="Hello java"; // 문자열 리터럴

//정수
 byte b = 127; //-128 ~ 127
 short s = 32767; // -32,768 ~ 32,767
 int i = 2147483647; //-2,147,483,648 ~ 2,147,483,647 (약 20억)

 //-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
 long l = 9223372036854775807L;
 //실수
 float f = 10.0f;
 double d = 10.0;

변수를 선언하면 표현 범위에 따라 메모리 공간을 차지한다. 그래서 필요에 맞도록 다양한 타입을 제공한다.

다음 타입은 실무에서 거의 사용하지 않는다.
byte : 표현 길이가 너무 작다. 또 자바는 기본으로 4byte( int )를 효율적으로 계산하도록 설계되어 있다. int
를 사용하자.
byte 타입을 직접 선언하고 여기에 숫자 값을 대입해서 계산하는 일은 거의 없다.
대신에 파일을 바이트 단위로 다루기 때문에 파일 전송, 파일 복사 등에 주로 사용된다.
short : 표현 길이가 너무 작다. 또 자바는 기본으로 4byte( int )를 효율적으로 계산하도록 설계되어 있다.
int 를 사용하자
float : 표현 길이와 정밀도가 낮다. 실수형은 double 을 사용하자.
char : 문자 하나를 표현하는 일은 거의 없다. 문자 하나를 표현할 때도 문자열을 사용할 수 있다.
예를 들어 String a = "b" 와 같이 사용하면 된다.

결론
정수 - int , long : 자바는 정수에 기본으로 int 를 사용한다. 만약 20억이 넘을 것 같으면 long 을 쓰면 된다.
파일을 다룰 때는 byte 를 사용한다.
실수 - double : 실수는 고민하지 말고 double 을 쓰면 된다.
불린형 - boolean : true , false 참 거짓을 표현한다. 이후 조건문에서 자주 사용된다.
문자열 - String : 문자를 다룰 때는 문자 하나든 문자열이든 모두 String 을 사용하는 것이 편리하다.
자주 사용하는 타입을 제외하고 실무에서 나머지를 사용하는 경우는 거의 없다. 그나마 파일 전송시에 byte 를 사용하는 것 정도이다

규칙
변수 이름은 숫자로 시작할 수 없다. (예: 1num , 1st )
그러나 숫자를 이름에 포함하는 것은 가능하다 (예: myVar1 , num1 ).
이름에는 공백이 들어갈 수 없다.
자바의 예약어를 변수 이름으로 사용할 수 없다. (예: int , class , public )
변수 이름에는 영문자( a-z , A-Z ), 숫자( 0-9 ), 달러 기호( $ ) 또는 밑줄( _ )만 사용할 수 있다.

관례
소문자로 시작하는 낙타 표기법
변수 이름은 소문자로 시작하는 것이 일반적이다. 여러 단어로 이루어진 변수 이름의 경우, 첫 번째 단어는
소문자로 시작하고 그 이후의 각 단어는 대문자로 시작하는 낙타 표기법(camel case)를 사용한다. (예:
orderDetail , myAccount )

자바에서 클래스 이름의 첫 글자는 대문자로 시작한다. 그리고 나머지는 모두 첫 글자를 소문자로 시작한다. 여기
에 낙타 표기법을 적용하면 된다. 이렇게 하면 모든 자바 관례를 다 외울 수 있다!
예시: 클래스는 첫 글자 대문자, 나머지는 모두 첫 글자 소문자로 시작 + 낙타 표기법
클래스: Person , OrderDetail
변수를 포함한 나머지: firstName , userAccount
여기에 예외가 딱 2개 있다.
상수는 모두 대문자를 사용하고 언더바로 구분한다. (상수는 뒤에서 학습)
USER_LIMIT
패키지는 모두 소문자를 사용한다. (패키지는 뒤에서 학습)
org.spring.boot
참고: 변수 이름은 의미있고, 그 용도를 명확하게 설명해야 한다.
a , b : 이런 변수는 용도를 설명하지 않는다. 단순한 예제에서만 사용하는 것이 좋다.
studentCount , maxScore , userAccount , orderCount : 용도를 명확하게 설명한다.

@@soutv = 앞의 변수를 불러와서 출력해주는 단축키


연산자
산술 연산자: + , - , * , / , % (나머지 연산자)
증감(증가 및 감소) 연산자: ++ , --
비교 연산자: == , != , > , < , >= , <=
논리 연산자: && (AND), || (OR), ! (NOT)
대입 연산자: = , += , -= , *= , /= , %=
삼항 연산자: ? :

자바에서 같은 int 형끼리 계산하면 계산 결과도 같은 int 형을 사용한다. int 형은 정수이기 때문에 소수점 이하를 포함할 수 없다

문자와 숫자를 더하면 숫자를 문자열로 변경한 다음에 서로 더한다
"a + b = "(String) + 10(int) //문자열과 숫자 더하기
"a + b = "(String) + "10"(int -> String) //숫자를 문자열로 변경
"a + b = " + "10" //문자열과 문자열 더하기
"a + b = 10" //결과

증감 연산자 
a=a+1;  ===  ++a;
a=a-1;   === --a;

전위, 후위 증감연산자
증감 연산자는 피연산자 앞에 두거나 뒤에 둘 수 있으며, 연산자의 위치에 따라 연산이 수행되는 시점이 달라진다.
++a : 증감 연산자를 피연산자 앞에 둘 수 있다. 이것을 앞에 있다고 해서 전위(Prefix) 증감 연산자라 한다.
a++ : 증감 연산자를 피연산자 뒤에 둘 수 있다. 이것을 뒤에 있다고 해서 후위(Postfix) 증감 연산자라 한다.
public class OperatorAdd2 {
    public static void main(String[] args) {
        int a = 1;
        int b = 0;

        b= ++a; //a의 값을 먼저 증가시키고, 그 결과를 b에 대입
        System.out.println("a = " +a + ", b=" + b);

        a=1;
        b=0;

        b=a++; // a의 값을 b에 먼저 대입하고, 그 후 a값을 증가
        System.out.println("a = " +a + ", b=" + b);

    }
}

문자열이 같은지 비교할 때는 ==이 아니라 .equals()를 사용해야 한다.

@@@(ctrl + shift + enter) 문장의 끝부분의 세미콜론 완성 시켜좀

오늘을 돌아보며,

팀장이 우리와 이야기도 없이 나갔다는 것을 오늘 매니저님께 물어서 알게되었다.

팀 프로젝트도 있고 발표가 내일인데, 말도 안하고 나간 것이 조금 속상했다.

이 일을 돌아보며 팀원간의 소통을 열심히 해야겠다는 생각이 들었다.

java를 새로 공부하니 다른 언어들과 조금 달라서 어색하면서도, 새로운 느낌이라 재미가 있다.

역시 개발자의 길을 선택하길 잘한 것 같다는 생각이 들었다.

 

내일할일

1.발표 하고 팀 프로젝트 마무리 잘하기.

2. 오후까지 집중력 유지해보기

3. sql 강의 진도 나가기.

'java' 카테고리의 다른 글

getter&setter  (0) 2024.07.29
객체지향  (0) 2024.07.26
list, map  (1) 2024.07.25
연산자, 조건문 (Sql 조금)  (1) 2024.07.24
JVM 공통 실행 환경  (6) 2024.07.22