Test111 - HoneyHolic/JavaStudy GitHub Wiki

Chapter 1. 자바

1.1자바의 특징 ?

  • 객체지향언어: 클래스 계층 구조,상속성,캡슐화,다형성 등을 지원.
  • 멀티쓰레드: 여러 개의 작업을 동시에 실행.
  • 동적로딩: 보통 자바로 작성된 어플리케이션은 여러 개의 클래스로 구성되어 있다. 자바는 동적 로딩을 지원하기 때문에 실행 시에 모든 클래스가 로딩되지 않고 필요한 시점에 클래스를 로딩하여 사용할 수 있다.
  • 비교적 배우기 쉽다.

Chapter 2. 변수

2.1변수란? : 하나의 값을 저장할 수 있는 기억공간.

2.2 변수의 타입 기본형: 8개 (char,byte,short,int,long,float,double,boolean) 문자형 - char
숫자 정수 - byte,short,int,long 실수 - float,double 논리 – boolean

1byte = boolean,byte
2byte = char,short
4byte = int,float
8byte = long,double

참조형: 기본형을 제외한 나머지 (String,System 등)**** 객체의 주소를 저장(4byte,0x00000000~0xfffffffff)****

2.3 명명규칙

 1.	대소문자가 구분되며 길이에 제한이 없다.
 2.	예약어를 사용해서는 안된다. (ex:super,catch,class,if...)
 3.	숫자로 시작해서는 안 된다.
 4.	특수문자는 ‘_’와 ‘$’만을 허용한다.
    @harp 허용 , S#arp는 허용안됨

2.4권장사항

 1.	클래스 이름의 첫 글자는 항상 대문자
 2.	여러 단어 이름은 단어의 첫 글자를 대문자로 한다. (ex:LoginInsert,UserSelect)
 3.	상수의 이름은 대문자로 한다.단어는 ‘_’로 구분한다. (ex:PI,MAX_NUMBER)

2.5형변환

:값 의 타입을 다른 타입으로 변환하는 것
 1.	Boolean을 제외한 7개의 기본형은 서로 형변환이 가능하다.
 2.	예를 들어 int형 값과 float형 값의 덧셈연산을 수행하려면, 먼저 두 값을 같은 타입으로 변환 해야 하므로 둘 다 
    int 형으로 변환하던가 또는 둘 다 float형으로 변환해서 덧셈연산을 해야 한다. (Quiz)
 3.	각 자료형 마다 표현할 수 있는 값의 범위가 다르기 때문에 범위가 큰 자료형 에서 작은 자료형으로의 변환은 값 손실이 발생.
    * 실수형을 정수형으로 변환하는 경우 소수점 이하의 값은 버려지게 된다.
       Ex) float a = 1.6f -> int b = a; -> b = 1 값손실 발생	

Chapter 3. 연산자

3.1 연산자의 정의 및 종류

-연산자 : 어떠한 기능을 수행하는 기호(+, -, *, / 등)

-피연산자 : 연산자의 작업 대상(변수,상수등)

-종류 단항 연산자: +, -, ++, --, ~, ! 이항 연산자 산술 : +, -, *, /, %, <<, >>, >>> 비교 : >, <, >=, <=, ==, != 논리 : &&, ||, &,^, | 삼항 연산자 : ? : 대입 연산자 : =

3.3 단항 연산자

1.증가 연산자(++) : 피연산자의 값을 1증가 시킨다.

2.감소 연산자(--) : 피연산자의 값을 1감소 시킨다.

전위형 : ++i, ++j (변수의 값을 먼저 증가 시킨 후에 변수의 값을 읽어온다) 후위형 : i++, j++ (변수의 값을 먼저 읽어온 후에 값을 증가)

3.부호 연산자 ( + , - ) ‘+’의 경우 피연산자에 양수 1을 곱한 결과를 ‘-‘의 경우에는 피연산자에 음수1을 곱한 결과를 얻는다.

4.논리부정 연산자 ( ! ) boolean형에만 사용가능. true는 false로 false는 true로 변경한다. 조건문과 반복문의 조건식에 자주 사용한다. Ex) boolean power = false; System.out.println(power); ------- flase power = !power; System.out.println(power); ------- true

3.4 이항 연산자

1.사칙 연산자 ( +, -, *, /) int형(4byte)보다 크기가 작은 자료형은 int 형으로 형변환 후에 연산 수행. (byte + short -> int + int -> int) 두 개의 피연산자 중 자료형의 표현범위가 큰 쪽에 맞춰 형변환 된 후 연산 수행한다. (int + float -> float + float -> float) 정수형 간의 나눗셈에서 0으로 나누는 것은 금지되어 있다.

2.나머지 연산자 나누기한 나머지를 반환 홀수,짝수 등 배수검사에 주로 사용 int share = 10 / 8; int remain = 10 % 8; -> 몫(share)은 1이고, 나머지(remain)는 2이다.

3.쉬프트 연산자 ( <<, >>, >>> )

4.비교 연산자

  • 두 피연산자의 크기를 비교하는 연산자. 기본형 중에는 boolean 형을 제외한 나머지 자료형에 다 사용할 수 있지만 참조형에는(==,!= 제외) 사용할 수 없다.

5.논리 연산자

  • 피연산자가 반드시 boolean이어야 하며 연산결과도 boolean 이다. &&가 || 보다 우선순위가 높다. 같이 사용되는 경우 괄호를 사용. OR연산자 (||) : 피연산자 중 어느 한 쪽이 true이면 true AND 연산자 (&&) : 피연사중 양 쪽 모두 true 이면 true

6.비트 연산자 (이진 비트연산을 수행) |(OR연산자) – 피연산자 중 한 쪽의 값이 1이면, 1을 결과로 얻는다.그 외에는 0 &(AND연산자) – 피연산자 중 양쪽이 모두 1이어야 1을 결과로 얻는다.그 외에는 0 ^(XOR연산자) – 피연사자의 값이 서로 다를 때만 1을 결과로 얻는다.같을 때는 0

3.5 그외 연산자 1. 삼항 연산자 (? :)

     조건식의 연산 결과가 true 이면 ‘식1’의 결과를 반환
		    False 이면 ‘식2’의 결과를 반환.
		     (조건식) ? 식1 : 식2 

Ex) int x = 10; int absX = x >= 0 ? x: -x; System.out.println("absX:" + absX); if(absX >=0){ absX = x; }else{ absX = -x; }

   2. 대입 연산자 ( = , op = )
 - 오른쪽 피연산자의 값을 왼쪽 피연산자에 저장한다.
   ex> i += 3; <-> i = i + 3;
      ,i *= 3; <-> i = i*3;

Chapter 4. 조건문과 반복문

4.1 조건문 (if, switch) 조건문은 조건식과 실행될 하나의 문장 또는 블록{}으로 구성 if문이 주로 사용되며, 경우의 수가 많은 경우 switch문을 사용할 것을 고려한다 모든 switch 문은 if문으로 변경가능 하지만, if문은 switch 문으로 변경 할 수 없는 경우가 많다.

4.1.1 if문 if 문은 if, if-else, if-else if 의 세가지 형태가 있다. 조건식의 결과는 반드시 true 또는 false 이어야 한다.

Ex1) if(조건식){ // 조건식의 결과가 true일 때 수행될 문장들 }

Ex2) if(조건식){ // 조건식의 결과가 true일 때 수행될 문장들 }else{ // 조건식의 결과가 false일 때 수행될 문장들 }

⚠️ **GitHub.com Fallback** ⚠️