it공부/Java

JAVA 수업개념 요점 정리( 1 )

콩쨈 2020. 7. 5. 21:08
반응형

// 설명을 달았다.
int a = 10; //설명~~~
// 설
// 명
// 글

/*
 * ㄴㅁㄹㅇ
 * ㄴㅁㅇㄹ
 * ㄴㅇㅁㄹ
 * ㅁㄴㅇㄹ
 * ㅁㄴㅇㄹ
 */
/*





*/

// 변수
//변수의 선언
//[변수타입][변수명];
int x;

// char x; 위에서 변수 x를 선언하였기 때문에 사용할수 없다.

//명명규칙
//변수의 명, 메서드명, 클래스명을 이름짓는 대는 반드시 지켜야할
// 공통적인 규칙이 있다.

//1. 대소문자를 구분하며, 길이의 제한이 없다. 
int tt;
tt = 20; //변수의 초기화
int tT;

//2. 예약어(key word, reserved word)는 사용할 수 없다.
int truE;
// int true;

//3. 숫자로 시작할수 없다.
// int 10ten;
int ten10;

//4. 특수문자는 '_', '$'만 사용가능하다.
int sh_dk$;
// int s#arp;

//필수는 아니지만 자바 프로그래머들의 암묵적인 약속들
//1. 클래스의 명의 첫글자는 대문자로 써야한다.
//   변수명과 메서드명은 첫 글자를 소문자로 써야한다.

//2. 여러단어로 이루어진경우 첫번째 이후 단어의 첫글자는 대문자로 쓴다.
//  lastIndexOf

//3. 상수의 명칭은 모두 대문자로 쓴다.
final int MAX_VALUE = 45; 

//4. 한글은 사용하지 않는다.

final int k = 10; //변수의 선언 및 초기화
// k = 30;




1. 변수의 타입
  - 기본형 타입(Primitive type) : 값을 저장한다.
    : boolean, char, byte, short, int, long, float, double 
  - 참조형 타입(Reference type) : 주소를 저장한다.
    : 8가지 기본형을 제외한 나머지 타입
    
2. 종류
  - 논리형 : true, false중 하나의 값을 가진다. ex) boolean
  - 문자형 : 문자 하나를 저장하는 사용된다. ex) char
  - 정수형 : 정수를 저장하는데 사용된다. ex) byte short int long
  - 실수형 : 실수를 저장하는데 사용된다. ex) float, double
  
3. 기본형 변수의 크기( 1byte => 8bit )
  - 1byte : boolean, byte
  - 2byte : char, short
  - 4byte : int, float
  - 8byte : long, double
 

쓰레드

4. 논리형 - boolean
  - boolean형 변수에는 true, false만 저장이 가능하다.
  - 논리구조인 대답(yes/no), 스위치(ON/OFF)
  - 데이터를 다루는 최소단위가 1byte이기 때문에 1byte의 크기를 가진다.
*/
// power라는 변수에 false의 값을 저장해주세요
boolean power = false;
//power의 값을 true로 변경해주세요
power = true;

/*
5. 문자형 - char
  - 문자 하나를 저장하는데 사용된다.
  - java는 Unicode문자체계를 이용한다.

*/
//문자 'A'를 변수 ch에 저장해주세요
char ch = 'A';
char ch2 = 65;
char ch3 = '\u0041';

int ch4 = '뷁';

System.out.println(ch4);

/*
6. 정수형 - byte, short, int, long
  - 기본자료형은 int형입니다.
  - 변수가 저장하려는 정수값의 범위에 따라 4개의 정수형중에 하나를 선택한다.
  - byte나 short의 경우 크기가 작아서 범위를 넘어가기 때문에 int형을 사용하는 것이
     좋다.
  - JVM의 피연산자 스택에 피연사자를 4byte단위로 저장을 하기 때문에 
    연산시에는 4byte형으로 연산이 수행된다.
    
  - overflow : 변수 자신이 저장할 범위를 넘었을때 최소값부터 다시 표현하는 현상

*/

//1. byte형 변수 b2에 50의 값을 저장해주세요
byte b2 = 50;
//2. short형 변수 s2에 40000의 값을 저장해주세요
short s2 = 30000;
//3. int형 변수 i2에 5000000의 값을 저장해주세요
int i2 = 5000000;
//4. 변수 l2에 10000000000의 값을 저장해주세요
long l2 = 10000000000L;

