eud day 10
!! 다만 크기가 더 큰 변수를 작은 변수로 형 변환 하기 위해서는 명시적 형 변환이 필요하다.
short x = 10;
short x2 = 20;
// short result = x + x2; 연산을 하게 되면 정수형의 기본인 int로 자동 형 변환이 되기 때문에short타입에 저장할 수 없음
short result = (short)(x + x2);
int x3 = x+x2;
System.out.println(x3);
float result3 = (float)(10*1.0);
//소수점 곱셈 연산이 double형으로 바뀌기 떄문에 float형으로 형 변환 해줘야 저정 가능하다.
System.err.println("10"+1+2+3); //10123
System.err.println(1+2+3+"10"); //610
// 문자형 인식 후 더하기 연산자와, 더하기 연산 연산 후 문자 인식은 결과 값이 다르다.
!! 중요 !!
String k = "10";
System.out.println(k+20); // 1020
int k2 = Integer.parseInt(k); // String type의 숫자를 int형으로 형변환
System.out.println(k2+20); // 30
System.out.println(10+""); //문자형 10
System.out.println(10+""); //1010
int n = 10;
short n2 = (short)n;
short x = 10;
short x2 = 20;
short x3 =(short) (x+ x2); //연산 후 Int형으로 바뀌기 떄문에 Short형으로 바꿔준다.
Byte.parseByte();
Short.parseShort();
Integer.parseInt();
Long.parseLong();
Float.parseFloat();
Double.parseDouble();
---------------------
String.valueOf(); //다른 type을 String형으로 변환
: 값을 변경하지 못하게 변수를 상수로 선언한다.
final 키워드를 사용한다.
final int SIZE = 100;
SIZE = 200; //에러
System.out.println(SIZE);
int num = 10;
num = 20;
System.out.println(num);
상수는 알아보기 쉽게 대문자로 선언한다.
: 2항 연산자로서 연산을 나타내는 연산자이다. 데이터 형 변환이 자동으로 발생할 수 있다.
: 비교연산자는 두 개의 값의 크기를 비교하는 연산자로서, 연산결과는 반드시 true또는false값이 나온다. 따라서 boolean 데이터형의 변수로 저장할 수 있으며 비교 연산자는 if문 , while문 같은 제어문에서 주로 사용된다.
: 변수에 새로운 값을 저장하는 경우에 사용되는 연산자이다. 변수에 기존값을 바로 저장할 수도 있고 더해서 저장하거나 빼서 저장하는 것처럼 산술연산해서 저장할 수 있는 방법이다.
기존 변수가 가진 값에 1을 증가하거나 1을 감소하는 경우에 사용하는 연산자이다. 연산자를 앞에 붙이면 전위 연산자라고 하며, 변수의 뒤에 붙이면 후위 연산자라고 한다. 전위 연산자 및 후위 연산자에 따라서 연산 결과 값이 달라질 수 있기 때문에 주의해서 사용한다.
: true와 false값을 이용하여 논리연산을 수행하는 연산자로서, 연산 결과는 비교 연산자와 마찬가지로 반드시 논리 값이다. boolean데이터형의 변수로 저장할 수 있으며 if문, while문과 같은 제어문의 조건 검사에 주로 사용된다.
: 3개의 항으로 구성되어진다.
변수 = (조건식) ? 값1 : 값2 ;
조건식이 true면 값1을 변수에 저장하고, false면 값2를 변수에 저장한다. 값1과 값2사이에는 :(콜론)을 사용하며 중첩도 가능하다.
Double type으로 연산할 때 출력값이 제대로 나오지 않는다.
double a = 0.1;
double b = 0.2;
System.out.println(a+b);
// --> 0.30000000000000004
해결: 객체를 만들고 연산할 숫자를 String 타입으로 바꿔서 계산한다.
double a = 0.1;
double b = 0.2;
BigDecimal c = new BigDecimal(String.valueOf(a));
BigDecimal d = new BigDecimal(b + "");
System.out.println(c.add(d));
System.out.println(c.subtract(d));
System.out.println(c.multiply(d));
System.out.println(c.divide(d))
public class Sample10_string {
public static void main(String[] args) {
String name1 = "홍길동";
String name2 = "홍길동";
String name3 = new String("홍길동");
System.out.println(name1 + "\t" + name2 + "\t" + name3);
// 문자열 내용 비교는 ==이 아닌 .equals함수를 이용한다.
System.out.println(name1==name2); //true
System.out.println(name1==name3); //false
System.out.println(name1.equals(name3)); //true
System.out.println(name2.equals(name3)); //true
}
}
: 자바의 문장은 용도에 따라서 다음과 같이 분류할 수 있다.
자바의 문은 실행문과 비실행문으로 나누며, 실행문은 다시 순차문과 제어문으로 구별된다.