반응형
변수(Variable)란?
  • 변하는 수
  • 하나의 값을 저장할 수 있는 저장공간.
변수의 타입(Data type)

■ 기본형(Primitive Type)

- 8개 (boolean, char, byte, short, int, long, float, double)

- 실제 값을 저장

■ 참조형(Reference type)

- 기본형을 제외한 나머지(String, System 등...)

- 객체의주소를 저장(4byte, 0x00000000~0xffffffff)

 

  기본형(Primitive Type)
  1. 논리형 - true와 false 중 하나의 값으로 갖으며, 조건식과 논리적 계산에 사용
  2. 문자형 - 문자를 저장하는데 사용되며, 변수 당 하나의 문자만을 저장할 수 있다.
  3. 정수형 - 정수 값을 저장하는데 사용된다. 주로 사용하는 것은 int와 long이며, byte는 이전데이터를 다루는데 사용되며, short는 c언어와 호환을 위해 추가되었다.
  4. 실수형 - 실수 값을 저장하는데 사용, float와 double이 있다.

변수의 선언 방법

★ 타입 변수명

int score;

score 100;

int score 100;

String str = new String("abc");

          str = null;

 명명규칙(Naming convention)
  • 대소문자가 구분되며 길이에 제한이 없다 // True와 true는 서로 다른 것으로 간주된다.
  • 예약어(Reserved word)를 사용해서는 안 된다. // ture는 예약어라 사용할 수 없지만, True는 가능하다. 
  • 숫자로 시작해서는 안 된다. // top10은 허용하지만, 7up은 허용되지 않는다.
  • 특수문자는 '_' 와 '$' 만을 허용한다. // $harp은 허용되지만 S#arp는 허용되지 않는다.
명명규칙 - 권장사항
  • 클래스 이름의 첫 글자는 항상 대문자로 한다. // 변수와 메서드 이름의 첫 글자는 항상 소문자로 한다. 
  • 여러 단어 이름은 단어의 첫 글자를 대문자로 한다. // lastIndexOf, StringBuffer
  • 상수의 이름은 대문자로 한다. 단어는 '_'로 구분한다. // PI, MAX_NUMBER
변수, 상수, 리터럴
  • 변수(variable) - 하나의 값을 저장하기 위한 공간
  • 상수(constant) - 한 번만 값을 저장할 수 있는 공간
  • 리터럴(literal) - 그 자체로 값을 의미하는것 
int score = 100;
    score = 200;
char ch = 'A';
String str = "abc";
final in MAX = 100;
MAX = 200; // 에러, 상수의 값은 변경불가!
리터럴과 접미사
boolean power = true;
char ch = ‘A’;
char ch = ‘\u0041’;
char tap = ‘\t’;
byte b = 127;
short s = 32767;
int I = 100;
int oct = 0100;
int hex = 0x100;
long l = 10000000000L;
float f = 3.14f;
double d = 3.14d
float f = 100f;
10. -> 10.0
.10 -> 0.10
10f -> 10.0f
3.14e3f -> 3140.0f
1e1 -> 10.0
변수의 기본값과 초기화

변수의 초기화 ?

- 변수에 처름으로 값을 저장하는 것

* 지역변수는 사용되기 전에 반드시 초기화해주어야 한다.

문자와 문자열

정수의 오버플로우(Overflow)

부호가 없는 정수

부호가 있는 정수

형변환(Casting)

형변환이란?

- 값의 타입을 다른 타입으로 변환하는 것

- boolean을 제외한 7개의 기본형은 서로 형변환이 가능

folat f = 1.6f;

int i = (int)f;

1. byte -> int

byte b = 10;

int i = (int) b; // 생략가능

2. int -> byte

int i2 = 300;

byte b2 = (byte) i2; // 생략불가

 

형식화된 출력 - printf()

▶ println()의 단점 - 출력방식을 지정불가하다는 점!

1. 실수의 자리수를 조절불가 - 소수점 n 자리만 출력하려면?

System.out.println(10.0 / 3);  // 3.333333....

2. 10진수로만 출력된다. - 8진수, 16진수로 출력하려면?

System.out.println(0x1A);  // 26

 

▶ printf() 로 출력형식 지정가능하다.

System.out.println("%.2f", 10.0/3);  // 3.33

System.out.println("%d", 0x1A);  // 26

System.out.println("%X", 0x1A);  // 1A

 

printf()의 지시자
  • %b  : 불리언(boolean) 형식으로 출력 (true or false)
  • %d  : 10진수(decimal) 형식으로 출력
  • %o  : 8진수(octal) 형식으로 출력
  • %x, %X  : 16진수(hexa-decimal) 형식으로 출력 (%x는 소문자로, %X는 대문자로 출력)
  • %f  : 부동 소수점(floating point) 형식으로 출력
  • %e, %E  : 지수(exponent) 형식으로 출력
  • %c  : 문자(character) 형식으로 출력 (Unicode)
  • %s  : 문자열(string) 형식으로 출력

public static void main(String[] args) {

System.out.printf("age:%d year:%d\n", 14, 2017);

// "age:14 year:2017\n" 이 화면에 출력된다.

 

int age = 10;

System.out.printf("age:%d", age); // 출력 후 줄바꿈을 하지 않는다.

System.out.printf("age:%d\n", age); // 출력 후 줄바꿈을 한다.

System.out.printf("=================");

// 정수를 10진수, 8진수, 16진수로 출력

System.out.printf("%d\n", 15); // 15 >> 10진수

System.out.printf("%o\n", 15); // 17 >> 8진수

System.out.printf("%x\n", 15); // f >> 16진수

System.out.printf("%s\n", Integer.toBinaryString(15)); // 1111 >> 2진수

 

// 8진수와 16진수에 접두사 붙이기

System.out.printf("%#o\n", 15); // 017

System.out.printf("%#x\n", 15); // 0xf

System.out.printf("%#X\n", 15); // 0xF

 

// 실수 출력을 위한 지시자 %f - 지수형식(%e), 간단한 형식(%g)

float f = 123.4567890f;

System.out.printf("%f", f); // 123.456787 소수점 아래 6자리

System.out.printf("%e", f); // 1.2345678e+02 지수형식

System.out.printf("%g", 123.456789); // 123.457 간략한 형식

System.out.printf("%g", 0.00000001); // 1.00000e-8 간략한 형식

 

System.out.printf("[%5d]%n", 10); // [       10]

System.out.printf("[%-5d]%n", 10); // [10       ]

System.out.printf("[%05d]%n", 10); // [00010]

화면에서 입력받기 - Scanner

★ Scanner 란?

화면으로부터 데이터를 입력받는 기능을 제공하는 클래스

 

★ Scanner를 사용하려면

1. import 문 추가

import java.util.Scanner;

2. Scanner 객체의 생성

Scanner scanner = new Scanner(System.in);

3. Scanner 객체를 사용

Scanner scanner = new Scanner(System.in);

int num = scanner.nextInt(); // 화면에서 입력받은 정수를 num에 저장

 

String input = scanner.nextLine(); // 화면에서 입력받은 내용은 input에 저장

 

int num = Integer.parseInt(input); // 문자열(input)을 숫자(num)로 변환

반응형

'Java > Java 이론' 카테고리의 다른 글

[JAVA] 생성자  (0) 2023.08.01
[JAVA] 배운내용정리 (2)  (0) 2023.07.29
[JAVA] 인스턴스 생성과 힙 메모리  (0) 2023.07.28
[JAVA] 함수와 메서드  (0) 2023.07.28
[JAVA] 객채지향 언어  (0) 2023.07.28

+ Recent posts