소프트 웨어를 구성하는 양대 요소
원인
source
code
languge
-> 같지만 다르다
결과
application
program
프로그래밍은 원인과 결과
public class Datatype{
public static void main(String[] args) {
System.out.println(6); // Number
System.out.println("six"); // string
System.out.println("6"); // String
System.out.println(6+6); // 12
System.out.println("6"+"6"); //66
System.out.println(6*6); // 36
// System.out.println("6"*"6");
System.out.println("1111".length()); // 4
// System.out.println(1111.length());
}
}
// 숫자 문자 type 구별
숫자와 문자 type의 차이를 알자
public class Number {
public static void main(String[] args) {
System.out.println(6 + 2); //8
System.out.println(6-2); //4
System.out.println(6*2); //12
System.out.println(6/2); //3
// 연산자 operator
System.out.println(Math.PI); // 3.141592
System.out.println( Math.floor(Math.PI)); //소수점 제거
System.out.println(Math.ceil(Math.PI)); //소수점 올림
System.out.println(Math.min(4, 9));
System.out.println(Math.ceil(Math.random()*100)); //random= 1이하 랜덤 숫자
}
}
연산자를 사용한 계산
함수를 사용한 계산
//문자열 data type
public class StringApp {
public static void main(String[] args) {
System.out.println("Hello World"); // String
// System.out.println('Hello World'); // character 한 문자로 이루어진 요소
System.out.println("H"); //String 문자열
System.out.println('H'); //character 문자
System.out.println("Hello "
+ "World"); //줄바꿈이 아닌 문자열 끼리의 더함
// new line \n 줄바꿈
System.out.println("Hello \nWorld");
// escape
System.out.println("Hello \"World\" \" \\ \' ");//Hellow "World"
}
}
public class Variable {
public static void main(String[] args) {
int a=1; //Number ->integer(정수)
double b=1.1; //Real Number-> double (실수)
System.out.println(Math.min(a, b));
System.out.println(b);
String c="Hello World"; // string 문자열로 지정
System.out.println(c);
}
}
// 이 변수에는 반드시 문자 혹은 수가 온다는 표현 int double string 등등
// 변수에 data type을 지정하는것
변수란 무엇인가 변수를 왜 사용하는가
물컵에 불명의 액체가 담겨있다면 먹지 않겠지만 따지않은 음료수병에 음료수가 들어있다면 믿고 섭취할 수 있을것이다.
이처럼 어떠한 변수에 반드시 어떤 문자열 혹은 숫자등이 온다는것을 알려주어 확인하지 않아도 되는 편리함을 주기 위한 방법.
변수에 data type을 지정한다 할 수 있다.
public class Letter {
public static void main(String[] args) {
String name = "egoing"; //name 이라 변수를 지정함으로써 코드만 보아도 어떤게 오는지 알 수있다.
System.out.println("Hello, "+name+" ... "+name+" ...egoing ... bye");
double VAT =10.0; // 변수에는 좋은 이름을 써야 효율적인 코드를 만들 수 있는것
System.out.println(VAT);
}
}
name이라 변수를 지정함으로써 코드내에서 해당 변수가 의미하는것이 무엇인지 직관적으로 알 수 있다.
이처럼 변수에는 좋은 이름을 써야 효율적인 코드를 만들 수 있는것이다.
public class Casting {
public static void main(String[] args) {
//java 에서 형 변환은 빈번히 일어나는것이다
double a= 1.1;
double b= 1; // 얘는 손실이 없기때문에 자동으로 casting 해준거임
double b2= (double)1; // 위에껄 명시적으로 형 변환casting을 해준것
System.out.println(b); // 1이 실수임 1.0으로 converting 됨
// int c= 1.1; 밑줄에 커셔를 올리면 해결방안이 나옴
double d= 1.1;
int e= (int) 1.6; // 소숫점 제거 손실이 발생하기 떄문에 명시적으로 변환을 해줘야 함
int e2 = (int) Math.round(2.6); // 0.5 기준 올림 내림처리
System.out.println(e); // 1.1을 정수 형태인 int로 나타내면 손실이 발생한다
System.out.println(e2);
String f= Integer.toString(e); // int로 강제설정된 변수 e를 문자열 f로 변환 시켜줌
System.out.println(f);
System.out.println(f.getClass());
//자바에서는 변수의 data type을 엄격하게 통제한다 형 변환은 casting을 통해 가능하다.
// how to type cast double to string in java
}
}
java에서 형 변환은 빈번히 일어나며, java는 변수의 data type을 엄격하게 통제한다.
그러므로 data의 type을 convert해야하는 상황들이 발생한다.
실수 double type에서 1을 처리할 경우 손실이 발생하지 않기때문에 자동으로 casting 해주어 1.0으로 표시되게 한다.
그러나 정수 int type에서 1.1을 처리할 경우 손실이 발생하기 때문에 명시적으로 변환을 해 주어야 한다.
해당 코드는 int e= (int) 1.1; 등을 통해 double to integer 를 표현 가능