2024.04.19
<강의 내용 정리>
오늘 Java 언어에 대해 공부했고 기존에 배웠던 C계열 언어와의 공통점, 다른점을 포인트로 했고, 특히 다른 부분을 집중적으로 살펴봤다
1. 자바의 데이터 타입
- 자바에서는 상수 선언을 final 키워드를 통해 하는 부분이 있다
const double PI = 3.14 // c계열
final double PI = 3.14 // java
- 상수 / 리터럴의 미묘한 차이
상수 : 변수와 반대되는 개념, 데이터(값)를 담지만 선언 후 프로그램 종료까지 데이터(값) 변화는 없는 것
리터럴 : 변하지 않는 값, 그 자체로 값을 의미하는 것 (ex 정수 리터럴 = 1, 3, 10, 문자열 리터럴 = "Hi", "Hello")
2. 자바의 배열 중 가변배열 (이부분은 개인적으로 기억이 잘 나지않아 다시 정리)
String[][] classStudent = new String[5][];
classStudent[0] = {"A"."B","C","D","E"};
classStudent[1] = {"김","이","박"};
classStudent[2] = {"나카무라","고죠","신이치","사쿠라"};
//... 이런식으로 2차원 배열자체를 각각 다른 수의 배열로 초기화 가능
3. String[] args에 대해서
System.out.println(args.length); 를 실행한다면, 우리가 정의한 클래스(어플리케이션)에
사용자가 입력한 데이터들의 총 수를 출력한다는 의미
즉 args는 사용자 입력값들의 집합 (cmd 창에서 테스트 가능)
4. 사용자 입력 받기
자바에서 기본적으로 제공하는 라이브러리중 scanner를 이용하면 쉽게 사용자의 입력을 받을 수 있다
사용자 입력은 단순 키보드를 통해 들어오는 것 말고도 파일 등을 불러오는것 역시 사용자 입력이라 볼수있다
// Scanner, import java.util.Scanner; 사용전 import 필요
Scanner sc = new Scanner(System.in); // System.in = 사용자가 입력한 값
int i = sc.nextInt(); // sc.nextInt() 에서 사용자 입력까지 대기
System.out.println(i*1000);
sc.close(); // Scanner 선언후 사용한 뒤 꼭 필요한 부분
// 사용자 입력 - 파일, import java.io.File;
try {
File file = new File("out.txt");
Scanner sc = new Scanner(file);
while(c.hasNextInt()) {
System.out.println(sc.nextInt() * 1000);
}
sc.close();
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
<깨알 지식> 코드 리팩토링 : 기존 코드를 효율적으로 다시 수정하는것
5. 반복문에서 네이밍 활용
중첩된 반복문에서 break 이나 continue를 사용하면 내부에서만 작용하고 부모 반복구문에 영향을 주기 까다로울때
반복문의 네이밍을 사용하면 편하게 반복문을 break 하거나 continue 할 수 있다.
Loop1 : for(int i=2; i<=9; i++) {
for(int j=1; j<=9; j++) {
if(j==8)
break Loop1; // 한번에 바깥쪽 for문을 break 시킨다
if(j<5)
continue Loop1; // 마찬가지
if(j==7)
break; // 내부 for문, 일반적인 break;
continue;
System.out.println("in");
}
System.out.println("out");
}
}
6. printf() 와 println()의 차이
printf() 는 문자열 출력시 줄바꿈 없이 그대로 나온다 대신 지시자(ex %d) 등을 활용할 수 있다
println() 은 문자열 출력시 자동으로 줄바꿈이 된다 다만 변수 값을 그대로 출력하기 때문에 값을 변환하지 않고 다른 형식으로 출력할 수 없다
수업 과제 작업중..
System.out.println("[ " + myRecipeTitle + " ]" ); 변수값 자체만 출력하기 때문에 + 를 이용해서 이어줌
System.out.printf("[ %s ]", myRecipeTitle); 지시자를 활용해서 좀더 편하게 작성!
'TIL > Web Back' 카테고리의 다른 글
[Sparta] 내일배움캠프 6일차 TIL (0) | 2024.04.26 |
---|---|
[Sparta] 내일배움캠프 5일차 TIL (0) | 2024.04.25 |
[Sparta] 내일배움캠프 4일차 TIL (0) | 2024.04.24 |
[Sparta] 내일배움캠프 3일차 TIL (0) | 2024.04.23 |
[Sparta] TIL 2일차 (0) | 2024.04.22 |