본문 바로가기

배운 책들 정리/자바 완전 정복

자바의 정석 1,2 - 자바 설치~변수의 종류~형 변환

1 자바 설치

1. 자바 설치

 

windows x64 맨 밑꺼 설치 (환경에 따라 다름)

 

Java Archive Downloads - Java SE 8 | Oracle 대한민국

죄송합니다. 검색 내용과 일치하는 항목을 찾지 못했습니다. 원하시는 정보를 찾는 데 도움이 되도록 다음을 시도해 보십시오. 검색에 사용하신 키워드의 철자가 올바른지 확인하십시오. 입력

www.oracle.com

 

 

 

2. 환경변수 추가

 

 

3. 이클립스 설치

 

 

[Java/Windows11] 이클립스 설치하기

1. JDK 버전 확인 cmd > java -version java -version 만약 설치가 되어 있지 않으면 JDK를 먼저 설치하고 이클립스를 설치하면 됩니다. JDK 설치, 환경변수 설정 [Java/Windows 11] JDK 1.8 설치, 환경변수 설정 1. JDK

danmilife.tistory.com

 

 

2 이론

1. 변수의 종류

 

* 기본형과 참조형

 

 

* 기타 (변수, 리터럴, 상수)

 

 

* 아스키코드

 

 

* 리터럴과 접미사

 

 

double을 표현할 때 d는 생략해도 되고 안해도 되지만

float은 f가 붙지 않으면 표현이 안된다. (f만 예외)

 

 

하지만 0을 표기할 때는 f를 붙일 필요는 없다.

 

string이 우선이 된다. 만약 원하는 값의 연산을 진행하고 싶으면 ()를 써서 미리 암산 처리한다.

 

 

 

 

* 형변환의 붙임 유무.

 

- int -> char O

- char -> int X

- float -> int O

- int -> float X

 

* printf 메소드 (진수 표현볍)

 

 

* 중요한 키워드

%d

%f

%s

 

 

3 실습

1. 프로젝트 생성

 

* New java Project

 

모듈은 체크 해제

 

 

* 클래스 생성

 

 

클래스는 항상 대문자로

 

2. 변수 종류 확인

 

package j0508_01;

public class Class0508_01 {
	public static void main(String[] args) {
		boolean temp = true;
		boolean temp2 = false;
		boolean temp3;
		temp3 = true;

		char ch1 = ' ';
		char ch2 = 'a'; // ''만 사용가능
		char ch3 = 'A';
		char ch4 = 't';
		// char ch5 = " "; "" 사용 불가

		byte num1 = 1;
		//byte num3 = 256; // 127까지 숫자표현 가능		
		short num2 = 10;
		//byte num4 = 32768; // 32767까지 숫자표현 가능
		
		int num5 = 21;
		//byte num6 = 2147483648; //2147483647까지 숫자표현 가능
		long num7 = 21;
		//long num8 = 2147483648; // 오류
		//숫자 뒤에 L을 안 붙이면 작동 안함
		float num9 = 9.87654321111111f; //실수형 8자리까지 정밀도 표현 가능
		float num10 = 987.65432100000f; //접미사 F,f를 붙여야 함.
		double num11 = 1.123456789012345; //실수형 16자리까지 정밀도 표현 가능 
		
		
		//문자열 - class일 때 대문자 표현
		String str1 = new String("abc");
		
		String str = "aaa"; // 기본형 타입으로 선언 (예외)
		
		
		char str3= ' ';
		String str4= "";
		
		//변수
		int score = 100;
		score = score + 200; //score 300이라는 값이 들어감.
		
		//상수
		final int SCO = 100;
		//SCO = 200; //상수는 값을 변경할 수 없음.
		
		
		
		
		
	}
}

 

2. 변수 종류 확인 2

 

package j0508_01;

public class Class0508_02 {
	public static void main(String[] args) {
	boolean power = true;
	char ch = 'A';
	char ch2 = 65;
	char ch3 = '\u0041';
	char tab = '\t';
	byte b = 127;
	short s = 32767;
	int i = 100;
	int oct = 0100; //8진수
	int hex = 0x100; //16진수
	
	long l = 10000000000L;
	float f = 3.14f;
	double d = 3.14;
	float f2 = 100f;
	
	
//	int num = 1;
//	int num2 = 1+ch; //가능

//	System.out.println(power);
//	System.out.println(ch2);
	System.out.println(f2);
	System.out.println(""+tab+ch2);
//	System.out.println(""+ch+num); //문자열로 바꿔줘야 함
//	System.out.println(num2); // 아스키코드 a=65로 해석해서 65+1=66로 출력
	}//main
}//class

 

3. 변수 종류 확인 3 //  1-8) 문자와 문자열

 

package j0508_01;

public class Class0508_03 {
	static int n;// 전역변수 - class영역에서도 변수선언 가능
	// 자동으로 0 처리

	public static void main(String[] args) {
		int n;// 지역변수 
		//n=10; !! 해당 값을 넣지 않으면 실행 안 됨. 
		//int num; 에러 처리
		System.out.println("main메소드 num 호출: "+n);
		sub();

	}// main

