Chap02

박성호·2024년 4월 19일
0

JAVA복습

목록 보기
2/4

두번째에는 다양한 자료형을 출력을 볼 수 있었습니다.
쉬운 내용이고 길기도 하지만 복습을 의미로 쭉 볼게요.

정수형+실수형

	int a=14;
	float f=2.75f;
	float result=a+f;
	System.out.println(result);
    결과

정수형 a와 실수형 f를 더한 result를 출력하면 16.75로 실수형이 출력되므로 result는 실수형 이라는것을 알 수 있습니다.

정수와 실수를 더하면 결과는 실수형으로 자동 형변환됩니다

문자열+문자열

		  String x1="Hello "; //문자열에는 ' 를 쓰면 안됨 
		  String x2="Nihao";
		  String x3=x1+x2;
		  System.out.println(x3);

문자열에는 JS는 큰따옴표 작은따옴표 둘다 사용하지만 자바는 "큰따옴표"를 써서 작성해야한다고 써놨군요

결과

논리형

	boolean bFact = true; 
	String sFact = "true";
	System.out.println(bFact);
	System.out.println(sFact);

결과

논리형 자료는 true(1) or false(0)를 나타나는데 사용합니다 문자열로 작성한 true랑 같아보이지만 다른 값입니다.

char

  int i = 66; char c = (char)i; 
  System.out.println(c);

char는 문자를 담기위한 변수 이지만 정수형으로 저장되어있습니다. 이게 어떤 의미냐면
결과를 보면

정수형 i 에는 66을 담았지만 char c로 변환하고 출력하니
알파벳 B 가 나옵니다.
이유는 아스키 코드(ASCII Code: American Standard Code for Information Interchange)에
따라 값이 출력되기 때문인데 표를 보겠습니다.

여기서 표를 보면 알파벳 대문자 B의 ASCII 코드는 66입니다.
char 타입은 정수형으로 값을 저장하지만, 출력할 때 해당하는 ASCII 코드에 해당하는 문자가 출력됩니다.

형변환 Cascading

이번에는 형변환 입니다.

 		 double doublev=4.1;
		 int i=(int)doublev;
		 System.out.println(i);

결과

형변환을 통해 4.1실수를 정수로 변환하니 4로 출력이되죠 나머지 소수점 자리는 버리고 저장이 됩니다.

byte

		  byte v=126; 
		  byte b=100; 
		  byte n=(byte)(v*b); 	System.out.println(n);

결과

byte 자료는
-128 ~ 127에 범위를 갖기 때문에 둘은 연산하면 자바에서는 이러한 타입 간의 연산을 할 때는 자동으로 정수형으로 변환됩니다 그래서 byte 변수를 곱하면 그 결과가 int로 나오는데 그 12600의 값이 범위를 벗어나면 overflow가 발생하여 12600/256= 몫이 49 나머지가 56이므로 나머지 값인 56이 나옵니다.

parse

		String str1 = "128";
		int nStr = Integer.parseInt(str1);
		int x = nStr*3;
		System.out.println(x);

128이라는 문자형 타입의 숫자를 Integer.parseInt를 통해 정수형으로 변환하여 정수형 계산을 할 수 있습니다.
결과

줄바꿈

		System.out.println("\nGood "); //println(\n) = print("\n \n")을 사용하면 한번더 줄을 바꾼다. 
		System.out.print("\nMorning");
		System.out.print("\nVietnam");
		System.out.print("\nHello ");
		System.out.print("\nWorld");

println은 출력후 줄바꿈인데 \n도 줄바꿈에 역할을 합니다
만약 \n을 출력하고 싶으면 \\n으로 작성하면 됩니다
결과

printf

		int a1=100;
		int a2=1000;
		int a3=1000000;
		System.out.printf("%-7d\n", a1); //-가 붙으면 왼쪽정렬 그냥 쓰면 오른쪽 정렬
		System.out.printf("%7d\n", a2);	//91p 참조
		System.out.printf("%7d\n", a3); //d는 정수 타입에 쓰는거  byte, short, char, int, long

결과

printf는 format에 따라 출력한다는 뜻으로 7은 7자리 숫자를 표현한다는 뜻이고 d는 decimal 10진수로 표현한다는 뜻입니다 다른 방식으로는 o는 8진수 x는 16진수등 다양한 포맷이 있습니다

		float b1=3.14f;
		float b2=128.357f;
		float b3=1024.3756f;
		
		System.out.printf("%9.4f\n",b1);
		System.out.printf("%9.4f\n",b2); //전체 자리( 소수점 포함) 9수 , 소수점 4자리 %9.4f
		System.out.printf("%9.3f\n",b3); // 소수점 자리가 부족하면 뒤에 숫자 반올림

결과

이번에는 float출력 포맷으로 9.4는 9자리수 소수점 4자리를 표현합니다.

		int a1=100;
		float b1=3.14f;
		String s1="Hello";
		String s2="Bon jour";
		String s3="commnet allez vu";
		
		System.out.printf("%-20s\t%d\t%4.2f\n",s1,a1,b1);
		System.out.printf("%-20s\n",s2);
		System.out.printf("%-20s\n",s3);

결과

다른 건 앞에서 살펴봤지만 \t는 처음보는데 \t : 탭 (Tab)기능을 합니다

		int n = 012; //8진수는 앞에 0을 붙이고 10진수는 그냥 16진수는 0x를 붙힘
		System.out.printf("%x\n",n);
		
		n=012;
		System.out.println(n);
		System.out.printf("%x\n",n); //16진수
		System.out.printf("%d\n",n); //10진수
		System.out.printf("%o\n",n); //8진수

결과

정수형 n = 012를 보면 값 앞에 0을 붙히면 8진수 10진수는 따로 없고 16진수는 0x를 붙이면 됩니다.

이렇게 두번째 챕터를 살펴봤는데 길이는 긴데 내용은 아주 기초적이라서 지루한 느낌도 있네요. ㅎㅎ;
작성하는데 시간이 걸렸네요 정말 간단한 내용이지만 이렇게라도 조금씩 복습해 갑니다.

profile
꾸준히 성장하는 개발자

0개의 댓글