HelloWorld

HMS·2022년 5월 12일
0

HelloWorld

소프트 웨어를 구성하는 양대 요소

원인
source
code
languge
-> 같지만 다르다

결과
application
program

프로그래밍은 원인과 결과

  1. java라는 언어에 맞게 source code를 작성
  2. 이클립스등의 프로그램에서는 저장이라는 행위를 통해 컴퓨터가 이해할 수 있도록 .class파일로 compile 과정을 거침
  3. .class 파일을 java virtual machine을 통해 동작시켜서
  4. 실행한 파일을 컴퓨터 화면에 출력

숫자 문자 type

 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"
	}

}
  1. 알파벳 하나 글자 하나 1bit는 ''로 나타내며 character type을 가지게 된다
  2. ""은 하나의 문자열 string에 해당하는 data type이다
  3. 문자열 안에서 "Hello World" 엔터를 누르면 코드 내 줄바꿈을 하고 문자열끼리의 더함으로 나타내며 출력시에는 Hello World 그대로 출력 된다
  4. \n을 글자 앞에 주면 줄바꿈으로 출력 된다
  5. \ 역슬래시 뒤에 ' " \를 주면 출력이 가능하다 다른문자는 안되는듯

변수

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이라 변수를 지정함으로써 코드내에서 해당 변수가 의미하는것이 무엇인지 직관적으로 알 수 있다.
이처럼 변수에는 좋은 이름을 써야 효율적인 코드를 만들 수 있는것이다.

Casting

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 를 표현 가능

profile
안녕하세요

0개의 댓글