자료형

1. 기본 자료형 (Primitive Type)

1)정수형
         byte (1byte => 8bit) -2^7 ~ 2^7-1
         short (2byte => 16bit) -2^15 ~ 2^15-1
         int (4byte => 32bit) -2^31 ~ 2^31-1               default
         long (8byte => 64bit) -2^63 ~ 2^63-1

         8진수는 접두어로 0 을 붙인다.
         int a = 010;  ==> a=8
         16진수는 접두어로 0x를 붙인다.
         int b= 0x12; ==> b=16+2=18
         0~9, a, b, c, d, e, f

public class Primitive
{
	/*
	기본자료형(Primitive)
	 1.정수형 2.실수형 3.문자형 4.논리형
	*/
	public static void main(String[] args)
	{
			System.out.println("1.정수형----");
			//byte, short, int, long
			byte b1 = -128; // -128 ~ 127
			byte b2 = 127; 
			System.out.println(b1);
			System.out.println(b2);

			short s1 = 5000; //2byte
			System.out.println(s1);

			int i=50000; //4byte 정수형의 default
			System.out.println(i);

			long ln = 40; //8byte
			long ln2 = 40L; //접미사 L, l을 붙인다.
			System.out.println(ln);
			System.out.println(ln2);
	}
}


2)실수형
         float (4byte) : 소수점 이하 7~8자리 
         double (8byte) : 소수점 이하 15~16자리           default
         과학적 지수 표기방법 : E
         double x= 123e-3;  123 * 10^-3

3)문자형
         char (2byte) 0~2^16-1   'A'

4)논리형
         boolean (1byte) true, false

public class Primitive2
{
	public static void main(String[] args)
	{
		/*flaot(4byte) : 단정밀도, 소수점 이하 7자리
		  double(8byte) : 배정밀도 소수점 이하 15~16자리 (default)
		*/
		float a=1.234f; //default가 double이기 때문에 문제가 생긴다.
		System.out.println(a);
		
		float b=200; //int의 자료형이 더 작음
		System.out.println(b);
		//작은 유형의 값이 큰 유형의 변수에 담기면 자동형변환이 일어난다. ==> promotion (묵시적 형변환)

		float c=.7789f;
		System.out.println(c);
		
		//double (8byte)
		double d= -889.4789;
		System.out.println(d);

		//과학적 지수 표기방법 : E
		double x= 123e-3;
		System.out.println(x);
		double y=123e3;
		System.out.println(y);

		float f=3e2f; //과학적 지수표현은 무조건 소수점을 이용하기 때문에 double로 들어온다.
		System.out.println(f);

		float q=0345;
		System.out.println(q);

		System.out.println("3, 문자형ㅡㅡㅡㅡㅡㅡㅡ");
		//char : 2byte 0~2^16-1(65535);
		//모든 국가의 언어 표현 가능. 유니코드 체계를 사용함
		char ch='W';
		char ch2='成';
		System.out.println(ch);
		System.out.println(ch2);

		char ch4 = '\uff57'; //유니코드 표기법
		System.out.println(ch4);

		char ch5=' '; //공백
		System.out.println(ch5);

		String s="AB";
		char c1 = 'A';
		/*
		int형 이하의 자료유형이(byte, short, char) 연산에 사용되면
		자동으로 int형으로 promotion(자동형변환)이 일어난다.
		*/
		char c2 = 'B';
		System.out.println(c1+""+c2); //+에 문자열이 나오면 그냥 문자열을 붙이기만한다.
		
		byte b1 = 1;
		byte b2 = 2;
		int b3 = b1+b2;
		System.out.println(b3);

		System.out.println("4. 논리형 ㅡㅡㅡㅡㅡㅡㅡ");
		//boolean (1byte) : true, false 값을 갖는다.
		//자바의 논리형은 0이나 1로 호환되지 않는다. 형변환도 불가능하다.
		boolean bool = true;
		boolean bool3 = 2>3; // false가 출력 
		System.out.println(bool3);
	}

}

형변환

--------> 자동형변환(promotion)
byte < short < int < long < float < double
          char  < 
크기가 작은 유형에서 큰 유형으로 변환이 일어나는 것을 자동형변환(promotion)이라 한다.
반면, 이와 반대방향으로 변환처리를 하고자 할 때는 강제 형변환(casting)을 해야 한다.

int m=2;
long n=5;
float v=m*n;   ==> 자동형변환 10.0
byte b= (byte)v; ==> 강제형변환 10

System.out.println((byte)(227));
00000000 00000000 00000000 11100011
byte로 하면 -128 + 64 +32 + 2 +1 = -29
첫 자리는 항상 -부호를 나타낸다.

2. 참조형(Reference type)
         => 클래스형, 인터페이스형, 배열
         Date
         String "ABC"
                 => 참조유형은 객체를 변수가 가리키는 유형을 의미 참조유형은
                      직접 값을 할당해서는 안되고 반드시 new라는 연산자를 이용해서 객체를 생성하여야 한다.
                      단 String의 경우 new에 해당하지만 직접 할당해도 된다.

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

html2


<a href="#ch01">1장으로 가기</a>
이름을 링크로 걸어두면 1장으로 이동한다.

<a nave ="#ch01"><h1>Chapter01</h1></a>


img태그 : 인라인요소

속성 
- src : 파일명 또는 경로를 기술한다.
- width : 폭 (수치 => px 이 디폴트)
       ==> width : "50%"로 하면 화면에 맞춰서 크기가 변한다 (반응형)

- height : 높이
- alt : 대체 텍스트를 지정 
- title : 툴팁(풍선말)

이미지맵

  <img src="images/naver02.png" alt="메뉴입니다." usemap="#myMap"></img>
  <!-- 이미지를 지도로 생각하여 영역을 지정하여 링크 이동을 하도록 한다. -->
  <map name="myMap">
	<!-- 모양(rect, circle..), 좌표 -->
	<area shape="rect" coords="0,0,47,33" href="http://www.naver.com">
	<area shape="rect" coords="47,0,87,32" href="http://www.google.com">
  </map>

버튼마다 이미지를 구현하기는 어렵다 그래서
<map>태그를 사용하여 처리해주는 방법이 있다.
shape = "rect"일 때 coords 좌표는 image 를 그림판에서 확인하면서 수정해주면 좋다.
coords 에는 왼쪽 상단 좌표 , 오른쪽 하단 좌표
shape = "circle"이면 중심점을 잡고 반지름 그리는 것
중심의 좌표, 반지름
shape = "poly" choords 다각형들의 점들을 넣어주면 된다.
각 점들의 좌표 ,각 점들의 좌표  

+ Recent posts