1 자바 설치
1. 자바 설치
2. 환경변수 추가
3. 이클립스 설치
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 링크
* 교수님 링크
* 자바 실습 0508 링크
728x90
반응형
LIST
'배운 책들 정리 > 자바 완전 정복' 카테고리의 다른 글
자바의 정석 4,5 - 조건문,반복문,배열 2 (1) | 2023.05.13 |
---|---|
자바의 정석 4,5 - 조건문,반복문,배열 (0) | 2023.05.11 |
자바의 정석 3,4 - 연산자, 조건문 (1) | 2023.05.10 |
자바의 정석 3 - 연산자 (scanner, charat, next, 삼항연산자) 등등 (0) | 2023.05.09 |
자바 완전 정복 예습 간단한 리뷰 - 목차 확인, 코드 리뷰 및 연습 (2) | 2023.05.07 |