[1. 오늘 배운 것]
1. 연습문제
- switch-case를 활용하여 문자가 모음인지 확인
public class MyChar {
public boolean isVowel(char ch) {
switch (ch) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'A':
case 'E':
case 'I':
case 'O':
case 'U': return true;
}
return false;
}
}
2. 자바 반복문 : for
- 기본 구조 : for(초기값; 한계값; 변화값)
3. for_연습문제 : 소수인지 확인하기
- MyNumberRunner
package loop_for;
public class MuNumberRunner {
public static void main(String[] args) {
MyNumber number = new MyNumber(9);
boolean isPrime = number.isPrime();
System.out.println("isPrime " + isPrime);
}
}
- MyNumber
package loop_for;
public class MyNumber {
private int number;
public MyNumber(int number) {
this.number = number;
}
public boolean isPrime() {
for (int i = 2; i < number; i++) {
if (number % i == 0)
return false;
}
return true;
}
}
4. for_연습문제 : 값 더하기
- MyNumberRunner
package loop_for;
public class MuNumberRunner {
public static void main(String[] args) {
MyNumber number = new MyNumber(9);
int sum = number.sum();
System.out.println("sum " + sum);
}
}
- MyNumber
package loop_for;
public class MyNumber {
private int number;
public MyNumber(int number) {
this.number = number;
}
public int sum() {
int sum = 0;
for (int i = 1; i < number; i++) {
sum += i;
}
return sum;
}
}
5. for_연습문제 : Number Triangle 출력하기
- MyNumberRunner
package loop_for;
public class MuNumberRunner {
public static void main(String[] args) {
System.out.println("factorial " + factorial);
number.printNumberTriangle();
}
}
- MyNumber
package loop_for;
public class MyNumber {
private int number;
public MyNumber(int number) {
this.number = number;
}
public void printNumberTriangle(){
for (int i = 1; i <= number; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j+" ");
}
System.out.println();
}
}
}
- 결과
6. 자바 반복문 : while
- 기본 구조 : while(반복 조건) {실행문}
7. while_연습문제 : 제곱과 세제곱 출력하기
- WhileNumberPlayerRunner
package loop_while;
public class WhileNumberPlayerRunner {
public static void main(String[] args) {
WhileNumberPlayer player = new WhileNumberPlayer(30);
player.printSquaresUptoLimit();
player.printCubesUptoLimit();
}
}
- WhileNumberPlayer
package loop_while;
public class WhileNumberPlayer {
private int limit;
public WhileNumberPlayer(int limit){
this.limit=limit;
}
public void printSquaresUptoLimit(){
int i=1;
while(i*i<limit){
System.out.print(i*i+" ");
i++;
}
System.out.println();
}
public void printCubesUptoLimit(){
int i=1;
while(i*i*i<limit){
System.out.print(i*i*i+" ");
i++;
}
}
}
8. 자바 반복문 : do while문
- 기본구조 : do {실행문} while (조건문)
- 조건이 먼저 검토되지 않으므로 조건에 부합하지 않아도 적어도 한 번은 실행됨
9. do while 연습문제
package loop_dowhile;
import java.util.Scanner;
public class DoWhileRepeatedQuestionRunner {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number = 0;
do {
System.out.print("Enter a number : ");
number = scanner.nextInt();
System.out.println("Cube is " + number * number * number);
} while (number >= 0);
}
}
- 결과
10. break continue
- break : 반복문 탈출
- continue : 조건에 부합할 시 건너뛰기
11. 연습문제
- 팩토리얼
public class FactorialCalculator {
public int calculateFactorial(int number) {
int sum=1;
if (number<0){
return -1;
}
if (number==0){
return 1;
}
for(int i=1;i<=number;i++){
sum*=i;
}
return sum;
}
}
- 마지막 자리수 반환하기
public class NumberUtils {
public int getLastDigit(int number) {
while(number>=0){
return number%10;
}
return -1;
}
}
- 자리수 계산하기
public class NumberUtils {
public int getNumberOfDigits(int number) {
if (number < 0){
return -1;
}
if(number == 0){
return 1;
}
int noOfDigits = 0;
while(number > 0){
number /= 10;
noOfDigits++;
}
return noOfDigits;
}
}
- 숫자 역순으로 반환하기
public class NumberUtils {
public int reverseNumber(int number) {
if (number < 0){
return -1;
}
if (number < 10){
return number;
}
int reversedNumber=0;
while (number > 0) {
int digit = number % 10;
reversedNumber = reversedNumber * 10 + digit;
number /= 10;
}
return reversedNumber;
}
}
12. 자바 참조형
- 참조타입 : String, int, BigDecimal 등등
- 기본변수 : 참조타입으로 선언되는 변수
- 객체 : heap에 저장됨
- 기본변수 : stack에 저장됨
- 객체의 저장 위치
13.String 클래스
- string.length() : string의 문자 길이 반환
- charAt(n) : 문자열에서 n번째 문자 반환
- substring(n, m) : 문자열에서 n부터 m-1자리까지의 문자열 반환
- string.indexOf("st") : 문자열 내의 st의 첫 시작 위치 반환(0)
- string.contains("s") : 문자열 안에 s가 포함되어 있는지 확인
- string.startsWith("s") : string이 s로 시작하는지 확인
- string.endsWith("ng") : string이 ng로 끝나는지 확인
- string.equals("string") : string이 string과 같은지 확인
- string.equalsIgnoreCase("StRinG") : 대소문자에 관계없이 같은지 확인
- string.concat("add") : string에 add 문자열 더하기
14. StringBuffer & StringBuilder
- StringBuffer : 문자열을 생성할 수 있는 클래스, 수정 가능, 멀티스레딩 가능(속도 느림)
- StringBuilder : StringBuffer보다 빠른 문자열 생성 클래스
15. Wrapper
- 각각의 기본 타입에 상응하는 클래스가 있는데, 이를 래퍼클래스라고 부름
[2. 오늘 잘한 점]
시간안에 강의 다 듣고, 개인 공부도 했다. 팀스터디 시간에 원래 다같이 코테를 풀기로 했는데 두 분이 미리 풀어오셔서 나랑 다른 한 분만 풀고 두분은 자유시간 가지심ㅋ 부러웠다 뭐 어쨌든 시간 안에 코테도 풀었고 잘 했다~~
[3. 개선해야할 점]
진도에 대비해서 자바스크립트를 잘 공부해둬야 할 것 같다! 집에 가서도 일찍 자지 말고 프로젝트좀 하다가 자는게 좋을 것 같다
'부트캠프' 카테고리의 다른 글
[TIL] 유데미X사람인 취업 부트캠프 22일차 / java 객체지향 (0) | 2024.01.15 |
---|---|
[TIL] 유데미X사람인 취업 부트캠프 21일차 / java (1) | 2024.01.12 |
[TIL] 유데미 X 사람인 취업 부트캠프 19일차 / java (0) | 2024.01.10 |
[TIL] 유데미X사람인 취업 부트캠프 18일차 / 자바, 객체지향 (1) | 2024.01.09 |
[TIL] 유데미X사람인 취업 부트캠프 17일차 / (1) | 2024.01.08 |