Title
💡 변수 / 상수 / 자료형 / 특수문자 + 백준 문제 풀이다음 아래와 같이 값을 변경할 수 있다.
ex)
(변경전) eggs의 15 → (변경 후) 20
(변경전) fizz의 10 → (변경 후 ) 10
💡 결론적으로 변수는 “데이터를 담는 상자이며 이 상자에 넣는 값(데이터) 우리가 원할때 마다 변경할 수 있다.다음을 통해 변수의 선언, 변수의 필요성에 대하여 살펴 보자!
출력1
System.out.println(100 + 10); //출력값 = 110
System.out.println((100 + 10) / 10); // 출력값 = 11
System.out.println(((100 + 10) / 10) - 10); //출력값 = 1
System.out.println((((100 + 10) / 10) - 10) * 10); //출력값 = 10
출력2
int a = 100;
System.out.println(a + 10); //출력값 = 110
System.out.println((a+ 10) / 10); // 출력값 = 11
System.out.println(((a + 10) / 10) - 10); //출력값 = 1
System.out.println((((a + 10) / 10) - 10) * 10); //출력값 = 10
💡 결론부터 말하자면 다음의 두개의 코드는 모두 동일한 값을 출력한다.
출력1의 경우
ex) 모든 100을 90으로 변경
출력2의 경우
ex) (변경 전)int a = 100 ⇒ (변경 후)int a = 90
이로 인해 우리는 변수를 사용하면 우리가 원하는 데이터 값이 변할 때마다
손쉽게 변경하여 사용할 수 있다.
💡 결론:변수는 우리가 원하는 값을 쉽게 넣고 변경할 수 있어 코드의 재활용을 높혀준다.참고 자료: https://opentutorials.org/course/1223/5293
//case 1)
int a; //변수 a를 생성한다.
a = 1; // 변수 a에 1이라는 값을 넣는다.
System.out.println(a+1); // 출력값: 2
//case 2)
int b = 2; //변수 b를생성하고 2라는 값을 넣는다.
System.out.println(b+1); // 출력값: 3
case1의 과정이다.
case2과정이다. (보통 변수의 초기화라고 부른다.)
다음은 자바의 데이터 타입의 잘못된 구분에 따른 실행 오류의 예시를 보여준다.
문자와 문자열을 구분하지 못한 경우, 정수와 상수를 구분하지 못한
case1) “문자열”과 “문자”를 구분하지 못한 경우
//정상 출력
System.out.println("코딩선배"); //출력 가능, 출력값: 코딩 선배
System.out.println('코'); // 출력 가능, 출력값: 코
//오류
System.out.println('코딩선배'); //출력 불가능, 오류 발생
//정상 출력
System.out.println("생"); //출력 가능, 출력값: 코
💡 자바에서의 문자는 한 문자를 의미하며 데이터 타입은 char으로 정의, 출력할때는 작은 따옴표( ‘ ‘ )를이용한다.
💡 자바에서의 문자열은 여러개의 문자가 결합한 것을 의미하며 데이터 타입은 String으로 정의, 출력할때는 (” “)을 이용한다.
마지막 예시에서 다음과 같은 궁금점이 들 것이다.
❓ 문자열은 마지막 예시 처럼 (“ “)출력이 되는데?
💡 자바의 문자열은 한 문자라도 (” “)으로 출력되거나 String으로 선언되면 문자열로 인식하여 내부에서 처리한다!!case2) “정수”과 “실수”를 구분하지 못한 경우
//정상 출력
int a = 1; //정수 값
System.out.println(a); //출력 가능, 출력 값: 1
//오류
int b = 2.5;
System.out.prinltn(b); //출력 불가능
//정상 출력
double c = 3.5; //실수 값
System.out.println(c); //출력 가능, 출력 값:3.5
💡 자바에서의 정수는 byte,short,int,long형으로 구분되며 이에 맞는 자료형을 사용해야 한다.
참고 자료: https://mathbang.net/258
💡 자바에서의 자료형(데이터 타입)은 다음과 같이 구분된다!정수형
타입 | 내용 | 표현 범위 |
---|---|---|
byte | 1byte | -128 ~ 127 |
short | 2byte | -32,768 ~ 32,767 |
int (기본) | 4byte | -2,147,483,648~2,147,483,647 |
long | 8byte | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
실수형
타입 | 내용 | 표현 범위 |
---|---|---|
float | 4byte | ±(1.40129846432481707e-45 ~ 3.40282346638528860e+38) |
double (기본) | 8byte | ±(4.94065645841246544e-324d ~ 1.79769313486231570e+308d) |
문자형(한 글자, 출력형태(’ ‘))
타입 | 내용 | 표현 범위 |
---|---|---|
char | 2byte | 모든 유니코드 문자 |
문자열(여러 글자, 출력형태 (” “ ) )
타입 | 내용 |
---|---|
string | 12byte |
논리형(true 또는 false 값)
타입 | 내용 |
---|---|
boolean | 1byte |
boolean boolean2 = false;
boolean boolean3 = true;
참고 자료: https://stanleykou.tistory.com/entry/Java-기본-데이터-타입
다음의 예시를 살펴보자
int a = 10;
System.out.println(a); //출력 값 = 10
int A = 20;
System.out.println(A); //출력 값 = 20
abstract continue for new switch
assert default goto package synchronized
boolean do if private this
break double implements protected throw
byte else import public throws
case enum instanceof return transient
catch extends int short try
char final interface static void
class finally long strictfp volatile
const float native super while
참고 자료: https://wikidocs.net/277
int number = 30; //변수 number에 넣을 값인 30이 변수값을 의미한다.
final int f_num = 100; // 선언과 동시에 초기화
final int f_num;
f_num = 50; // 선언 후 초기화는 할 수 없다.
참고자료: https://velog.io/@jahommer/변수상수
//오류
System.out.println("egoing said "Welcome programming world""); //출력 오류
//정상 출력
System.out.println("egoing said \"Welcome programming world\""); //정상 출력
❓왜 백슬레시()를 넣으면 정상 출력이 될까?
특수문자의 입출력을 정리해보자!
<특수문자 입출력표>
입력 | 출력 |
---|---|
\ | 에러 |
\ | \ |
\’ | ‘ |
\” | “ |
( | ( |
( | 에러 |
/ | / |
\/ | 에러 |
입력 | 출력 |
---|---|
\n | 줄바꿈 |
\r | 줄의 맨 처음으로 |
\t | 탭 |
\b | 커서를 한 문자 앞으로(백 스페이스 |
\0 | 빈칸 (null) |
2월 22일 문제 제출
문제 풀이
2557번
public class Main{
public static void main(String [] args){
System.out.println("Hello World!");
}
}
10718번
public class Main{
public static void main(String [] args){
System.out.println("강한친구 대한육군");
System.out.println("강한친구 대한육군");
}
}
10171번
public class Main {
public static void main(String[] args) {
System.out.println("\\ /\\");
System.out.println(" ) ( ')");
System.out.println("( / )");
System.out.println(" \\(__)|");
}
}
10172번
public class Main {
public static void main(String[] args) {
System.out.println("|\\_/|");
System.out.println("|q p| /}");
System.out.println("( 0 )\"\"\"\\");
System.out.println("|\"^\"` |");
System.out.println("||_/=\\\\__|");
}
}