일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- SQLD #SQL #에스큐엘디 #에스큐엘 #자격증 #2023년 #시험일정 #시험준비 #일정 #SQL개발자 #개발 #코딩 #분석
- 파이썬
- 예제
- 파이썬 #python #코딩 #for #tuple #튜플 #예제 #문제 #풀이 #기초
- python #파이썬 #분기문 #if #else #코딩 #초보 #개발 #예제 #문제 #풀이
- 초보
- 기초
- PYTHON
- 문제
- 파이썬 #python #코딩 #for문 #for #이론
- 파이썬 #python #for #예제 #문제 #풀이 #코딩 #공부
- 파이썬 #python #기초 #코딩 #예제 #문제 #풀이 #공부 #초보 #개발
- 딕셔너리
- 풀이
- 정보처리기사 #개발자 #코딩 #자격증 #IT자격증 #프로그래밍 #초보 #공부 #시험 #일정 #2023년 #정처기 #시험정보
- DICTIONARY
- 실습
- 파이썬 #python #코딩 #초보 #예제 #문제풀이
- 파이썬 #리스트 #python #list #문제 #예제 #풀이
- list
- 파이썬 #Python #코딩 #리스트 #문제 #list #풀이 #예제
- 파이썬 #python #for #예제 #문제 #풀이 #기초 #코딩
- 코딩
- 연산
- python #파이썬 #코딩 #예제 #풀이
- 파이썬 #python #코딩 #개발 #초보 #예제 #문제 #풀이
- python #파이썬 #개발 #코딩 #초보 #예제 #문제 #풀이
- 파이썬 #python #코딩 #문제 #풀이 #예제
- python #파이썬 #코딩 #초보 #개발 #예제 #문제 #풀이 #리스트 #튜플
- pythob
- Today
- Total
왕초보 코딩 개발 일지 블로그
[23.05.30] java 기초 실습 본문
package j202305301;
// Hello라는 클래스 생성
public class Hello {
public static int sum(int n, int m) {
return n + m;
}
// main() 메소드에서 실행 시작
public static void main(String[] args) {
// main 이라는 함수는 클래스 하나에 딱 한번만 나온다.
// main 이라는 함수가 sum이라는 함수를 호출해서 사용
int i = 20;
int s;
char a; // char은 문자 하나만 넣을 수 있음
String st; // String 은 문자열을 넣을 수 있다.
s = sum(i,10); // sum() 메소드 호출 s=20+10
a = '?';
st = "스마트인재개발원 유지원"; // 문자열은 " " 안에 넣기
System.out.println("결과값 확인하기"); // sysout Ctrl + sapce
System.out.println("----------------");
System.out.print(a); // 문자 '?' 화면 출력
// println 에서 ln은 line break 개행을 해주는 기능
System.out.println("Hello"); // "Hello" 문자열 화면 출력
System.out.println(s); // 정수 s 값 출력
System.out.println(st); // 문자열 " ~~ " 화면 출력
}
}





출력된 값만 보이고, 메모리는 싹 비워진다.
함수를 만들고 나면 함수 안에서 반드시 return을 넘기고 메모리를 삭제해주는 것이 중요.
함수를 만들 때 앞쪽에 타입을 지정해주고 타입에 맞는 값을 리턴해주는 것이 중요하다.

새롭게 패키지 만들고 싶을 땐 src 폴더에서 우클릭하고 create class 만들기

src 폴더에 kr 폴더가 생기고 com 폴더에 smhrd 폴더가 생긴다. 하위폴더를 . 으로 생성하는 것이다.


