[Java] 기초 1탄

jincastle·2021년 4월 6일
0

JAVA

목록 보기
4/12
post-thumbnail

1. 변수 : variable

변수란 값을 저장할 수 있는 메모리 공간을 말합니다.

출처 인프런-자바 프로그래밍 입문 강좌 강의 내용 중

변수 이름(Identifier) 규칙

  • 대소문자가 구분되며 길이에 제한이 없습니다.
  • 숫자로 시작해서는 안된다.
  • 변수명은 한글이 안된다.
  • 변수 이름 사이에 공백 불가
  • 특수문자는 '_' 와 '$'만 허용
  • 예약어를 사용하면 안된다.

    예약어란 자바에 등록되어 있고, 시스템과 사용자간 약속되어있는 단어를 뜻합니다.


변수 표기법

대표적인 4가지

카멜 표기법(Camel Case)

맨 앞에 오는 단어만 소문자로 표기하고, 뒤에 오는 단어는 대문자로 표기하는 방법 ex) colorFrame

파스칼 표기법(Pascal Case)

모든 단어가 대문자로 시작하는 표기방법
ex) ColorFrame

스네이크 표기법(Snake Case)

언더바(_)로 단어를 구분짓는 표기방법 ex) color_frame

헝가리안 표기법(Hungarian Case)

이름 인자 앞에 데이터 타입을 명시하는 코딩 규칙 표기법으로는 접두어를 사용한다. ex) icolor_frame = (int)color_frame


변수를 선언하는 방식

  1. 변수를 선언(생성) 후 값을 저장(초기화) 하는 방식
package project;

public class MainClass {
	
	public static void main(String[] args) {
    
		int a; //변수 선언
		
		a=10;  //변수 초기화
		
		System.out.println("a = "+a);
	}

}
  1. 변수(생성)과 값(초기화)을 동시에 진행하는 방식
package project;

public class MainClass {
	
	public static void main(String[] args) {
		
		int a = 10; //변수 선언&초기화
		
		
		System.out.println("a = "+a);
	}

}

3. 변수에 저장된 데이터는 언제든지 변경 가능

package project;

public class MainClass {
	
	public static void main(String[] args) {
		
		int a; //변수 선언
		
		a = 10; // 변수 초기화
		
		System.out.println("a = "+ a);
		
		a = 100 ; //변수 초기화
		
		System.out.println("a = " + a);
		
		a = 99 ; //변수 초기화
		
		System.out.println("a = " + a);
	}

}

결과 값
a = 10
a = 100
a = 99


2. 기본 자료형

정수 자료형

byte (1byte)

  • 1byte = 8bit
  • 바이트 단위의 정보를 저장하거나 통신할때 사용
  • -127 ~ +128

short (2byte)

  • 2byte = 16bit
  • -32,768 ~ + 32,767

int (4byte)

  • 4byte = 16bit
  • 정수를 표현할 때 가장 많이 사용
  • 정수로 연산을 할때 4byte 단위로 처리하는 게 가장 효율적
  • -2,147,483,648 ~ +2,147,483,647

long (8byte)

  • 8byte = 64bit
  • 자바에서 정수를 표현하는 가장 큰 단위
  • int 형을 초과할때 사용
  • int를 넘어서는 정수를 끝에 'L'을 붙여줘서 long 식별하도록 해야합니다.

문자 자료형

char

  • 2byte
  • 영문자는 대문자,소문자,특수 문자, 기호를 포함해도 1바이트(2^8 = 256)로 표현가능해서 1바이트만 사용
  • 영어 이외 한글은 1byte로 표현이 힘듬 (유니 코드 사용)

    유니코드란 딱히 정해진 자체는 없고 숫자와 글자, 즉 키와 값이 1:1 매핑된 형태의 코드

  • 컴퓨터에서 문자를 표현할때는 아스키 코드 사용

    아스키(ASCII) 코드란 숫자로 문자를 표현하기 위한 일종의 약속


실수 자료형

float

  • 4byte
  • 단정도(sigle precision) 실수형
  • 소수점 이하 6 자리
  • IEEE에서 지정한 부동 소수점 표현방식(Floating Point Representation)이 보편적으로 사용

double

  • 8byte
  • 배정도(double precision) 실수형
  • 소수점 이후 15자리
  • IEEE에서 지정한 부동 소수점 표현방식(Floating Point Representation)이 보편적으로 사용

