자바의기본구조? 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! public static void main(string[] args) pubilc : 누구나접근가능하도록하기위한예약어 static : 클래스만존재하면메서드를바로실행할수있도록함 void : 리턴값이존재하지않음 main : 메서드의이름 String[] args : 메서드에값을받아오는전달인자
+ 의미 1. 더하기 2. 연결하기 설명
출력을위한메서드의종류 메서드 설명 println( 내용 ) LN은 LiNe의약자로내용출력후자동개행 print( 내용 ) 마지막출력한문자뒤에다음내용을출력 printf( 형식지정자, 내용 ) 형식지정자에맞게내용출력
@ 실습 1 코드를완성하여다음과같은결과를출력하시오. 각각변수를만들어다음과같이완성하시오 이름 : 강호동 국어 : 85 영어 : 73 수학 : 68 총점 : 226 점 변수선언 : 이름, 국어, 영어, 수학, 총점변수
@ 입력을위한 Scanner 클래스 # 입력문사용 import java.util.scanner; String next() String nextline() char next().char.at(0) int nextint() double nextdouble() # 사용방법 import java.util.scanner; Scanner s = new Scanner(System.in); s.next(); s.close();
@ 문자열을정수로변환 : parseint
@ 실습 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 char 정수형 byte short int long 참조자료형 실수형 float double String, 클래스, 배열, 인터페이스
@ 정수형 byte (8bits, -128 ~ 127) short(16bit, -32,768~32,767) int (32bit, -2³¹ ~ 2³¹ -1) long (64bit, -2⁶³ ~ 2⁶³ -1) 예 ) long la =2147483648L; @ 문자형 char (16bit, 0~65,535) 예 ) char ca; ca= a ; ca= 자 ; ca=97; ca= \n ; ca= \t ; ca=44032; cf. a 는스트링형상수 @ 실수형 float (32bits) 예 ) float f_num = 120.123f; double (64bit) @ 논리형 boolean(1bit, true / false) 예 ) boolean ox=true;
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);
@ 형변환 char float byte short int long 1. 광역화형변환 : 적은데이터형을큰데이터형으로변환하는것컴파일러가자동으로변환시켜수행원래값의근사치라도보장 2. 협소화형변환 : 큰데이터형으로변환할때 cast 연산자사용 ( 값앞괄호안에변환되는형 ) 강제적으로변환 -> 정보를잃어버릴수있음예 : int a = (int) 3.5 double
@ ASCII 코드? : 미국표준정보교환코드 : 0~127 까지표현 @ 알고있기! - A(1000001) : 65 - a : 97 - \n : 13
@ 연산자의종류 종류기능연산자 산술연산자 증감연산자 관계연산자 논리연산자 비트연산자 배정연산자 사칙연산 +, -, *, /, % 피연사자의값증감 ++ / -- 두항의비교후참거짓판단 =>, >=, <, <=, ==,!= 하나이상의항을평가후참거짓판단 &, &&,,, ^,! 자료를 bit 단위로계산 >>,<<,>>>, &,,^, ~ 계산한결과를변수에할당후저장 +=, -=, *=, /=, %=, &=, =, ^=,<<=, >>=, >>>= 3 항조건연산자간단한 if_then_else 의경우 ( 조건식 )? 연산식 1 : 연산식 2
두연산을논리적으로처리 (True 나 False 를반환 ) A B A&B A&&B A B A 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 = (10 >=5 && 20 <=25); b = (10 < 10 20 == 20); c = (10!= 10);
@ 프로그램속도를향상시키는비트연산자 - 피연산자는반드시정수형 - 연산결과 = 정수형!!!! 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 연산자 : >>, <<, >>>
계산해보기 1) x = 10 & 7 2) y= 10 7 3) z= 10 ^ 7 4) a = 10 <<2 1010 & 0111 ---------- x = 0010 1010 0111 ---------- y = 1111 1010 & 0111 ---------- z = 1101 1010 101000 <<2 ------------- a = 101000 x = 2 y =15 z = 13 a = 40
@ 실습 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);
@ 간단한 if_then_else 의경우사용 구분연산자기능사용예 조건? 값 1 : 값 2 조건이참이면값 1 거짓이면값 2 x > 20? 30 : 5 예 ) int num1 = 10, num2 = 20; a = (num1 > 5? 10 : 20) b = (num2 > 10? 10 : 20)