같은 패키지 내에서 만들고 싶으면 해당 패키지에서 우클릭 후 create class 하고 클래스명 지정.
식별자란?
클래스, 변수, 상수, 메소드 등에 붙이는 이름
식별자의 원칙
- ‘@’, ‘#’, ‘!’와 같은 특수 문자, 공백 또는 탭은 식별자로 사용할 수 없으나
- ‘_’, ‘$’는 사용 가능
유니코드 문자 사용 가능. 한글 사용 가능
자바 언어의 키워드는 식별자로 사용불가
식별자의 첫 번째 문자로, 숫자는 사용불가
‘_’ 또는 ‘$’를 식별자 첫 번째 문자로 사용할 수 있으나 일반적으로 잘 사
용하지 않는다. (대기업은 '_' 로 시작하는 경우가 많음)
불린 리터럴 (true, false)과 널 리터럴(null)은 식별자로 사용불가
길이 제한 없음
대소문자 구별 :
- int barChart; 와 int barchart;는 서로 다른 식별자 선언
잘 쓴 예
int name;
char student_ID; // '_' 사용 가능
void $func() { } // '$' 사용 가능
class Monster3 { } // 숫자 사용 가능
int whatsyournamemynameiskitae; // 길이 제한 없음
int barChart; int barchart; // 대소문자 구분. barChart와 barchart는 다름
int 가격; // 한글 이름 사용 가능
잘못된 예
int 3Chapter; // 식별자의 첫문자로 숫자 사용 불가
class if { } // 자바의 예약어 if 사용 불가
char false; // false 사용 불가
void null() { } // null 사용 불가
class %calc { } // '%'는 특수문자
자바의 데이터 타입
자바의 데이터 타입
기본 타입 : 8 개
(메모리 사이즈)
* 1바이트는 8비트
-2의 n-1승 ~ 2의 n-1승 -1
1바이트는 8비트니까 : -2의 7승 ~ 2의 7승 -1
-> -128~ +127까지 넣을 수 있다. 포함할 수 있는 수의 범위가 있다. 라는 것을 기억하자.
그런데 만약 130 의 값을 넣고 싶다???
-> 원래 집어넣을 수 있는 값보다 큰 값을 집어 넣으면 오버플로우가 일어나고 양수 값이 아닌 음수 값을 집어 넣게된다.
그럼 3이 초과되었으니 뒤로 3칸 이동해서 -126이 된다.
만약 - 131을 집어 넣고 싶으면 언더플로우가 일어나고 음수값이 아닌 양수 값을 집어 넣게 된다.
-> 125가 들어간다.
boolean (1바이트)
char (2바이트)
byte (1바이트)
short (2바이트)
int (4바이트)
long (8바이트)
float (4바이트)
double (8바이트)
레퍼런스 타입 : 1 개이며 용도는 다음 3 가지
클래스(class)에 대한 레퍼런스
인터페이스(interface)에 대한 레퍼런스
배열(array)에 대한 레퍼런스
기본 타입의 크기는 CPU나 운영체제에 따라 변하지 않는다.


문자열 연산 숫자 하면 문자열을 잇게 된다. 문자열로 출력됨.
숫자는 문자열로 변환된다.
정수 리터럴
15 -> 10진수 리터럴 15
015 -> 0으로 시작하면 8진수. 십진수로
13
0x15 -> 0x로 시작하면 16진수. 십진수로
21
0b0101 -> 0b로 시작하면 2진수. 십진수로 5
논리 리터럴과 boolean 타입
* 자바에서는 숫자를 참, 거짓으로 사용 불가하다.
논리 값 표시
true 또는 false 뿐
boolean 타입 변수에 치환하거나 조건문에 이용
boolean a = true;
boolean b = 10 > 0; // 10>0가 참이므로 b 값은 true
boolean c = 1; // 타입 불일치 오류. C/C++와 달리 자바에서 1,0을 참, 거짓으로 사용 불가
while(true) { // 무한 루프
...
} // 자바에서는 while(1)로 하면 안된다.
원의 면적 구하기 실습
package kr.co.smhrd;
public class CircleArea {
public static void main(String[] args) {
final double PI = 3.14; // 원주율을 상수로 선언
double radius = 10.2; // 원의 반지름
double circleArea = radius*radius*PI; // 원의 면적 계산
// 원의 면적을 화면에 출력한다.
System.out.print("반지름" + radius + ", ");
System.out.println("원의 면적 = "+ circleArea);
radius = 20.5;
// PI = 3.14159265; PI는 상수이므로 변경이 안된다.
// 상수는 변수와 달리 실행 중에 값이 바뀔 수 없다. 유지되어야 하는 값
circleArea = radius*radius*PI;
System.out.print("반지름" + radius + ", ");
System.out.println("원의 면적 = "+ circleArea);
}
}
상수는 변수처럼 값이 실행 중에 바뀔 수 없다.
상수를 만드는 방법은 변수 선언 시 final 키워드를 사용하면 된다.

