자바의기본구조 class hellojava{ public static void main(string …smjeong/pdf/java/02.pdf ·...
TRANSCRIPT
자바의 기본 구조 ?class HelloJava{
public static void main(String argv[]){system.out.println(“hello,Java ~”){
}}
#하나 하나 뜯어 살펴봅시다!
public class HelloJava{
}
public static void main(String[] args){
System.out.println(“Hello Java!!”);
} 메서드 정의
클래스 정의
#시작을 알리는 main !
pubilc : 누구나 접근 가능하도록 하기 위한 예약어
static : 클래스만 존재하면 메서드를 바로 실행할 수 있도록 함
void : 리턴 값이 존재하지 않음
main : 메서드의 이름
String[] args : 메서드에 값을 받아오는 전달 인자
public static void main(String[] args)
출력을 위한 메서드의 종류메서드 설 명
println(내용) LN은 LiNe의 약자로 내용 출력 후 자동개행
print(내용) 마지막 출력한 문자 뒤에 다음 내용을 출력
printf(“형식지정자”,내용) 형식 지정자에 맞게 내용 출력
@실습 1
코드를 완성하여 다음과 같은 결과를 출력하시오.
각각 변수를 만들어 다음과 같이 완성하시오 이름 : 강호동 국어 : 85 영어 : 73 수학 : 68 총점 : 226점
변수 선언 : 이름, 국어, 영어, 수학, 총점변수
@입력을 위한 Scanner 클래스
# 입력문 사용
# 사용 방법import java.util.Scanner;Scanner s = new Scanner(System.in);s.next();…s.close();
String next()String nextLine()char next().char.At(0)int nextInt()double nextDouble()
import java.util.Scanner;
@실습 2
코드를 완성하여 다음과 같은 결과를 출력하시오.
//코드를 작성하시오//
class YourAge{public static void main(String args[]){
Scanner input = new Scanner(System.in);//코드를 작성하시오//
System.out.print(“이름 : “);//코드를 작성하시오//
System.out.print(“나이 :”);//코드를 작성하시오//
System.out.println(“당신의 이름은 “+name+”이고, 나이는 “+age + “입니다.”);}
}
@ 식별자 ???클래스 이름, 메서드 이름, 변수 등과 같은 이름
@ 식별자 명명 규칙1. 알파벳, 아라비아 숫자,_(언더바),$ 사용 가능
단, 식별자의 첫 글자는 숫자 사용 불가능2. 예약어는 사용 금지3. 변수 이름의 길이는 제한 없음4. 유니코드 문자도 변수 이름 사용 가능5. 대/소문자 구별
예) name과 NAME는 다른 변수
@자바 자료형의 종류
기본 자료형
논리형
숫자형 정수형
boolean
byte
shortint
long
실수형 float
double
참조 자료형 String, 클래스 , 배열, 인터페이스
문자형 char
# 기본형 : 변수 자체가 값을 가짐# 참조형 : 변수 자체가 값을 가진
영역의 주소만 가짐
@ 정수형
byte (8bits, -128 ~ 127)
short(16bit, -32,768~32,767)
int (32bit, -2³¹ ~ 2³¹ -1 )
long (64bit, -2⁶³ ~ 2⁶³ -1 )
예 ) long la =2147483648L;
@ 논리형boolean(1bit, true / false)예) boolean ox=true;
@ 실수형float (32bits)예) float f_num = 120.123f;
double (64bit)
@ 문자형
char (16bit, 0~65,535)
예) char ca;
ca=‘a’; ca=‘자’; ca=97;
ca=‘\n’; ca=‘\t’; ca=44032;
cf. “a”는 스트링형 상수
System.out.printf(“메시지 or 제어문자”, 변수1, 변수2…) 제어문자
- %s: String(문자열)- %c: char(문자)- %d: int(정수) - %f: double, float(실수)
ex1)System.out.printf("이름 : %s\n", "강호동");System.out.printf("성별 : %c\n", '남');System.out.printf("이름 : %s\n성별 : %c", "강호동",'남');
String name="강호동";System.out.printf("이름 : %s", name)
ex2)double tall=175.3;System.out.printf("신장:%fcm\n", tall);
//신장:175.300000cm
System.out.printf("신장:%10.2fcm\n", tall);//신장: 175.30cm
System.out.printf("신장:%-10.2fcm\n", tall); //신장:175.30 cm
System.out.printf("신장:%.2fcm\n", tall); //신장:175.30cm
@ 변수 ?: 프로그램 수행 중 값을 저장할 수 있는 기억 공간
- 반드시 선언 후 사용
@ 변수 선언- 사용되기 전에 선언.- 데이터형 변수이름;
예) byte b;int age, grade;long la = 2147483648L;double total=384.2;출력 : System.out.println(total);
@형 변환
byte short int long
float
double
char
1. 광역화 형 변환 : 적은 데이터형을 큰 데이터형으로 변환하는 것컴파일러가 자동으로 변환시켜 수행원래 값의 근사치라도 보장
2. 협소화 형 변환 : 큰 데이터형으로 변환할 때cast 연산자 사용(값 앞 괄호안에 변환되는 형)강제적으로 변환 -> 정보를 잃어버릴 수 있음예 : int a = (int) 3.5
@ 연산자의 종류
종류 기능 연산자
산 술연산자
사칙연산 + , - , * , / , %
증 감연산자
피연사자의 값 증감 ++ / --
관 계연산자
두 항의 비교 후 참 거짓 판단 => , >= , < , <=, == ,!=
논 리연산자
하나 이상의 항을 평가 후 참 거짓판단
& , && , | , || , ^ , !
비 트연산자
자료를 bit단위로 계산 >> ,<< ,>>> , & , | ,^ , ~
배 정연산자
계산한 결과를 변수에 할당 후 저장
+=, -=, *=, /=, %=, &=, |=, ^=,<<=, >>=, >>>=
3항 조건 연산자 간단한 if_then_else의 경우 (조건식) ? 연산식1 : 연산식 2
두 연산을 논리적으로 처리(True나 False를 반환)
예) a = (10 >=5 && 20 <=25); b = (10 < 10 || 20 == 20);c = (10 != 10);
A BA&B
A&&BA|BA||B
A^B !A
F F F F F T
F T F T T T
T F F T T F
T T T T F F
@ 프로그램 속도를 향상시키는 비트 연산자
- 피 연산자는 반드시 정수형- 연산 결과 = 정수형 !!!!
A B A&B A|B A^B !A
0 0 0 0 0 1
0 1 0 1 1 1
1 0 0 1 1 0
1 1 1 1 0 0
Shift 연산자 : >> , << , >>>
계산 해보기
x = 2 y =15 z = 13 a = 40
1) x = 10 & 7
1010& 0111----------
x = 0010
2) y= 10 | 7
1010| 0111----------
y = 1111
3) z= 10 ^ 7
1010& 0111----------
z = 1101
4) a = 10 <<2
1010101000 <<2
-------------a = 101000
@실습 3
다음 코드에 대한 결과 값은?System.out.println(5%3);System.out.println(5/3);
int a=5;System.out.println(a==5); System.out.println(a>=5); System.out.println(a!=5);
String str="korea";System.out.println(str=="korea" || str=="KOREA");
int score=57;System.out.println(score >= 70 && score<90);