System.out.print() 괄호 안의 내용을 출력하고 줄바꿈을 하지 않는다
System.out.println() 괄호 안의 내용을 출력하고 줄바꿈을 한다.
<예제 2-1 >
✍️ 입력
class Ex2_1 {
public static void main(String args[]) {
System.out.println("Hello, world");// 화면에 Hello, world가 출력하고 줄바```꿈 한다.
System.out.print("Hello"); // 화면에 Hello를 출력하고 줄바꿈 안한다.
System.out.println("World"); // 화면에 World를 출력하고 줄바꿈 한다.
}
}
💻 출력
Hello, world
HelloWorld
<예제 2-2 >
✍️ 입력
class Ex2_2 {
public static void main(String args[]) {
System.out.println("Hello, world"); // 화면에 Hello, world가 출력된다.
System.out.print("3+5="); // 화면에 3+5=를 출력하고 줄바꿈 안한다.
System.out.println(3+5); // 화면에 8이 출력된다.
}
}
💻 출력
Hello, world
3+5=8
<예제2-3 >
✍️ 입력
class Ex2_3 {
public static void main(String args[]) {
System.out.println(5+3); // 화면에 5+3의 결과인 8이 출력된다.
System.out.println(5-3); // 화면에 5-3의 결과인 2가 출력된다.
System.out.println(5*3); // 화면에 5*3의 결과인 15가 출력된다.
System.out.println(5/3); // 화면에 5/3의 결과인 1이 출력된다.
}
}
💻 출력
8
2
15
1
변수란? 하나의 값을 저장할 수 있는 저장공간
변수타입 변수이름; // 변수를 선언하는 방법
ex) int x; // 정수를 저장하기 위한 변수 x 선언
변수를 선언하면 변수(저장공간)이 생기며 그 공간에 값을 저장한다.
<예제 2-4 >
✍️ 입력
class Ex2_4 {
public static void main(String args[]) {
int x = 5; // int x;와 x =5;를 이처럼 한 줄로 합칠 수 있다.
System.out.println(x); // 화면에 x의 값인 5가 출력된다.
x = 10; // 변수 x에 10을 저장. 기존에 저장되어 있던 5는 지워짐.
System.out.println(x); // 화면에 x의 값인 10이 출력된다.
}
}
💻 출력
5
10
<예제 2-5 >
✍️ 입력
class Ex2_5 {
public static void main(String args[]) {
int x = 10;
int y = 5;
System.out.println(x+y);
System.out.println(x-y);
System.out.println(x*y);
System.out.println(x/y);
}
}
💻 출력
15
5
50
2
int x = 100; // 정수를 저장할 변수의 타입은 int로 한다.
double pi = 3.14; // 실수를 저장할 변수의 타입은 double로 한다.
char ch = 'a'; // 문자(1개)를 저장할 변수의 타입은 char로 한다.
String str = "abc"; // 여러 문자(0~n개)를 저장할 변수의 타입은 String으로 한다.
<예제 2-6 >
✍️ 입력
class Ex2_6 {
public static void main(String args[]) {
int x = 100;
double pi = 3.14;
char ch = 'a';
String str = "abc";
System.out.println(x);
System.out.println(pi);
System.out.println(ch);
System.out.println(str);
}
}
💻 출력
100
3.14
a
abc
'상수
(constant)'는 '값을 저장할 수 있는 공간'이지만 변수와 달리 다른 값으로 저장 할 수 없다.
-> 선언 방법은 변수와 동일하며 'final'을 붙여주기만 하면 된다.
final int MAX_VALUE;
MAX_VALUE = 100; // 상수에 처음 값 저장
MAX_VALUE = 200; // 에러. 상수에 저장된 값을 변경할 수 없음.
-> 저장 후에는 변경을 허용하지 않는다.
리터럴
: 상수의 다른 이름
-> 이미 상수라는 단어를 정의 했기 때문에 다른 이름이 필요.
변수(variable) 하나의 값을 저장하기 위한 공간
상수(constant) 값을 한번만 저장할 수 있는 공간
리터럴(literal) 그 자체로 값을 의미하는 것
리터럴에도 타입이 존재한다.
byte와 short타입의 리터럴은 존재x -> int타입의 리터럴 사용
진수 (접두사에 붙힌다.)
8진수 : '0'
16진수 : '0x' or '0X'
문자열 + anyType -> 문자열 + 문자열 -> 문자열
anyType + 문자열 -> 문자열 + 문자열 -> 문자열
<예제 2-7 >
✍️ 입력
class Ex2_7 {
public static void main(String[] args) {
String name = "Ja" + "va";
String str = name + 8.0;
System.out.println(name);
System.out.println(str);
System.out.println(7 + " ");
System.out.println(" " + 7);
System.out.println(7 + "");
System.out.println("" + 7);
System.out.println("" + "");
System.out.println(7 + 7 + "");
System.out.println("" + 7 + 7);
}
}
💻 출력
java
java8.0
7
7
7
7
14
77
int temp;
temp = x;
x = y;
y = temp;
<예제 2-8 >
✍️ 입력
class Ex2_8 {
public static void main(String args[]) {
int x = 10, y = 5; // int x = 10; int y = 5;를 한 줄로
System.out.println("x="+x);
System.out.println("y="+y);
int tmp = x; // 1. x의 값을 tmp에 저장
x = y; // 2. y의 값을 x에 저장
y = tmp; // 3. tmp에 저장된 값을 y에 저장
System.out.println("x="+x);
System.out.println("y="+y);
}
}
💻 출력
x=10
y=5
x=5
y=10
기본형(Primitive type)
논리형(boolean), 문자형(char), 정수형(byte, short, int, long), 실수형(float, double), 계산을 위한 실제 값을 저장한다. 모두 8개
참조형(reference type)
객체의 주소를 저장한다. 8개의 기본형을 제외한 나머지 타입
자료형의 범위 -2^n ~ 2^n-1(n의 bit수)
-> int형은 약 +-20억 정도만 외우자.
<예제 2-9 >
✍️ 입력
class Ex2_9 {
public static void main(String[] args) {
String url = "www.codechobo.com";
float f1 = .10f; // 0.10, 1.0e-1
float f2 = 1e1f; // 10.0, 1.0e1, 1.0e+1
float f3 = 3.14e3f;
double d = 1.23456789;
System.out.printf("f1=%f, %e, %g%n", f1, f1, f1);
System.out.printf("f2=%f, %e, %g%n", f2, f2, f2);
System.out.printf("f3=%f, %e, %g%n", f3, f3, f3);
System.out.printf("d=%f%n", d);
System.out.printf("d=%14.10f%n", d); // 전체 14자리 중 소수점 10자리
System.out.printf("[12345678901234567890]%n");
System.out.printf("[%s]%n", url);
System.out.printf("[%20s]%n", url);
System.out.printf("[%-20s]%n", url); // 왼쪽 정렬
System.out.printf("[%.8s]%n", url); // 왼쪽에서 8글자만 출력
}
}
💻 출력
%f는 소수점 아래 6자리까지만 출력 -> 7번째에서 반올림
<예제 2-10 >
✍️ 입력
import java.util.Scanner; // Scanner를 사용하기 위해 추가
class Ex2_10 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); // Scanner클래스의 객체를 생성
System.out.print("두자리 정수를 하나 입력해주세요.>");
String input = scanner.nextLine(); // 입력받은 내용을 input에 저장
int num = Integer.parseInt(input); // 입력받은 문자열을 숫자로 변환
System.out.println("입력내용 :"+input);
System.out.printf("num=%d%n", num);
}
}
💻 출력
두자리 정수를 하나 입력해주세요.>22
입력내용 :22
num=22
int num = scanner.nextInt(); // 정수를 입력받아서 변수 num에 저장
<예제 2-11 >
✍️ 입력
class Ex2_11 {
public static void main(String[] args) {
short sMin = -32768, sMax = 32767;
char cMin = 0, cMax = 65535;
System.out.println("sMin = " + sMin);
System.out.println("sMin-1= " + (short)(sMin-1));
System.out.println("sMax = " + sMax);
System.out.println("sMax+1= " + (short)(sMax+1));
System.out.println("cMin = " + (int)cMin);
System.out.println("cMin-1= " + (int)--cMin);
System.out.println("cMax = " + (int)cMax);
System.out.println("cMax+1= " + (int)++cMax);
}
}
💻 출력
sMin = -32768
sMin-1= 32767
sMax = 32767
sMax+1= -32768
cMin = 0
cMin-1= 65535
cMax = 65535
cMax+1= 0
숫자를 문자로 변환 - 숫자에 '0'을 더한다. (아스키 코드로 변환)
-> (char)(3 + '0') => '3'
문자를 숫자로 변환 - 문자에서 '0'을 뺀다.
-> '3' - '0' => 3
숫자를 문자열로 변환 - 수자에 빈 문자열("")을 더한다.
-> 3 + "" => "3"
문자열을 숫자로 변환 - Integer.parseInt() 또는 Double.parseDouble()을 사용한다.
-> Integer.parseInt("3") => 3
-> Double.parseDouble("3.14") => 3.14
문자열을 문자로 변환 - charAt(0)을 사용한다.
-> "3".charAt(0) => '3'
문자를 문자열로 변환 - 빈 문자열 ("")을 더한다.
-> '3' + "" => "3"
<예제 2-12 >
✍️ 입력
class Ex2_12 {
public static void main(String args[]) {
String str = "3";
System.out.println(str.charAt(0) - '0');
System.out.println('3' - '0' + 1);
System.out.println(Integer.parseInt("3") + 1);
System.out.println("3" + 1);
System.out.println((char)(3 + '0')); // '0'은 숫자로 48
}
}
💻 출력
3 // 숫자
4 // 숫자
4 // 숫자
31 // 문자열
3 // 문자
[출처] 자바의 정석 <기초편> (남궁 성 지음)