강제 타입 변환
개발자의 의도적 타입 변환
() 안에 개발자가 명시적으로 타입 변환 지정


b+i 더큰 타입으로 맞춰진다. int 타입으로 맞춰짐.
int 10 는 정수 타입이라 2로 잘림
실수는 별다른 언급 없으면 더블 타입으로 자동 처리 된다. 더블이 더 큰 타입이라 2.5 라는 더블타입이 나온다.
char로 변환된 결과 0x0041로서 문자 'A'
b+i는 227, 16진수 0xe3 즉 -29
Scanner 를 이용한 키 입력
Scanner는 응용프로그램이 키 입력을 쉽게 받을 수 있도록 자바 패키지에서 제공하는 클래스이다.
우선 Scanner 객체를 생성해야한다.
Scanner scanner = new Scanner(System.in);
이 생성문에 의해 scanner 객체는 System.in 객체를 이용하여 키보드로부터 일련의 바이트 정보를 입력받고, 이 바이드틀을 정수, 실수, 문자열 등 자바 응용프로그램이 원하는 타입으로 변환하여 리턴할 수 있다.
Scanner 클래스로 이름, 도시, 나이, 체중, 독신 여부를 입력받고 다시 출력하는 프로그램을 작성해보기!
package kr.co.smhrd;
import java.util.Scanner;
public class scannerEx {
public static void main(String[] args) {
System.out.println("이름, 도시, 나이, 체중, 독신 여부를 빈칸으로 분리하여 입력하세요");
Scanner scanner = new Scanner(System.in);
// ctrl + shift + O 누르면 자동으로 import 된다.
String name = scanner.next();
System.out.println("당신의 이름은 " + name + "입니다.");
String city = scanner.next();
System.out.println("당신이 사는 도시는 " + city + "입니다.");
int age = scanner.nextInt();
System.out.println("당신의 나이는 " + age + "살입니다.");
double weight = scanner.nextDouble(); // 실수 토큰 읽기
System.out.println("당신의 체중은 " + weight + "kg입니다.");
boolean single = scanner.nextBoolean();
System.out.println("당신은 독신 여부는 " + single + "입니다.");
System.out.println("---------------------------------------");
System.out.println("이름 : "); name = scanner.next();
System.out.println("도시 : "); city = scanner.next();
System.out.println("나이 : "); age = scanner.nextInt();
System.out.println("체중 : "); weight = scanner.nextDouble();
System.out.println("독신여부 : "); single = scanner.nextBoolean();
System.out.println("당신의 이름은 " + name + ", 당신이 사는 곳은 " + city +" 입니다.");
System.out.println("당신의 나이는 " + age + "살, 당신이 몸무게는 " + weight +"kg 입니다.");
System.out.println("당신의 독신여부는 " + single + " 입니다.");
scanner.close();
}
}
이름, 도시, 나이, 체중, 독신 여부를 빈칸으로 분리하여 입력하세요
단소 서울 4 4.2 true
당신의 이름은 단소입니다.
당신이 사는 도시는 서울입니다.
당신의 나이는 4살입니다.
당신의 체중은 4.2kg입니다.
당신은 독신 여부는 true입니다.
---------------------------------------
이름 :
단소
도시 :
서울
나이 :
4
체중 :
4.2
독신여부 :
true
당신의 이름은 단소, 당신이 사는 곳은 서울 입니다.
당신의 나이는 4살, 당신이 몸무게는 4.2kg 입니다.
당신의 독신여부는 true 입니다.
'Java > 예제' 카테고리의 다른 글
[23.06.01] JAVA 수행 미션_LottoGenerator (0) | 2023.06.01 |
---|---|
[23.06.01] 예제 13-7 : 바이너리 파일 복사 (이미지 파일 복사하기) (0) | 2023.06.01 |
[23.06.01] 문자스트림 FileReader 와 FileWriter을 이용하여 c:\\windows\\system.ini 를 txt 파일로 복사하기 (0) | 2023.06.01 |
[23.06.01] 서초구 모범음식점 지원, 지정, 취소 현황 csv 파일 통합하기 (0) | 2023.06.01 |