byte b3 = -128;
b3--;
System.out.println(b3);



/*
7. 실수형 - float, double
  - float : 1+8+23
    double: 1+11+52
  - 실수형중에 사용할 자료형을 선택할때는 값의 범위뿐만 아니라 정밀도
    중요한 요소가 된다.
*/

//1. float형 변수 f2에 3.141592748956를 저장해주세요
float f2 = 3.141592748956F;
//2. double형 변수 d2에 3.141592748956를 저장해주세요
double d2 = 3.141592748956;

System.out.println(f2);
System.out.println(d2);

System.out.println(0.25 == 0.25f);

/*
8. String

*/
String name = "================\n-----------------";
System.out.println(name);

byte b4 = 10;
byte b5 = 50;

int result7 = b4 + b5; //byte + byte => int + int

int result8 = 'A' + 'B';
short s4 = 500;
int i4 = 20000;

long l4 = 4000000000L;

//1. i4와 70의 합을 변수 result1에 저장해주세요
int result1 = i4+70;

//2. i4와 b4의 합을 변수 result2에 저장해주세요
int result2 = i4 + b4;// int + byte => int + int

long result3 = i4 + 100L;

int result4 = i4 + 'A'; // int + char => int + int => 20000 + 65

String result5 = i4 + "hi"; // int + String => String + String => "20000" + "hi"
System.out.println(result5);

String result6 = i4 + "10000"; // "20000" + "10000" => "2000010000"

