JAVA -1

sey950·2023년 12월 27일

JAVA

목록 보기
2/15
post-thumbnail

1. eclipse 단축키

  • ctrl + D : 삭제
  • ctrl + Z : 코드
  • ctrl + y :코드 돌리기
  • ctrl + space : 자동완성
  • ctrl + F11 : 자동 실행
  • ctrl + shift + f : 코드 자동정렬
  • ctrl + / : 한줄 주석처리 or 주석해제
  • ctrl + shift + / :블록 주석 (/* */)
  • ctrl + shift + \ : 블록 주석 제거

2. 변수의 이해

2-1. 자료형 (data type)

  • 프로그래밍 언어에서 변수의 종류를 구별하기 위해 사용되는 키워드
  • 자바에서 제공되는 자료형의 종류에는 총 8가지가 있으며,
    이를 기본 자료형(Primitive date type) 이라고 한다

2-2 자료형이 가지는 의미

  • 모든 변수는 컴퓨터의 메모리 영역에서 생성된다.
  • 일반적으로 메모리란, pc에 설치하는 RAM을 의미
  • 4byte의 크기를 갖는 변수값 하나를 생성할 경우,
    pc의 RMA에서 해당 용량만큼을 사용하게 된다.
  • 용량을 넘어서는 경우 OutOfMemory 에러 발생\

2-3. 문자열 데이터

  • 프로그램 코드에서 "문장"을 표현하기 위해 사용되는 데이터 값
  • String
  • 문자열을 표현하기 위한 자료형 (첫 글자 대문자 주의)
  • 숫자값의 경우 글자수의 상관없이 쌍따옴표("")로 묶인 내용을 할당할수 있다.
  • 숫자값의 경우 쌍따옴표로 묶이면 문자열로 취급되므로,
    숫자와 문자열을 분명하게 구별해줘야 한다.

2-4. 변수의 사용 방법

  • 변수를 사용하는 방법은 "선언"과 "할당"의 두 영역으로 구분된다.

  • 변수의 선언
    ->선언은 데이터형과 사용하고자 하는 변수의 이름을 지정한 후, 세미클론(;)으로 한 라인을 종료한다.

    	데이터형 변수이름;
    	int num;
    	boolean isKorean;
  • 변수의 할당
    ->선언된 변수에 원하는 값을 대입하는 과정을 의미한다.
    값의 대입은 대입연산자("=")를 사용하며, 우변에서 좌변으로 대입된다.

    	변수 이름 = 값;
    	num1 = 100;
    	iskorean = true;
  • 변수의 선언과 할당
    데이터형 변수이름 = 값;
    int num2 =100;

  • 문자열 데이터
    -> String형의 변수를 선언하고, 쌍따옴표(" ")로 묶인 값을 대입한다.
    -> 빈 문자열이나 공백도 문자열 데이터이다.

    	String msg = "안녕하세요.	자바";
    	// 빈 문자열 값
    	String blank = "";
    
    	// 숫자값이 쌍 따옴표로 묶였다면 문자열이다.
    	String age = "20";
  • 문자열 데이터의 덧셈
    -> 문자열 + 문자열 : 두 문장을 하나로 합쳐준다.

    	//java
    	String language = "ja" + "va" ; 
    
    	-> 문자열 + 기본자료형 : 기본 자료형의 데이터가 문자열로 변환되고, 두 문장이 합쳐진다.
    
    	int age: 20; 
    	String name = " 자바학생";
    	// 자바학생 20
    	name + age; 

2-5. 변수 이름 명명 규칙

  • 변수 이름은 영문,숫자, "_" 만 사용 가능하다. ($ 도 가능한데 별로안씀)
  • 변수 이름의 첫 글자는 숫자로 시작할수 없다.
  • 대/소문자를 엄격하게 구별하므로 오타에 주의해야한다.
  • 자바에서 사용하는 예약어(키워드)를 사용할 수 없다.
  • myname X, myName O,my_name O, age,userPassword, .. //가독성
  • 클래스의 이름의 명명 규칙도 변수 이름의 규칙과 동일하다

2-6. long, float, double

  • long, float, double은 다른 데이터형과의 구별을 위해 값 뒤에 데이터형의 첫 글자를 접미사를 가질수있다.

  • 접미사는 대/소문자를 가리지 않지만 가급적 대문자로 사용하는것이 좋다.

    	long money = 50000000L ;
    	float pi = 3.14F;
    	double lat = 128.32452D;

2-7. 변수 사용의 제약

  • 반복하여 다른 값이 할당될수 있지만, 중복선언은 불가능
    int num1 =100;
    num1 =200;
    int num1 = 300;
  • 선언되지 않은 변수는 사용할 수 없다.
    int num1 -100;
    num1 = 200;
    num2 = 300;
  • 값이 대입되지 않은 변수는 다른 변수에 대입하거나 출력할 수 없다.
    int num1;
    int num2 = 100;
    num1 = num2 ;
    int num3;
    int num1 = num3; // num 1,3이 변수가 할당되지 않아 에러

2-8. 상수 = 변하지 않는 수

  • 변수와 마찬가지로 메모리상에 존재하지만, 값이 변경될수 없는 데이터
  • final 키워드를 사용하여 선언된 변수는 상수로 생성된다.
    final int age = 20 ;
    final float PI = 3.14 F; // 상수는 대문자로 암묵적 동의
  • 재할당이 불가능하고 읽기 전용임

3. 연산자

3-1. 연산자

  • 프로그램에서 연산을 수행하기 위하여 사용되는 특수기호

