전일 학습 내용 복습
Math.random() 함수 사용해보기
int random = (int) (Math.random() * 127 + 1); // int 형으로 받기
char cRandom = (char) (Math.random() * 127 + 1); // char 형으로 받기, 숫자에 맞는 문자로 나옴
if 문으로 ASCII CODE 의 값이 어떤 문자인지 체크해보기
if (48 <= cRandom && cRandom <= 57 ){
System.out.println("숫자입니다 : " + cRandom);
} else if (65 <= cRandom && cRandom <= 90){
System.out.println("대문자 영어입니다 : " + cRandom);
} else if (97 <= cRandom && cRandom <= 122) {
System.out.println("소문자 영어입니다 : " + cRandom);
} else {
System.out.println("특수기호 입니다 : " + cRandom);
}
더 편하게는
if ('0' <= cRandom && cRandom <= '9' ){
System.out.println("숫자입니다 : " + cRandom);
} else if ('A' <= cRandom && cRandom <= 'Z'){
System.out.println("대문자 영어입니다 : " + cRandom);
} else if ('a' <= cRandom && cRandom <= 'z') {
System.out.println("소문자 영어입니다 : " + cRandom);
} else {
System.out.println("특수기호 입니다 : " + cRandom);
}
굳이 코드에 맞는 번호를 적을 필요가 없음
더더 편하게
if (Character.isDigit(cRandom)){ // char 글자가 숫자인지 확인
System.out.println("숫자");
} else if (Character.isUpperCase(cRandom)) { // char 글자가 영어 대문자인지 확인
System.out.println("대문자");
} else if (Character.isLowerCase(cRandom)){ // char 글자가 영어 소문자인지 확인
System.out.println("소문자");
} else {
System.out.println("특수문자");
}
오늘 강의
반복문
for 반복문
for (int i = 0; i < 5; i++) {
System.out.println("안녕하세요. " + i);
}
for 문을 이용하여 1 부터 100 까지 찍기
for (int i = 1; i <= 100; i++) {
if (i % 10 == 1) {
System.out.println();
System.out.print(i + ", ");
} else {
System.out.print(i + ", ");
}
}
더 간단하게
for (int i = 1; i <= 100; i++) {
System.out.print(i + ", ");
if (i % 10 == 0) {
System.out.println();
}
}
for 문 예제
숫자 배수에 숫자 대신 문자열 출력하기
// 1 ~ 25 까지 숫자 출력
// 3 의 배수는 FIZZ, 5 의 배수는 BUZZ
// 3 의 배수이기도 하고 5 의 배수이기도 한 숫자는 FIZZBUZZ 출력
for (int i = 1; i <= 100; i++) {
if (i % 15 == 0) {
System.out.print("FIZZ BUZZ, ");
} else if (i % 3 == 0) {
System.out.print("FIZZ, ");
} else if (i % 5 == 0){
System.out.print("BUZZ, ");
} else {
System.out.print(i + ", ");
}
}
for 문 예제
약수 구하기
for (int i = 1; i <= 100; i++) {
System.out.print(i + " : ");
for (int j = 1; j < i ; j++) {
if (i % j == 0){
System.out.print(j + " ");
}
}
System.out.println();
}
1 부터 10000 까지의 숫자 중 8 의 갯수를 구하기
public static void main(String[] args) {
int count = 0;
for (int i = 0; i < 10000; i++) {
String value = String.valueOf(i);
for (int j = 0; j < value.length(); j++) {
char valueCh = value.charAt(j);
if (valueCh == '8'){
count++;
}
}
}
System.out.println(count);
}
String 으로 바꾸지 않고 구하기
int count = 0;
for (int i = 0; i < 10000; i++){
if (i == 8){
count++;
}
if((i % 10) == 8) {
count++;
}
if((i % 100) == 8) {
count++;
}
if((i % 1000) == 8) {
count++;
}
}
System.out.println(count);
while 문 이용하여 짧게 요약하기
int count = 0;
for (int i = 0; i < 10000; i++) {
int temp = i;
while (temp > 0){
if (temp % 10 == 8){
count++;
}
temp /= 10;
}
System.out.println(count);
}
* 찍기
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.print("*");
}
System.out.println();
}
*****
*****
*****
*****
*****
for (int i = 1; i <= 5; i++) {
for (int j = 0; j < i; j++) {
System.out.print("*");
}
System.out.println();
}
*
**
***
****
*****
for (int i = 5; i > 0; i--) {
for (int j = i; j > 0; j--) {
System.out.print("*");
}
System.out.println();
}
i 는 증가하고 j 는 줄어들게 해도 됨
암호 만들기
public static void main(String[] args) {
// 1. 사용자가 평문을 입력 = 스캐너
Scanner sc = new Scanner(System.in);
String input; // 평문
String encrypted = ""; // 암호문
// 2. 저장
System.out.println("암호화 할 문장을 입력하세요. (대문자로)");
input = sc.nextLine();
System.out.println(input);
// 3. 3 자리 밀기
for (int i = 0; i < input.length(); i++) {
char ch = input.charAt(i);
System.out.println(ch);
ch += 3;
// 4. 저장
encrypted += String.valueOf(ch);
}
// 5. 출력
System.out.println(encrypted);
}
for 문을 이용하여
문자열에서 숫자만 출력하기
public static void main(String[] args) {
String text = "1q2w3e4r5t";
for (int i = 0; i < text.length(); i++) {
char ch = text.charAt(i);
if (ch < 'a'){ // ch 가 'a' 의 ASCII CODE 보다 작으면 출력
System.out.print(ch);
}
}
String s = ""; // 빈 문자열 생성
for (int i = 0; i < text.length(); i++) {
char ch = text.charAt(i);
if (Character.isDigit(ch)){ // ch 가 숫자면 s 에 문자 추가
s += ch;
}
}
System.out.println(s);
s = "";
for (int i = 0; i < text.length(); i++) {
char ch = text.charAt(i);
if (Character.isAlphabetic(ch)){ // ch 가 알파벳이면 뒤 반복문 실행하지 않음
continue;
}
s += ch;
}
System.out.println(s);
}
* 트리 만들기
for (int i = 1; i <= 5; i++) {
for (int j = 5; j > i; j--) {
System.out.print("_");
}
for (int j = 0; j < i; j++) {
System.out.print("*");
}
System.out.println();
}
/*
____*
___**
__***
_****
*****
*/
for (int i = 1; i < 6; i++) {
for (int j = 5; j > i; j--) {
System.out.print("_");
}
for (int j = 1; j < i * 2; j++) {
System.out.print("*");
}
System.out.println();
}
/*
____*
___***
__*****
_*******
*********
*/
ForEach 문, 향상된 For문
// ForEach 문, 향상된 For 문
int[] number = {10,20,30,40,50};
for (int i : number) {
System.out.print(i + " "); // 10 20 30 40 50
}
숫자 없이도 반복문 처리 가능
for (char ch = 'a'; ch < 'f'; ch++) {
System.out.println(ch);
}
'JAVA' 카테고리의 다른 글
231208 Java (0) | 2023.12.08 |
---|---|
231207 Java (0) | 2023.12.07 |
231205 Java (0) | 2023.12.05 |
231204 Java (2) | 2023.12.04 |
231201 Java (0) | 2023.12.01 |