JAVA
수업 코드 내용 정리
softPattern
2023. 8. 1. 00:41
수업 내용
package jb01.part02;
/*
FileName: Hello.java
*/
public class Hello
{
//1줄 주석: 컴파일시 주석문은 컴파일시 제외)
//java 실행에 필요한 method : main method
public static void main(String[] args)
{
System.out.println("Hello Java :: 안녕 자바");
} //end of main
}// end of class
/* => 다줄문 주석: 컴파일시 제외
<<주의사항 및 약속사항>>
1. class name과 file name은 동일해야 한다.
ex) public class Hello 면 ===> Hello.Java (File Name)
2. 대소문자를 구별
3. 실행시 public static void main (String[] args) 필요
4. System.out.println( ~~~); ==> console 출력
5. Hello.java 컴파일 후 Hello.class(ByteCode) 생성 확인
<< Console(DOS화면)에서 compile & run >>
1. File save
- FileName : Hello.java ===> FileName과 ClassName은 동일
2. Compile
1) file 저장 directory로 이동 후 conpile ==> javac 확장자포함 FileName
c:\\\\work>javac Hello.java
2) classFile 생성 확인 ==> byte code 생성 확인 (Hello.class)
c:\\\\work>dir
3. 실행
3) run ==> java 확장자를 제외한 FileName
c:\\\\work>java Hello
<< EditPlus 환경설정: 컴파일, 실행 등록하기 >>
===> 문서/영구적설정에서 등록할 수 있음
package jb01.part03;
/*
FileName : Hi.java
*/
public class Hi
{
public static void main (String[] args)
{
System.out.println("1번째 정보: "+args[0]);
System.out.println("2번째 아구먼트: "+args[1]);
System.out.println("3번째 인자: "+args[2]);
}//end of main
}//end of class
/*
1. compile 방법 (Console에서)
c:\\\\work>javac Hi.java
====> bytecode 생성 Hi.class: 확인할 것
2. 실행 방법
java Hi 홍길동 1234 한양 5678
===>Hi.class를 실행 시 java Hi 후단에 추가적 정보를 입력하면
===>main method 내부에서
===>1번째 추가적 정보는: args[0]
===>2번째 추가적 정보는: args[1]
===>3번째 추가적 정보는: args[2]
===>로 받아 처리할 수 있다.
3. +(연산자): 문자에 + 를 사용하면 append 된다.
4. editplus 에서 인자값 받기 설정
문서/영구적설정/사용자도구/인수내용묻기 check
*/
package jb01.part04;
/*
FileName : PrimitiveTest.java
1. Java 에서 제공되는 8EA의 Primitive Data type의 이해
2. Variable declaration(변수 선언)과 Variable Assignment(값의 대입)
*/
public class PrimitiveTest
{
//mian method
public static void main(String[] args) {
//논리형
boolean boo = true;
//문자형
char c = '홍';
//정수형
byte b = 127;
//범위를 넘어서는 수를 담을 경우 문제 발생//==> compile error 발생( 확인요망)
//byte b1 = 128;
short s = 1000;
int i = 1000;
long l = 1000L; // <===long의 경우 000l 또는 000L로 int와 구별
//실수형
float f = 1000.5F; // <===float의 경우 000F 또는 000f로 double 과 구별
//print() 와 println()의 차이점 <==실행결과를 확인함
System.out.print("자바의 Primitive Data type 을 ++");
Systme.out.println("::사용하여 표준출력장치로,,,"+":: 출력");
//+ 연산자의 의미 (문자와 + 연산자가 사용되면 append)
System.out.println("논리형 : "+boo);
System.out.println("문자형 : "+c);
System.out.println("정수형 byte : "+b);
System.out.println("정수형 short : "+s);
System.out.println("정수형 int : "+i);
System.out.println("정수형 long : "+l);
System.out.println("정수형 float : "+f);
System.out.println("정수형 double : "+d);
}//end of main
}//end of class
package jb01.part04;
/*
FileName : CalculationTest.java
*/
public class CalculationTest
{
//main method
public static void main(String[] args) {
int a; // int data type variable a declaration
a = 0; // int data type variable a 에 value 대입
int b = 1; // int datatype variable b declaratio과 동시에 value 대입
int c = 2;
// 변수의 값을 출력(문자 + 연산자 사용 ==> append)
System.out.println("a = " +a+":b ="+b+":c ="+c);
// 숫자 + 연산자 사용(계산)
int sum = a+b+c;
System.out.println("sum = "+sum);
System.out.println("a+b+c = "+(a+b+c)); //==>아래 실행문과 출력 결과 비교
System.out.println("a+b+c = "+a+b+c); //==>위 실행문과 출력 결과 비교
c = c+10;
System.out.println("c=(c+10) : "+c);
//연산 후 대입연산자 (+=) 사용 (c = c+10 동일한 의미)
c += 10;
System.out.println("c+=10 ="+c);
//논리 반전 연산자
boolean boo1 = true;
boolena boo2 = ! boo1;
System.out.println("boo1: "+boo1);
System.out.println("boo2: "+boo2);
} //end of mian
} //end of class
package jb01.part05;
/*
FileName : CastingTest.java
1.primitive data type의 형변환: 묵시적 형변환/명시적 형변환
2.reference data type의 형변환: 묵시적 형변환/명시적 형변환 ===> 추후
*/
public class CastingTest
{
public static void main(String[] args) {
byte b1=100;
byte b2=20;
//==> compile error 발생 (확인요망)
//==> 정수형의 계산은 int return
//byte b3=b1+b2;
//casting 연산자를 이용한 형변환 ===> 명시적 형변환
byte b4 = (byte)(b1+b2);
System.out.println("b4(b1+b2): "+b4);
byte b5 = (byte)(b1+b4);
//쓰레기값 출력(===> 실행시 출력결과 확인할 것)
System.out.println("b5(b1+b4): "+b5);
/====> 묵시적인 형변환
int i1 = b1 + b2 ;
System.out.println(i1);
int i2 = b1 + b4;
System.out.println(i2);
//다른 data type 연산 ===> data type 이 큰 쪽으로 묵시적 형변환
double test01 = 100 + 0.5;
System.out.println(test01);
//==>compile error 발생(확인요망)
//int test02 = 100 + 0.5;
//실수를 정수형에 대입하면 결과는 --->??
int i3 = 201/2;
System.out.println("i3(201/2): "+i3);
//정수의 계산을 실수형에 대입한 결과는 --->??
double d1 = 201/2;
System.out.println("d1(201/2): "+d1);
//정수 int Data 201을 실수 double Data Type으로 명시적 형변환 후 계산 결과를 double Data type으로 받으면 출력 결과는??
double d2 = (double)201/2;
System.out.println("d2(201/2): "+d2);
}//end of mian
}//end of class
package jb01.part06;
/*
FileName : OperatorTest.java
1. ++, --: 증가, 감소연산자
2. % : 나머지 연산자
3. 3항 연산자
*/
public class OperatorTest
{
///main method
public static void main (String[] args) {
int value=1;
//증감연산자의 사용
value++: //value++의미: 자기자신 1증가
System.out.println("valus++: "+value);
++value: //++value의미: 자기자신 1증가
System.out.println("++valus: "+value);
value--: //value--의미: 자기자신 1감소
System.out.println("value--: "+value);
--value: //--value의미: 자기자신 1감소
System.out.println("--value: "+value);
//증가감소연산자 사용// ==> 주석을 풀면서 출력결과를 확인
int temp = value++: //temp = value++를 의미: value의 값을 temp 대입 후 자기자신 1증가
//int temp = value--: //temp = value--를 의미: value의 값을 temp 대입 후 자기자신 1감소
//int temp = ++value: //temp = ++value를 의미: value 자기자신에 1증가 그값 temp 대입
//int temp = --value: //temp = --value를 의미: value 자기자신에 1감소 그값 temp 대입
System.out.println("temp: "+temp);
System.out.println("value: "+value);
//나머지 연산자 사용하기
int temp01 = 5%2;
int temp02 = 5%3;
System.out.println("나머지 연산자: 5%2 ===> "+ temp01);
System.out.println("나머지 연산자: 5%3 ===> "+ temp02);
//삼항연산자 :: (조건)? 조건이 참이면 : 조건이 거짓이면 ;
int temp03 = ( 1 <= 2 ) ? 3 : 4 ;
System.out.println("삼항연산자: (1 <= 2) ? 3 : 4 ==> " +temp03);
//int temp04 = ( 1 =< 2 ) ? 3 : 4 ; <== Compile Error 확인
}//end of main
}//end of class
package jb01.part07;
/*
FileName : IfElse01.java
1. 비교연산자 연습
2. 분기문 if - else 연습
*/
public class IfElse01
{
//main method
public static void main(String[] args) {
//논리형 변수의 선언과 값의 대입
boolean b1 = true;
boolean b2;
//! 반전연산자 사용
b2 =!b1;
int x = 1;
itn y = 2;
//if -els 가 같이 쓰이는 경우
//if(조건문): 조건문은 반드시 boolean data type 일 것
if(x<y){
//if(0){ // ==> 주석풀고 컴파일 에러를 확인할 것.
System.out.println("x= "+x+", y = "+y+ " y가 크네요");
}else{
System.out.println("x= "+x+", y = "+y+ " x가 크네요");
}
//if문 단독으로 쓰이는 경우
if(x==y){
//if(x = y){ //==>주석풀고 컴파일 에러를 확인할 것. 에러발생 이유는??
System.out.println("x = "+x+", y = "+y+" x,y는 같아요");
}
//if - else if 가 쓰이는 경우
if(b2){
System.out.pirntln("if의 조건문이 b2= false입니다.");
}else if(b1){
System.out.pirntln("if의 조건문이 b1= true입니다.");
}
}//end of main
}//end of class
package jb01.part07;
/*
FileName : IfElse02.java
1. 조건연산자 연습
2. 분기문 if - else 연습
3. AND: &, && 연산자
4. OR: |, || 연산자
*/
public class IfElse02
{
//main method
public static void main(String[] args) {
int x = 1;
int y = 2;
//& ==> and 연산자
if(x==3 & y==2){
System.out.println("x=1이고 y=2입니다.");
}
//| ==> or 연산자
if(x==1 | y==3){
System.out.println("x=1이거나 y=3입니다.");
}
// && ===> and 연산자
if(x==3 && y==2){
System.out.println("x=1이고 y=2입니다.");
}
// || ===> or 연산자
if(x==1 || y==3){
System.out.println("x=1이거나 y=3입니다.");
}
/*
1. &&와 &, ||와 |는 수행결과는 같으나
2. 내부적으로는 수행방법은 엄격히 다르다.
==> &와 |는 : 전부수행
==> && 와 ||는 : 전자가 결과를 예측 가능할 경우 일부 수행하지 않음
*/
} //end of main
} //end of class
package jb01.part07;
/*
FileName : IfElseETC.java
1.문자를 int Data type 으로 변경하는 integer.parselnt() 사용
2.특수문자를 사용하기 (\\\\t, \\\\n, \\\\")
실행방법 예 >> java IfElseETC 1 2
*/
public class IfElseETC
{
//main method
public static void main(String[] args) {
// ==> \\\\" 사용확인
System.out.println("입력하신 \\\\"1번째 인수\\\\"는 : "+args[0]);
System.out.println("입력하신 \\\\"2번째 인수\\\\"는 : "+args[1]);
System.out.println("=====================================";
//입력한 문자를 int Data type으로 변경 하는 integer.parselnt() 사용
int i = integer.parselnt(args[0]);
int j = integer.parselnt(args[1]);
//i, j 변수에 값을 확인하자
System.out.println("i="+i+"\\\\t j="+j); //<==특수문자 \\\\t를 사용: 출력결과확인
System.out.println("한줄처리\\\\n"); //<==특수문자 \\\\n를 사용: 출력결과확인
System.out.println("=====================================");
if(i>j){
System.out.println("i가 j보다 큽니다.");
}else if(i==j){
System.out.println("i와 j는 같습니다.");
}else if(i<j){
System.out.println("i보다 j가 큽니다.");
}
} //end of main
} //end of class
package jb01.part08;
/*
FileName : SwitchTest.java
1.분기문 : switch 연습
*/
public class SwitchTest
{
//main method
public static void main(String[] args) {
int inputData = integer.parselnt(args[0]);
//switch문은 ()내부의 값과 case의 상수와 같으면 case 내부의 실행문을 수행
//break문을 만날때까지 진행한다.
//==> switch(변수) : 변수는 반드시 정수형일 것(byte,short,int,long,char. 5EA)
switch(inputData)
{
case 1:
System.out.println("입력하신 값은 1입니다.");
break;
case 2:
System.out.println("입력하신 값은 2입니다.");
break;
case 3:
System.out.println("입력하신 값은 3입니다.");
break;
case 4:
System.out.println("입력하신 값은 4입니다.");
break;
case 5:
System.out.println("입력하신 값은 5입니다.");
break;
default:
System.out.println("case문을 다통과 동일상수가 없을 경우");
System.out.println("default가 수행됨...입력하신 수는"+ inputData+"입니다.");
break;
}//end of switch
} //end of main
} //end of class
/*
case 1: 의 break를 주석처리하고 실행해 보면 어떤 결과가 나오는지 확인 ===> break의 역할은?
*/