3-2. 종류

  • 대입연산자
    : 변수에 숫자나 문자열 등의 자료를 입력하거나 연산 결과를 다른 변수에 할당 (=)

  • 사칙연산자
    :더하기 + ,뺄셈- ,곱셈 * ,몫 / ,나머지 %

  • 단항연산자
    :변수에 대한 연산 결과를 다시 자기 자신에게 적용하는 경우 사용한다

  • 증강연산자
    :특정 변수에 저장되어 있는 값을 1씩 증가, 감소 시킬경우 사용한다

  • 비교연산자
    : 두 개의 변수값 간의 관계를 비교하여 참,거짓의 관계를 반환 (코드상에선 늘 소문자)

  • 논리연산자
    :좌변과 우변을 논리연산하고, 참인경우 true, 거짓인경우 false 반환

3-3 사칙연산자

  • 더하기 + ,뺄셈- ,곱셈 * ,몫 / ,나머지 %
  • 사칙연산의 결과는 대입연산자를 통화여 다른 변수에 대입될수 있다.
  • 나눗셈
    -> 10 / 3 : 나눗셈의 몫만을 취하여 결과값은 "3"이 된다
    -> 10 % 3 : 나눗셋의 나머지만을 취하여 결과값은 "1"
  • 모든 수는 0으로 나눌수 없다
    -예제-


    0으로 나눌수 없어서 에러가 뜨는 모습

3-4 단항연산자

  • 어떤 변수의 값에 대한 계산 결과를 다시 자기 자신에게 대입하고자 하는 경우의 약식 표현
    int x= 100;
    x = x + 5;
    -> 단항연산자

    	int x = 100;
    	x += 5;
  • 단항 연산자는 모든 사칙 연산자에 표현 가능하다.
    -> += , -= , *= , /= , %=

    -예제-

3-5 증강연산자

  • 단항 연산자로 표현할 수 있는 식에서 계산 대상 값이 1인경우 , 덤셈과 뺄셈에 대해서는 다시한번
    축약할수있다.
  • 덧셈의 경우
    x = x + ;
    X += 1;
    X ++;
    ++ X;
  • 뺄셈의 경우
    x = x - 1 ;
    x -= 1 ;
    x -- ;
    -- x ;
    -예제-

3-6. "x++"와 "++x"의 차이

  • 증강연사자는 그 자체가 다른 연산식의 피 연산자로 사용될 수 있다. 이 때,
    증강연산자의 표시 위치에 따라 결과가 다르게 적용된다

  • x++
    -> 증감 연산자가 뒤에 표시되는 경우,
    현재 x 의 값을 먼저 수식에 적용하고, 나중에 x에 대한 1증가 처리를 한다.

    	int a= 100;
    	int x = 1; 
    	int y = a + x++;
    		-> y = 100 + 1 
    		-> y = 101 , x = 2;
  • ++x
    -> 증감연산자가 앞에 표시되는 경우,먼저 현재 x 의 값을 1증가 시킨후,
    그 결과를 수식에 적용한다.
    int a= 100;
    int x = 1;
    int y = a + ++x;
    -> 100 + 2
    -> y = 102, x = 2

    -예제-

3-7. 비교연산자

  • 같다, 다르다, 크다(초과), 크거나 같다(이상),
    작다(미만), 작거나 같다(이하)에 대한 비교를 수행하는 연산자
  • 같다 : ==
  • 다르다 : !=
  • 초과 : >
  • 이상 : >=
  • 미만 : <
  • 이하 : <=
  • 주어진 식이 참인지 거짓인지 판별이 가능하므로, 연산 결과는 boolean값으로 생성된다
    int x =100;
    int y= 1
    boolean r = x 비교연산자 y;
-예제-

3-8.논리연산자

  • 두 개 이상의 비교 연산자의 결과나 boolan 값에 대해 추가로 and나 or연산을 수행하여 결과를 얻는다.
  • AND는 "&&" : 두 개의 boolean값을 비교하여 모두 true인 경우에만 결과값이 true이다.
  • OR는 "||" : 두 개의 boolean값을 비교하여 둘중 하나라도 true인 경우 결과값이 true이다.
-예제-

4. 형변환

4-1. 형변환

  • 변수의 자료형이 변환되는 것을 의미한다
  • 특정 자료형의 값을 다른 다료형의 변수에 대입할 수 있다.
  • 암묵적형변환 (upcating)과 명시적형변환(Downcasting) 이 두 종류가 있다

4-2. 암묵적형변환

  • 서로 다른 자료형을 연산 혹은 대입하는 경우,
    java 컴파일러가 자료형을 통일한다. 이 과정에서 발생하는 형변환을 암묵적형변환 이라고한다.
    long a =100; //정수형
    float b = a; // 정수형을 실수형에 대입
    => 즉, 암묵적 형변환은 어떤 변수가 더 큰 범위의 변수로 대입 가능함을 의미한다.

4-3. 암묵적 형변환이 허용되는 범위

  • 암묵적 형변환은 데이터의 손실이 발생하지 않는 범위 내에서만 이루어 진다.
  • double형 데이터 20.5를 int에 대입하는 경우에는
    0.5에 대한 데이터 손실이 불가피하므로 에러가 발생

4-4. 명시적 형변환

  • 데이터의 손실을 감수하더라고, 강제로 형변환 시키는 형태
    자료형 b = (변환할자료형)a;

  • 실수형을 정수형으로 변환하는 경우, 소수점 이하자리는 버려진다.

    	double a =3.14d ;
    	int b = (int)a ; // 결과는 3
  • 아스키코드에 대한 숫자값을 char형으로 변환하면, 해당 글자를 변환이된다.
    int a = 97;
    char b = (char)a; //결과는 'a'


sysout 치고 ctrl + space 누르면 자동완성됨
boolean 참(true) 또는 거짓(false)의 값을 갖는 자료형

profile
eun_0

0개의 댓글