	static void sub() {

		System.out.println(n);
		System.out.println("sub메소드 num 호출: "+n);
	}

}// class

 

4. 문자와 문자열

 

 

// 챕터
package j0508_01;

public class Class0508_04 {

	public static void main(String[] args) {
		long num = 2;
		long num2 = 0L; // 붙여서 넣기
		char ch = 'A';
		//char ch2 = 'AB'; // 오류 1개만 넣을 수 있음
		char ch3 = ' ';
		String str1 = "";
		
		String str2 = "a"+"b";
		System.out.println(str2);
		
		int num3 = 7;
		int num4 = 7;
		String num5 = "7";
		System.out.println(num3+num4); //14
		System.out.println(num3+num4); //147
		System.out.println(num3+num4+num5); //777
		
		System.out.println("결과값 : "+(num3+num4));
		
	
	
	}// main


}// class

 

5. 정수의 오버플로우

 

// 정수의 오버플로우
package j0508_01;

public class Class0508_05 {

	public static void main(String[] args) {
		//오버플로우
		//2147483647
		int num = 2147483647;
		System.out.println(num+2); //오버플로우로 인해 거꾸로 연산이 됨.
	
		int num2 = -2147483648;
		System.out.println(num2-1); //오버플로우로 인해 거꾸로 연산이 됨.
		
		int num1 = 1000000;
		int num0 = 2000000;
		System.out.println(num1*num); //2,000,000,000,000
		
		
	}// main


}// class

 

6. 형변환

 

// 형변환
package j0508_01;

public class Class0508_06 {

	public static void main(String[] args) {
		//형변환
		// 기본현 - 8가지
		// 논리형 1바이트 - boolean
		// 문자형 2바이트 - char
		// 정수형 1바이트 - byte, 2바이트 - short, 4바이트 -int, 8바이트-long
		// 실수형 4바이트 - float, 8바이트 -double
		// 문자열 - String
		
	float f = 1.6f; //소수점이 있음.
	int i = (int)f; //강제형변환 1
	//큰 쪽에서 작은 쪽에서 갈 때는 무조건 형변환
	System.out.println(i);
	
	int num = 10;
	double d = num; //실수
	System.out.println(d);
	
	// String > double > float > long > int > char, byte, short
	
	char ch = 'A';
	int n = ch;
	System.out.println(n); // 아스키코드 65
	
	char n2 = 97;
	char ch2 = (char)n2;
	System.out.println(ch2); //a
	
	}// main


}// class

 

 

7. 진수 표현법

 

package j0508_02;

public class Class0508_07 {
	public static void main(String[] args) {
		// printf, println, print
		System.out.println(10/4.0);//출력후 enter키가 포함
		// \n 단락 \t tab키
		System.out.printf("%.2f \n",10/7.0); //출력후 자동enter키가 없음
		System.out.printf("%9d \n",1000); //정수형
		System.out.printf("%x \n",16); //16진수 표현
		System.out.printf("%o \n",9); //8진수 표현
		System.out.printf("당신의 나이 : %d세, 생년 : %d \n",25,86);
		System.out.printf("당신의 나이 : "+ 25+"세, 생년 : "+1986+"년");
		

	}
}

 

8. 문제풀이 - 형변환, printf 출력

 

package j0508_02;

public class Class0508_08 {
	public static void main(String[] args) {
		// int 선언할 것 : num1 변수 10, num2 변수 3을 선언 후,
		// 소수점 2자리까지 출력하시오
		int num1 = 10;
		int num2 = 3;
		System.out.printf("%.2f \n", (float) num1 / num2);

		// 변수 n1 : 3.14 변수 n2 : 5
		// [ n1+n2의 결과값 : 8.14]를 출력하시오.

		float n1 = 3.14f;
		int n2 = 5;
		System.out.printf("[ n1+n2의 결과값 : %.2f ] \n", (n1 + n2));

		// 국어점수 int kor 100, eng 100, math 99
		//

		int kor = 100, eng = 100, math = 99;
		int total = kor + eng + math;
		double avg = total / 3.0;

		System.out.printf("[ 합계 : %d, 평균 : %.2f ] ", total, avg);

	}
}

 

 

* 핵심

- 형변환 표기 방법 익히기

- printf 출력 방법 익히기

 

 

* 자바 정석 ppt 링크

 

 

GitHub - castello/javajungsuk_basic: 자바의 정석 기초편 관련 자료입니다.

자바의 정석 기초편 관련 자료입니다. Contribute to castello/javajungsuk_basic development by creating an account on GitHub.

github.com

 

 

* 교수님 링크

 

onulee - Overview

onulee has 15 repositories available. Follow their code on GitHub.

github.com

 

 

* 자바 실습 0508 링크

 

GitHub - RosePaku/bigdata_java: 빅데이터_자바의_정석

빅데이터_자바의_정석. Contribute to RosePaku/bigdata_java development by creating an account on GitHub.

github.com

 

 

728x90
반응형
LIST