main이라는 method는 JVM이 호출해서 자동으로 실행된다
main method 에서 String type의 
args 배열 이라는 매개변수를 이용해 값을 출력한다
run, configuration, arguments에서 입력가능(eclips)

System.out.println(args.length);
//args 배열의 크기를 출력

for(int i = 0; i<args.length; i++) {
System.out.println(args[i]);
//args 배열의 값을 출력

for Each문은 배열과 함께사용할때 유용하다
for(변수 : 배열변수){}
for(String str : args) {
System.out.println(str);
//배열의 각 index의 값을 

str변수로 가져와서 출력한다 

data 입력받는 방법
import java.io.*; //to use System.in
import java.utill.*; //to use Scanner

throws IOException{ //입력을 받을때 예외처리를 해주어야한다
int n = System.in.read()-'0'; //값을 읽고 int형으로 받아 ASCII값으로 반환한다
//0~9 사이의 ASCII값은 48~57이다 그래서 0을빼줄시 정수가 출력된다
System.out.println(n);

InputStreamReader id = new InputStreamReader(System.in);
//System.in 을통해 값이 입력되면 InputStreamReader라는 클래스가 생성된다

//System.in은 한단어만 받아올수있는반면

//InputStreamReader은 여러단어를 받아올수있다
while(true) {
int n = id.read(); //read method를 통해 한글자씩 읽어온다
     if(n == -1) //-1 ASCII 값은 Ctr+z를 의미한다
     break;
     System.out.println((char)n);
}

//Scanner method는 예외처리가 필요없고 간단하다
Scanner sc = new Scanner(System.in);
System.out.println(sc.next()); //next method를 이용해서 문자를 읽어온다
System.out.println(sc.nextInt()); //정수형으로 반환하는 method

'java' 카테고리의 다른 글

class, instance 변수 와 method  (0) 2019.08.02
class 객체 및 instance, 멤버요소들  (0) 2019.08.02
배열 Array  (0) 2019.08.01
보조 제어문 break, continue  (0) 2019.08.01
반복문 for, while, do while. +(제어문자)  (0) 2019.08.01

int[] i; //배열 선언
i = new int[3];  //배열 생성
int[] i = new int[3];  //선언과 생성

i[0] =100; //index는 항상 0부터시작
i[1] =200; //초기화를 하지 않을시 0이란값이 출력된다
i[2] =300;

int [] i = {100,200,300,400}; //선언 생성 초기화를 동시에할수있다 
System.out.println(i.length); //배열의 길이 확인

int aa[] = new int[5];
aa[0] = 90;
aa[1] = 80;
aa[2] = 70;
aa[3] = 60;
aa[4] = 50;

int bb[];
bb = aa; //aa배열의 값이 bb배열에 입력된다

 

for(int i=0;i<aa.length;i++) {
System.out.println(aa[i]);
}
for(int i=0;i<bb.length;i++) {
System.out.println(bb[i]);
}

double []tt = new double[3];
tt[0] = 11.1;
tt[1] = 15.3;
tt[2] = 18.2;
double ttSum = 0;
for(int i=0;i<tt.length;i++) {
ttSum += tt[i];
//tt배열의 합을구한다
double ttAvg = ttSum/tt.length;

//tt배열의 평균을 구한다

다차원 배열 (2차원)
int a[][]; //선언
a = new int [2][3]; //2행 3열 배열 생성
a[0][0] = 11;
a[0][1] = 12;
a[0][2] = 13;
a[1][0] = 14;
a[1][1] = 15;
a[1][2] = 16; //초기화

for(int i=0;i<a.length;i++) {
for(int j=0;j<a[i].length;j++) {
System.out.print(a[i][j]+"");
} System.out.println();
} //배열내 모든값 출력

int b [][] = {{1,2,3},{4,5,6}}; //2행 3열의 배열을 만든다

char ch [][] = new char[3][]; //3행 배열 생성
//열을 할당하지 않을경우 가변적으로 할당할수있다
ch[0] = new char[3]; //3열 
ch[1] = new char[2]; //2열
ch[2] = new char[1]; //1열

ch[0][0] = 'A';
ch[0][1] = 'B';
ch[0][2] = 'C';
ch[1][0] = 'D';
ch[1][1] = 'E';
ch[2][0] = 'F';

for (int i=0;i<ch.length;i++) {
for( j=0;j<ch[i].length;j++) {
System.out.println(ch[i][j]);
//A B C D E F 가 출력된다
}

String str[][] = {{"hello"},{"Im jusung","^^"},{"thanks million","really","yes!"}};
for (int i=0;i<str.length;i++) {
for( j=0;j<str[i].length;j++) {
System.out.println(ch[i][j]);
//1행 1열, 2행 2열, 3행 3열의 배열이 생성된다
}

'java' 카테고리의 다른 글

class 객체 및 instance, 멤버요소들  (0) 2019.08.02
입출력(main method/System.in/Scanner)  (0) 2019.08.01
보조 제어문 break, continue  (0) 2019.08.01
반복문 for, while, do while. +(제어문자)  (0) 2019.08.01
조건문 if, switch  (0) 2019.08.01

보조 제어문 break, continue는
조건문, 반복문과 함께사용한다

for(int i=0;i<5;i++) {
if(i==3)break;
System.out.println(i);
//break에서 바로 빠져나오기때문에 0,1,2 가 출력된다

for(int i=0;i<5;i++) {
if(i==3) continue;
System.out.println(i);
//continue에서 다시 처음부터 실행되기때문에 0,1,2,4 가 출력된다

out:
for(int i=0;1<3;i++) {
for(int k=0;k<3;k++) {
if(k==1) break out;
//out 과 가장 가까운 반복문을 벗어나라는뜻
System.out.println("i="+i+",k="+k);
}  //i=0, k=0 이 출력된다
}

out:
for(int i=0;1<3;i++) {
for(int k=0;k<3;k++) {
if(k==1) continue out;
//out과 가장 가까운 반복문을 계속해서 실행하라는뜻
System.out.println("i="+i+",k="+k);
}  //i=0,k=0//i=1,k=0//i=2,k=0이 출력된다
}

'java' 카테고리의 다른 글

입출력(main method/System.in/Scanner)  (0) 2019.08.01
배열 Array  (0) 2019.08.01
반복문 for, while, do while. +(제어문자)  (0) 2019.08.01
조건문 if, switch  (0) 2019.08.01
연산자  (0) 2019.08.01

for(초기화;조건식;증감식) {
반복실행될 문장
}

for(;;) {} //무한 반복

int total=0;
for(int i=0;i<=10;i++) {
total +=i;
} System.out.println("sum of 1~10: "+total);

int total=0;
for(int i=0;i<=100;i++) {
if(i%2==0) {
total=total+i;
}

}  System.out.println("sum of 1~100 even number: "+total);

for(int i=1;i<=9;i++) {
for(int j=2;j<=9;j++) {
System.out.print(j+"*"+i+"="+(j*i)+"\t");
} System.out.println();

}

while(조건식) {
반복실행될 문장
}

while(true) {} //무한반복

int i = 1;
while (i<5) {
System.out.println(i);
i++;
}

do {
반복실행될 문장
}while(조건식)

i=0
do {
i++;
System.out.println(i);
}while(i<5); //1~5까지 출력

char a = 'a';
a=(char)(a+1); //a+1 은 정수형이되기때문에 char형으로 변환해준다
do {
System.out.println(a);
}while(a<='z'); //a~z 까지 출력하기

제어문자 \=역슬래시
'\b' backspace
'\t' tab //값을 띄워준다
'\n' line feed //줄을 바꿔준다
'\f' form feed //프린트할때 페이지넘겨준다
'\r' carriage return //라인에서 제일앞으로 넘어온다
System.out.print("hahahohohihi\rso"); //so가 글 제일앞으로 온다
'\"' double quote 
System.out.println("hello \"jusung\""); //hello "jusung"
'\'' single quote
'\\' backslash

'java' 카테고리의 다른 글

배열 Array  (0) 2019.08.01
보조 제어문 break, continue  (0) 2019.08.01
조건문 if, switch  (0) 2019.08.01
연산자  (0) 2019.08.01
변수(variable)  (0) 2019.08.01

if(조건식) {
실행문장
}
true 일경우 실행문장을 실행
false 일경우 실행문장을 수행하지않고 if문을 빠져나온다

if(조건식) {
실행문장1
}else {
실행문장2
}
true일경우 실행문장 1 실행후 if-else문을 벗어난다
false일경우 실행문장 2 실행후 if-else문을 벗어난다

if(조건식1) {
실행문장1
}else if(조건식2) {
실행문장2
}else if(조건식3) {
실행문장3
}else {
실행문장 n
}
조건식 1 이 참일경우 실행문장 1
조건식 1 이 false일경우 조건식 2 
....모든 조건식이 거짓일경우 실행문장 n수행

if(true)

System.out.println("how are you?");    
(if다음 단일문장일경우 {}생략 가능)

if(false) System.out.println("false 이기때문에 실행안됨");
else System.out.println("이문장이 실행됨");


int score = 60;
char rank='';

if(score >= 90) rank = 'A';
else if(score >= 80) rank = 'B';
else rank = 'C';

System.out.println("your rank is "+rank);

rank = (score>=90)? 'A':((score>=80)?'B':'C');

//삼항연산자로 표현 


switch문은 식과 case문의 값과 비교해
값이 일치하면 해당 case의 실행문장을 수행하고
break 를 만나면 switch문을 벗어난다
case의 비교 값과 일치하는게 없을시 default문 실행
default문은 생략 가능하다

switch(식) {
case 값1:
실행문장1;
break;
case 값2:
실행문장2;
break;
default:
실행문장n;
}

int kor=90, math=80, eng=70;
char rank = '';
int total = kor+math+eng;
int avg = total/3;

switch(avg/10) { 
//10으로 나눠서 앞의자리숫자랑 일치할경우 실행되게한다
case 10:    
//10인경우는 다음 case문을 같이 실행한다
case 9:
rank='A';
break;
case 8:
rank='B';
break;
case default:
rank='C';
}

'java' 카테고리의 다른 글

배열 Array  (0) 2019.08.01
보조 제어문 break, continue  (0) 2019.08.01
반복문 for, while, do while. +(제어문자)  (0) 2019.08.01
연산자  (0) 2019.08.01
변수(variable)  (0) 2019.08.01

단항 연산자 ++, --, +, -, ~, !, 
boolean a = true; : !a = false; (논리부정 연산자)
2=0010 : ~2=1101 (비트를 반대로 바꿔준다)
int aa = ++bb; bb값을 먼저 증가시키고 aa에 대입
int aa = bb++; aa에 대입을 먼저한후 bb값을 증가

산술 연산자 *, /, %, +, -, <<, >>, >>>(비트를 이동시킨다)
비교 연산자  <, >, <=, >=, ==, != 

instanceof(비교대상이 같으면 true 아니면 false 출력)

논리 연산자 & (and:둘다 1일경우 1) 

^ (xor:두개가 다를경우만 1) 

| (or 둘중하나만 1일이여도 1)
&&(and), ||(or) :두개의논리 연산자 비교 에서 사용된다 
삼항 연산자 : aa=(조건)? a:b; 조건이 참이면 a값 조건이 거짓이면 b값

대입연산자 =, *=, /=, %=, +=, -=, <<=, >>=, >>>=, &=, ^=, !=

priority: 단항연산자, 산술연산자, 비교연산자, 논리연산자, 삼항연산자, 대입연산자

'java' 카테고리의 다른 글

배열 Array  (0) 2019.08.01
보조 제어문 break, continue  (0) 2019.08.01
반복문 for, while, do while. +(제어문자)  (0) 2019.08.01
조건문 if, switch  (0) 2019.08.01
변수(variable)  (0) 2019.08.01

변수란 하나의 값을 저장할수 있는 기억공간이다

문자(char), 정수(byte,short,int,long), 실수(float, double), 논리(boolean)


기본형(boolean, char, byte, short, int, long, float, double)- 값을 저장
참조형(String, system, 배열)- 객체의 주소를 저장

변수 선언방법
byte bt = 10; //-128~127 변수의 초기화
short st = 1000; //-32,768~32767 변수의 초기화
int i = 1000000; //-2147483628~2147483627 변수의 초기화
long ln = 1000000000L; //소문자 l 또는 대문자 L을 붙여준다

float ft = 2.456f; //소수점이하 7자리까지, 소문자 f 또는 대문자 F를 붙여준다
double db = 12.1111; //소수점이하 15~16자리까지 표현가능

char ch = '가'; //char:0~65535, 유니코드체계(2byte)를 사용

boolean bool = true; //true, false 는 소문자만 사용가능

String str = "hello nice to meet you!!";  
String str = new String("hello nicec to meet you!!");

//두가지 방법다 가능하다

변수 규칙
1. 대소문자 구분, 길이제한없다
2. 영문자와 숫자를 섞어쓸수있지만 숫자로시작할순없다
3. 한글, 한자도 변수로 사용가능
4. 변수명은 보통 소문자로 시작한다.
5. 특수문자는 변수명으로 사용할수 없다($,_ 는 변수명으로 사용가능)

형변환이란 값의 타입을 다른 타입으로 변환하는것이다.

(기본형은 기본형끼리만 참조형은 참조형끼리만 가능하다)
float ft = 1.6f;
int i = (int)ft;

int -> char : (char)65 : 'A'
char -> int : (int)'A' : 65
float -> int : (int)1.6f : 1 (큰값을 작은값으려 변환할때 data손실이 발생할수있다)
int -> float : (float)10 : 10.0f (작은값을 큰값으로 변환할때는 자동 형변환이 가능하다)

byte bt = 10;
long ln = bt; //자동형변환 (작은값을 큰값으로 변환)
int i = (int)ln; //강제 형변환 (큰값을 작은값으려 변환)

char ch = 'A';

System.out.println(ch+1); -> 66 
(A 는 65라는 아스키 문자값을 가지고 있는데 정수를 더해줄시 정수로 자동형변환이된다)

char ch2 = 'c';
int result = ch2 + 3; (70이란 값이 나온다)

char ch3 = (char)result; (F란 문자열이 출력된다)
(result란 int형이 더크기때문에 강제 형변환을해줘야한다)

'java' 카테고리의 다른 글

배열 Array  (0) 2019.08.01
보조 제어문 break, continue  (0) 2019.08.01
반복문 for, while, do while. +(제어문자)  (0) 2019.08.01
조건문 if, switch  (0) 2019.08.01
연산자  (0) 2019.08.01

<this is the next step after JSP Register Process

so, you must do JSP Register Process to follow this>

 

1. in the JSP Register Process,

you have done Connection pool setting

and made database, DAO, DTO

(check JSP Register Process)

 

2. login.jsp 작성

a. log in form 만든다

b. loginOk에서 설정한 chkMember 세션 확인

3. memberDAO 에 methods 추가

a. 결과 상수값 추가

b. memberCheck methods 생성

c. getMember methods 생성

4. loginOk.jsp 파일 작성

a. memberCheck method 를 이용해

chkNum 값을 int 형으로 받아온다

b. getMember method 를 이용해

data를 DTO를이용해 받아온다

5. main.jsp 작성 after log in

a. chkMember session 을통해 로그인상태를확인

b. 로그인 인증된 상태일경우 name 출력

6. logout.jsp 작성 after log out

7. check with an account in DB

+ Recent posts