/*
9. 형변환(casting)
  - 변수 또는 리터럴의 타입을 다른 타입으로 변환하는 것

byte -> short -> int -> long -> float -> double
                  ^
         char --- |


1. 연산자
  - 단항연산자
    : ++, --, +, -, ~, !, (타입)
    
  - 이항연산자
    : 산술연산자 (+, -, *, /, %)
    : 비교연산자 (<, >, <=, >=, ==, !=, instanceof)
    : 논리연산자 (&, |, ^, &&, ||)
    
  - 삼항연산자
    :  (1) ? (2) : (3)
    
  - 대입연산자
    : =, op=  
    
2. 연산우선순위
  - 산술 > 비교 > 논리  > 대입
  - 단항 > 이항 > 삼항
  - 단항연산자와 대입연산자를 제외한 모등 연산자의 진행방향은
     왼쪽에서 오른쪽 이다.
1. 증감연산자 ( ++, -- )
  - 증가연산자(++) : 피연산자의 값을 1 증가시킨다.
  - 감소연산자(--) : 피연산자의 값을 1 감소시킨다.

1. 산술연산자
  - 사칙연산자(+,-,*,/), 나머지연산자 (%), 쉬프트 연산자( <<, >>, >>> )
  - 이항연산자 이다.
  
2. 사칙연산자( +, -, *, / )
  - 두개의 피연산자중 표현범위가 더큰쪽에 맞춰서 형변화 후에 연산을 수행한다.
    int + float => float + float => float
    
  - 두개의 피연산자모두 4byte형보다 작을때는 int형으로 변환후 연산을 수행한다.
    char + byte => int + int => int
    
  - 정수형 간의 나눗셈에서는 0으로 나누는 것은 금지되어 있다.

3. 나머지 연산자 (%)
  - 왼쪽의 피연산자를 오른쪽 피연산자로 나누고 난 나머지 값을 돌려준다.
  - boolean형에는 사용할수 없다.
  
4. 쉬프트 연산자 (<<, >> ,>>>)
  - 정수형변수에만 사용가능하다.
  - 피연산자의 각자리(2진수)를 이동시킨다.
  - 곱셈과 나눗셈을 할때 연산속도가 매우 좋기 때문에 사용한다.
  - << : x << n => x*2^n => overflow고려
    >> : x >> n => x/2^n
5. 비교연산자
  - 두개의 변수 또는 리터럴을 비교하는데 사용된다.
  - 주로 조건문과 반복문의 조건식에 사용되며 연산결과는 true, false이다.
  - 이항연산자 이다.
  
6. 대소비교연산자( <, > <= >= )
  - boolean형, 참조형에는 사용할수 없다.

7. 등가비교연산자( ==, != )
  - 모든 자료형에 사용이 가능하다.
  
  수식                  연산결과
  x   x>y      |  x가 y보다 클때만 true 그외에는 false
  x<=y     |  x가 y보다 작거나 같을때만 true 그외에는 false
  x>=y     |  x가 y보다 크거나 같을때만 true 그외에는 false
  x==y     |  x와 y가 같을때만 true 그외에는 false
  x!=y     |  x와 y가 다를때만 true 그외에는 false
  



8. 비트연산자 ( &, |, ^ )
  - 이진비트를 수행한다.
  - & (AND연산자) : 피연산자 양쪽모두 1일때만 1의 결과를 얻는다.
  - | (OR연산자) : 피연산자중 어느 한쪽 1이면 1의 결과를 얻는다.
  - ^ (XOR연산자) : 피연산자의 값이 서로 다를때 1의 결과를 얻는다.

3   -> 00000011
5   -> 00000101
3^5 -> 00000110 => 6
3|5 -> 00000111 => 7
3&5 -> 00000001 => 1



9. 논리연산자 ( &&, || )
  - 피연산자로 boolean형 또는 boolean형 값을 결과로 하는 조건식을 허용한다
  - 조건문과 반복문에서 조건식 값의 결합에 사용된다.
  - || (OR결합) : 피연산자중 어느 한쪽만 true이면 true의 결과를 얻는다.
    && (AND결합): 피연산자 양쪽모두 true일때만 true의 결과를 가진다. 


10. 삼항연산자
  - 세 개의 피연산자를 필요로 하기 때문에 삼항연산자로 이름 지어 졌다.
  - 삼항연산자의 조건식에는 연산결과가 true 또는 false인 식이 사용된다.
  - 기본구조
    (조건식) ? 식1(조건식이 true일때 실행) : 식2(조건식이 false일때 수행)

11. 대입연산자 ( = , op= )
  - 변수에 값 또는 수식의 결과를 저장하는데 사용한다.
  - 연산자중 가장낮은 연산순위를 가진다.

12. 반올림

float pi = 3.141592F;
// *1000 => 3141.592
// +0.5  => 3142.092
// (int) => 3142
// /1000f=> 3.142
System.out.println((int)(pi*10000+0.5)/10000f);
int pi2 = 2458;


13. Math.random()


//1. 1~45사이의 랜덤한 정수값 하나를 뽑아주세요
int random = (int)(Math.random()*45+1);
System.out.println(random);





1. 조건문 ( if, switch )
  - 조건식과 문장을 포함하는 블럭{} 으로 구성되어 있다.
  - 조건식의 연산결과에 따라 프로그램의 실행흐름을 변경할수 있다.
  
2. if문
  - 구조
    if(조건식){
     조건식이 true일 수행될 문장.
    }
    
    if(조건식){
     조건식이 true일 수행될 문장.
    } else {
     조건식이 false일때 수행될 문장
    }
    
    if(조건식1){
     조건식1이 true일 수행될 문장.
    } else if(조건식2){
     조건식1이 false이고 조건식2가 true일때 수행될 문장.
    } else {
     조건식1과 조건식2가 false일때 수행될 문장.
    }
1. 반복문 ( for문, while문, do-while문 )
  - 어떤 작업이 반복적으로 수행되도록 할때 사용된다.
  - 반복문은 주어진 조건을 만족하는 동안 주어진 문장을 반복적으로 수행함으로
     조건식과 수행될 문장을 포함한다.
  - for문은 주로 반복횟수를 알고 있을때 사용한다.
    while문은 주로 반복횟수를 모를때 사용된다.
    
2. for문
  - 기본구조
    for(초기화;조건식;증감식){
     수행될 문장
    }
    
    초기화 -> 조건식 -> 수행 -> 증감식
         -> 조건식 -> 수행 -> 증감식



반응형

'it공부 > Java' 카테고리의 다른 글

JAVA 자바 개념정리  (0) 2020.07.05
JAVA 개념 공부 요점정리( 2 )  (0) 2020.07.05
Thread 와 Array 를 이용한 예제  (0) 2020.07.05
for while 반복문 예제  (0) 2020.07.05
RMI 이클립스 플러그인 설치 및 활용  (0) 2020.07.05