논리 자료형

boolean

  • 1byte
  • 1byte로 값을 저장(true, false)
  • 참거짓의 값을 나타내는데 사용(true, false)

3. 상수 : 변하지 않는 값

final

  • final로 선언된 변수는 상수가 된다.
  • 변수를 지정하면 변수를 변경할 수 없다.
  • 메소드를 지정하면 오버라이드(다형성)를 할 수 없는 메소드가 된다.
  • 클래스를 지정하면 확장 할 수 없는 클래스 가 된다.(하위 클래스 생성 불가)
  • final 외 Math 메소드에 다양한 상수가 있다.

4. 특수 문자와 서식문자

특수 문자

일반 문자가 아닌 특수한 목적으로 사용되는 문자

  • \t = 탭
  • \n = 줄 바꿈
  • \' = 작은 따옴표
  • \" = 큰 따옴표
  • \ = 역슬래쉬
  • 그외 특수 문자들 $, ^, *, (, ), +, |, {, [, ., ? 등등
package project;

public class MainClass {
	
	public static void main(String[] args) {
		
		System.out.println("Good Moning");  
		System.out.println("Good \t Moning"); // 탭
		System.out.println("Good \n Moning"); // 줄 바꿈
		System.out.println("Good \'Moning\'"); // 작은 따옴표
		System.out.println("Good \"Moning\""); // 큰 따옴표
		System.out.println("Good \\Moning"); // 역슬래쉬 
 }
}

결과값

Good Moning
Good 	 Moning
Good 
Moning
Good 'Moning'
Good "Moning"
Good \Moning

서식 문자

일반 문자가 아닌 서식에 사용되는 문자

  • printf() 메서드 이용 (여기서 f는 format(형식)을 뜻함)
  • %d = 10진수
  • %o = 8진수
  • %x = 16진수
  • %c = 문자
  • %s = 문자열
  • %f = 실수

**Tip
%.nf에서 앞에 정수를 쓰면 소수점 제한 기능입니다. 그리고 서식 문자에 앞에 n을 추가하면 정렬 기능 사용가능하다.

ex)
서식 문자 정렬 기능
%5d : 앞에 다섯칸을 공백
소수점 제한 기능
%.0f : 소수 점 없음
%.1f : 소수 첫째자리
%.2f : 소수 두째자리

package project;

public class MainClass {
	
	public static void main(String[] args) {
		
		//서식문자
		System.out.println("열이 39도 입니다.");
		System.out.printf("열이 %d도 입니다\n", 39);
		
		int num = 39;

		System.out.println("열이"+ 39+"도 입니다.");
		System.out.printf("열이 %d도 입니다\n", num);
		
		System.out.printf("a = %d, b = %d, c = %d\n", 2,4,6);
		
		//정수
		int num1 = 30;
		System.out.printf("num1(10진수): %d\n", num1);
		System.out.printf("num1(8진수): %o\n", num1);
		System.out.printf("num1(16진수): %x\n", num1);
		
		//문자
		System.out.printf("소문자\'%c\'는 대문자 \'%c\'는 소문자\n", 'A', 'B');
		
		//문자열
		System.out.printf("\'%s\'을 대문자로 바꾸면 \'%s\' 입니다\n", "java", "JAVA");
		
		//실수
		float f = 1.23f;
		System.out.printf("f=%f\n", f);
		
		double d = 1.23456d;
		System.out.printf("d=%f\n", d);
		
		//정렬 기능
		System.out.printf("%d\n", 123);
		System.out.printf("%d\n", 12345);
		System.out.printf("%5d\n", 123);
		System.out.printf("%5d\n", 12345);
		
		//소수점 제한
		System.out.printf("%.0f\n", 1.23);
		System.out.printf("%.1f\n", 1.23);
		
		 
 }
}

결과값

열이 39도 입니다.
열이 39도 입니다
열이39도 입니다.
열이 39도 입니다
a = 2, b = 4, c = 6
num1(10진수): 30
num1(8진수): 36
num1(16진수): 1e
소문자'A'는 대문자 'B'는 소문자
'java'을 대문자로 바꾸면 'JAVA' 입니다
f=1.230000
d=1.234560
123
12345
  123
12345
1
1.2

0개의 댓글