1. 공유폴더의 도메인을 알려주었음. (업로드, 추가기능 다운로드 등)
2. temp 폴더 삭제(Eclipse 가 아닌 cmd[명령프롬프트]에서 작업했던 폴더)
3. 환경변수는 %변수명% 로 만들고 PATH 를 %변수명%\bin 으로 할 수도 있다.
(Mac은 $vi ~/.bash_profile 로
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
로 할 수 있음)
4. New> Java Project 에서 test01hello 로 만듦
5. New>Package 에서 test.com 으로 만듦
6. src에 java01hello/src/test/com 의 내용(Test01hello.java, Test02comment.java, Test03Score.java)을 붙여넣음.
7. 파일을 따로 Java 폴더에 옮기지 않고 eclipse에서 우클릭 Import 로 가져올 수 있다.
Import> General > Existing Projects into workspace > Browse > java01Hello 선택 후
Options 의 Copy projects into workspace 를 체크하여야 현재 Java project 폴더로 복사하여 가져올 수 있음. 체크 안할 시 폴더관리가 안되고 현재 존재하는 위치를 연결하므로 문제가 될 수 있다.
8. 그래서 소스 내용만 가져오는 것이 가장 수월한 방법이다.( project 전체 copy중 충돌 방지)
9. 강의 중 복습 등 참고하는 방법으로 Capture를 사용한다.(강사 Open Capture 사용)
*나의 경우에는 Mac 환경이라 Command+Shift+4 부분 캡쳐 후 PhotoScapeX 로 편집하였음 (밑줄, 글씨, 네모 박스 등) (별거아니지만 좋은 팁이라고 생각함)
10. 대문자 시작: Class, 소문자() : Method 의 간단한 구분 (가독성 편리)
ex) System.out.println("변수") : System이라는 클래스 내의 out 내의 println 메소드 사용
11. 같은 method 같은 class 내에 같은 변수 못 만든다.
12. java02variable 프로젝트를만들고 test.com package 내에 Test01int class를 생성하고 작업시작함
main Ctrl+Space를 눌러 Enter를 하면 메인 메소드가 완성됨.
sysout 으로 content assist(ctrl+space)로 완성함.
순서로 작업함.
String grade = "A"; 가아니라 한 문자 이므로 char grade = 'A'; 로 바꾸었음.
13. Test03Score.java 를 단순한 코딩에서 변수로 수정하기 (작업 시행)
14. int total="" +kor+eng+mat -> type 오류임. ""문자가 붙어 "778899"라는 문자열이 된다.
15. Test04member class 생성 (java02variable 프로젝트 내) 및 작업
우클릭 New > Class 로 생성
Test04member 이름으로 정하고 , public static void main(String[] args) 체크 후 Finish
위 그림의 주석은 결과로 나와야 할 내용 들이다. (class 목표)
내가 작성한 값은 다음과 같다.
final 로 final 상수로 만든 경우에는 밑에서 title = "다른값"; 으로 변경할 때 위와 같은 오류가 뜬다.
강사님께서 수정한 것은 위와 같다. final 로 타이틀을 정하였고, final 상수는 변경 못하므로 오류난 부분을 주석 처리 하였다. 물론 강의에서는 변수선언부와 출력부분을 나누지 않았고, sysout과 변수 선언 부분을 섞어놓았다.
(*내생각: 현재 강의 단계에서 변수선언 부분과 출력부분을 나누게 되었을 때 복잡하다고 느낄 수도 있다고 생각해서 그러는 것 같다.)
16. Test01int 를 F2를 눌러서 Test01type 으로 변경하고 이걸 복사 붙여넣어 Test01type2를 편집함.
type 종류에 대한 설명 ( 타입 범위 등)
17. Test02casting 클래스 생성 후 작성
우클릭 > New > Class 로 클래스 생성
Test02casting 이름으로 public static void main(String[] args) 체크 후 Finish
b 는 byte 인데 128은 byte 범위를 초과하여 다음과 같은 메시지가 뜬다. 두가지 해결 방법이 있음.
int 는 대략 21억 범위이므로 상수범위 초과가 뜬다.
L을 붙여주면 long으로 타입을 캐스팅을 하거나 type을 바꿔주라는 메시지로 바뀐다.
package test.com; public class Test02casting { public static void main(String[] args) { System.out.println("casting...."); char c = 65; System.out.println(c); System.out.println((int)c); int i =65; System.out.println(i); System.out.println((char)i); byte b = 127; System.out.println(b); b = (byte) 129; System.out.println(b); b = (byte) 130; System.out.println(b); b = (byte) 131; System.out.println(b); int su = (int) 2200000000L; System.out.println(su); float f = 3.12345678901234567890f; System.out.println(f); double d = 3.12345678901234567890; System.out.println(d); } }
위와 같이 casting을 할 수 있고, 캐스팅(casting, 형변환) 이라고 하며 여기의 경우 type casting 이고,
크기가 큰 것으로 형변환 하는 것을 up casting 작은 것으로 형변환 하는 것을 down casting 이라함.
up casting은 자동 down casting은 강제함.
18. Test01Operator 작성
java03operator 이름으로 설정하고 Finish한다.
우클릭 New> Package 패키지 생성한다.
test.com 으로 test 하위에 com이 있도록 패키지를 정하고 Finish 한다.
우클릭 New > Class 로 클래스를 생성한다.
Test01Operator 로 class이름을 정하고 public static void main(String[] args) 체크 후 Finish한다.
아래는 이 클래스의 코딩 이다.
package test.com; public class Test01Operator { public static void main(String[] args) { System.out.println("Operator...."); // 연산자 // 1. 산술연산 +, -, * , /, % System.out.println(10 + 3); System.out.println(10 - 3); System.out.println(10 * 3); System.out.println(10 / 3); System.out.println(10 % 3); System.out.println((5+5)*2-3); System.out.println("======="); // 2. 대입연산 =, += ,-=, *=, /=, %=, &=, |=, ^= int su = 10; System.out.println(su); su += 30; System.out.println(su); su -= 30; System.out.println(su); su /= 3; System.out.println(su); su %= 3; System.out.println(su); int su2 = 10; su2 &= 3; // su2 |= 3; // su2 ^= 3; System.out.println(su2); // 3. 비트연산 (bit) &(and,교집합), |(or,합집합), ^(xo,배타적논리합) // 10 : 1010 // & 3: 0011 // 0010 : 2 // 10 : 1010 // | 3 : 0011 // 1011 : 11 System.out.println(10|3); // 10 : 1010 // ^ 3 : 0011 // 1001 : 9 System.out.println(10^3); // 4. 논리연산 &&, ||, &, | System.out.println(10 & 3); System.out.println(true & true); System.out.println(true && false); System.out.println(5>5 & 5==5); System.out.println(5>5 && 5==5); //System.out.println(10 && 3); System.out.println(5==5 | 5>5); System.out.println(5==5 || 5>5); // 5.쉬프트연산 >>, <<, >>>, System.out.println(8 >> 2); // 1000 >> 2 : 0010(2) System.out.println(2 << 2); // 0010 << 2 : 1000(8) System.out.println(-2 << 2); System.out.println(-8 >> 2); System.out.println(-8 >>> 2); // 6.비교연산 ==, !=, >, >=, <, <=, System.out.println(5==5); System.out.println(5!=5); System.out.println(5>=5); System.out.println(5>5); System.out.println(5<=5); System.out.println(5<5 --="" ...="" .="" 10.="" 1000="" 111:222="" 1="" 7.="" 8.="" 9.="" :="" a:="" a="" avg="" b:="" b="" int="" money="" system.out.println="" x="10;" y="20;" z="30;">= 90 ? "A":"other"); //System.out.println(avg >= 90 ? "A":avg >= 80 ? "B": avg >= 70 ? "C":"other"); } } 5>
코딩 중 && 연산자의 경우 true, false 의 경우에만 사용할 수 있으니 주의 한다.
19. java02variable 프로젝트의 Test03Score 클래스를 복사하여, java03Operator 프로젝트로 붙여넣는다. 그리고 나서 상황연산자 사용하여 (if문 사용 없이) 90이상 A, 80이상 B, 70이상 C 나머지 F를 출력하도록 프로그래밍 한다.
정답은 위와 같다.
나의 경우는 주석 내용처럼 grade에 계속 저장하는 형태로 삼항 연산자를 사용하였는데, 삼항연산자를 제대로 이해하지 못하고 단순한 방법으로만 사용하였다.
package test.com; public class Test03Score { public static void main(String[] args) { // 성적처리 프로그램 시작 // 이름을 입력하세요 // 양성호 // 국어점수를 입력하세요 // 100 // 영어점수를 입력하세요 // 100 // 수학점수를 입력하세요 // 100 // 총점 : 300점 // 평균 : 100점 // 등급 : A // 성적처리 프로그램 끝 // 줄정리 단축키 ctrl + shift + f System.out.println("성적처리 프로그램 시작"); // ctrl+alt+하단화살표 int kor=90; int eng=90; int mat=0; double total = kor+eng+mat; double avg = total/3; String name = "양성호"; char grade=avg<70? 'F' : avg<80? 'C' : avg<90? 'B' : 'A'; //char grade = 'A'; // grade = (avg<70)?"Other":"C"; //평균이 70보다 작을때 "Other", 클때 "C" // grade = (80<=avg&&avg<90)?"B":grade;//평균이 80에서 90 사이일때 "B",아닐때 grade 그대로 // grade = (90<=avg)?"A":grade; //평균이 90보다 클 때 "A",아닐때 grade //변수로 선언하고 출력하세요 System.out.println("이름을 입력하세요"); System.out.println(name); System.out.println("국어점수를 입력하세요"); System.out.println(kor); System.out.println("영어점수를 입력하세요"); System.out.println(eng); System.out.println("수학점수를 입력하세요"); System.out.println(mat); System.out.println("총점 : "+total+"점"); System.out.println("평균 : "+avg+"점"); System.out.println("등급 : "+grade); System.out.println("성적처리 프로그램 끝"); } }
전체코드는 위와 같다.
깨알 팁*
1) double click: 단어 블럭, triple click : 한줄 블럭
2) 문자, 숫자 타입 잘 지키기
3) java에서는 (/) 연산자가 몫만 가져옴.
4) double은 int를 포함하므로 문제 없다.
5) 하나의 과제를 줘도 그것만 하지 않고 반복 수행하기
6) "" -> "++" -> "+변수+" 추가로 문자열을 변수 포함으로 빠르게 바꾸는 방법이 있다.
7) 변수(variable)는 명사 위주로 적으며 함수(method)는 동사 위주로 적는다.
8) 변수 첫글자는 소문자로 쓴다.(class와 헷갈림 방지)
9)
&과 &&차이는 앞의 논리가 거짓 일때 &&은 뒤의 논리를 확인 안한다.
|과 ||의 차이는 앞의 논리가 참일 때 ||은 뒤의 논리를 확인 안한다.
글을 수정하기가 곤란함. html 사용법을 잘모르는데 코드 형식으로 나타내려고 일부를 수정하였다.
답글삭제코드내에 < 가 있는 부분때문에 수정을 누르면 내용이 바뀜.
뀨 그렇다고한당
삭제