1 프로젝트 설명 & 기타 설명(큰 그림)
1. 프로젝트 페이지 참고
큰 카테고리 = 패키지
세부 카테고리 = 클래스
2. github 이클립스 연동 (본인은 이미 되어 있어서 상관 없음) //
2 복습
1. 0508 복습 (변수의 종류 ~ 형변환)
* 변수의 종류 ~ 형변환
package j0509;
public class Class0509_01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 변수 - 8가지
// 논리형 - boolean
// 문자형 - char
// 정수형 - byte, short, int, long
// 실수형 - float, double
// 문자열 - String
char ch = 'a'; // 2개의 글자, 공백이 없는건 안 들어감
// A = 65, a = 97 (32 차이), 0-48 // 알파벳 26개
int num = 1;
int num2 = 2;
int num3 = 3;
int num4 = 4;
int num5 = 5;
System.out.printf("더하기 결과값 : %d \n",num+num2);
System.out.printf("나누기 결과값 :"
+ " %f \n",num/(double)num2);
System.out.printf("더하기 결과값 : ",num+num2);
System.out.println(num+num2);
System.out.println(num-num2);
System.out.println(num*num2);
System.out.println(num/(double)num2); // 실수형변환 해야 한다
System.out.println(10/3);
System.out.println(10-3);
System.out.println(10*3);
System.out.println(10/3);
}
}
3 이론
1. printf()
2. Scanner란
3. 증감연산자
4. 삼항연산자
5. 이항연산자의 특징
int d가 문제 생길 수도..
0을 빼주면 무조건 숫자형으로 변환 된다.
4 실습
1. \t 사용법
package j0509;
public class Class0509_02 {
public static void main(String[] args) {
int kor = 100;
int eng = 90;
int math = 89;
int total = kor+eng+math;
double avg = total/3.0;
System.out.println("-----------------");
System.out.println("국어\t영어\t수학\t합계\t평균");
System.out.println("-----------------");
System.out.printf("%d\t%d\t%d\t%d\t%.2f \n",kor,eng,math,total,avg);
}
}
2. Scanner & nextInt 사용법
package j0509;
import java.util.Scanner;
public class Class0509_03 {
public static void main(String[] args) {
double kor = 0;
int eng = 98;
int math = 100;
String name = "";
//데이터 입력 - 화면에서 입력을 받겠다.
Scanner scan = new Scanner(System.in);
System.out.println("이름을 입력하세요");
// name = scan.next(); //너무 좋아요 (부분만 입력 받음)
name = scan.nextLine(); // 너무 좋아요 함께 해요. (전체 다 입력 받음)
System.out.println("국어점수를 입력하세요");
kor = scan.nextInt();
System.out.println("영어점수를 입력하세요");
eng = scan.nextInt();
System.out.println("수학점수를 입력하세요");
math = scan.nextInt();
// String str = new String("aaa");
// String str2 = "aaa";
// java.util.Scanner
double total = kor+eng+math;
double avg = total/3.0;
System.out.println("--------------------------------------------");
System.out.println("이름\t국어\t영어\t수학\t합계짱짱\t\t평균");
System.out.printf("%s\t%.1f\t%d\t%d\t%f\t%.2f \n",name,kor,eng,math,total,avg);
System.out.println("--------------------------------------------");
}
}
3 문제풀이 - scanner, nextint 사용
package j0509;
import java.util.Scanner;
public class Class0509_04 {
public static void main(String[] args) {
// 아이디, 패스워드, 이름을 입력 받아 출력하시오.
// 문자열, 정수형, 문자열
// 아이디, 패스워드, 이름을 입력 받아 출력하시오.
// abcd 1111 홍길동
//1. 변수 선언
String id = "";
String pw = "";
String name = "";
//2.Scanner - 입력클래스
Scanner scan = new Scanner(System.in);
System.out.println("아이디를 입력하세요");
id = scan.nextLine();
// id = scan.next(); // next() - 문자만 입력받음, nextLine()
System.out.println("패스워드를 입력하세요");
pw = scan.nextLine();
System.out.println("이름을 입력하세요");
name = scan.nextLine();
System.out.println("----------------------------------");
System.out.println("아이디\t패스워드\t이름");
System.out.println("----------------------------------");
System.out.printf("%s\t%s\t%s \n",id,pw,name);
}
}
4. 우선순위 & 증감연산자
package j0509;
public class Class0509_05 {
public static void main(String[] args) {
// int result = 3 + (4*5); // 23
int num1 = 3;
int num2 = 4;
int num3 = 5;
// int result = (num2*num3)+num1; //23
// System.out.println(result);
++num3;
// int result = ++num3; //5+1=6
// System.out.println(result);
num2++; // num2 = num2+1;
// System.out.println("num3 : "+num3);
int result2 = num2++; //4
System.out.println(result2);
System.out.println("num2 : "+num2);
}
}
5. 삼항연산자 - 문제풀이 1
package j0509;
import java.util.Scanner;
public class Class0509_06 {
public static void main(String[] args) {
int num = 0;
Scanner scan = new Scanner(System.in);
System.out.println("숫자를 입력하세요");
num = scan.nextInt();
String answer2 = (num>10)?"10보다 큽니다.":(num==10)?"10과 같습니다.":"10이 아닙니다";
System.out.println(answer2);
// int num = 5;
// // int result = ++num; //num 1을 더해서 그 결과값을 result 대입
// int result = num++; //result에 먼저 값을 대입한 후 num을 1을 더함.
// System.out.println(result);
//
// String answer = (num>1)?"1보다 큽니다.":"1보다 작습니다.";
// System.out.println(answer);
//
// 1개의 정수형을 입력 받아 10보다 큰수인지 출력하시오.
// 정수를 입력받아 음수 양수로 양수면 음수로 변경하시오.
System.out.println("음수는 양수로, 양수는 음수로 변경합니다. 숫자를 입력하세요.");
num = scan.nextInt();
int result2 = (num>0)?-num:-num;
System.out.println("결과값 : "+result2);
}
}
6. 삼항연산자 - 문제풀이 2
package j0509;
import java.util.Scanner;
import javax.print.DocFlavor.INPUT_STREAM;
public class Class0509_08 {
public static void main(String[] args) {
// 숫자를 입력 받아 짝수인지 홀수인지 출력하시오.
// 짝수입니다. 홀수입니다.
// 1. 변수선언 2. 입력 3. 출력.
int num = 0;
Scanner scan = new Scanner(System.in);
System.out.println("숫자 입력하셈");
num = scan.nextInt();
String answer = (num%2==0)?"짝수입니다":"홀수입니다";
System.out.println(answer);
// System.out.println("짝수입니다.");
}
}
7. 소문자 -> 대문자 변환 (scan.next().charAt(0))
package j0509;
//import java.util.Scanner;
public class Class0509_08 {
public static void main(String[] args) {
// 4)
// byte a = 10;
// byte b = 20;
// int c = a+b;
// 5)
int a = 1000000;
int b = 2000000;
long c = a * b; // 오버 플로우 발생
// long c = (long)(a) * b;
System.out.println(c);
// char ch = 'A';
// char ch = ' ';
// Scanner scan = new Scanner(System.in);
// int num = ch+1;
// System.out.println((char)num);
// System.out.println("대문자를 입력하세요");
// ch = scan.next().charAt(0); // 문자열에 첫번째 문자를 가져옴.
// char ch2 = (char)(ch+32); //더하는 순간 큰쪽으로 int가 됨. -> 대문자로 치환
// System.out.println("1-입력한 대문자 : "+ch);
// System.out.println("1-변환된 문자 : "+ch2);
// 소문자를 입력 받아 대문자로 입력하세요
// System.out.println("소문자를 입력하세요");
// ch = scan.next().charAt(0); // 문자열에 첫번째 문자를 가져옴.
// char ch3 = (char)(ch-32);
// System.out.println("2-입력한 소문자 : "+ch);
// System.out.println("2-입력한 대문자 : "+ch3);
//
// // 이항연산자
// int num=10;
// double num2 = 10;
// num = num+num2;
// System.out.println();
// 숫자를 입력 받아 짝수인지 홀수인지 출력하시오.
// 짝수입니다. 홀수입니다.
// 1. 변수선언 2. 입력 3. 출력.
// int num = 0;
// Scanner scan = new Scanner(System.in);
//
// System.out.println("숫자 입력하셈");
// num = scan.nextInt();
//
// String answer = (num%2==0)?"짝수입니다":"홀수입니다";
// System.out.println(answer);
//
// System.out.println("짝수입니다.");
}
}
8. 문제풀이 - charAt
package j0509;
import java.util.Scanner;
public class Class0509_09 {
public static void main(String[] args) {
//1)
//1개의 글자를 입력받아 숫자로 변환하시오.
//"15784" 첫번째 문자를 숫자로 변환
// 문자 -> 숫자 -> 첫번째 문자가 짝수 홀수인지 확인
char ch = ' ';
Scanner scan = new Scanner(System.in);
System.out.println("문자열을 입력하세요");
char input = scan.next().charAt(3); //charAt() 문자열에서 1개의 문자를 가져옴.
// int result = input-0; //49
int result = 49-'0'; //char타입의 숫자는 '0'문자 0을 빼야 숫자값으로 변환됨.
String content = (result%2==0)?"짝수":"홀수";
System.out.println("추출한 숫자: "+result);
System.out.println(content);
}
}
9. 문제풀이 - 형변환해서 특정 자리까지만 출력
package j0509;
import java.util.Scanner;
public class Class0509_10 {
public static void main(String[] args) {
// 3번
// 실수를 입력받아 7자리까지만 입력받아, 소수점 4자리까지만 출력하시오.
double pi = 0;
Scanner scan = new Scanner(System.in);
System.out.println("7자리까지만 실수를 입력해주세요");
pi = scan.nextDouble();
double result = (int)(pi*10000)/10000.0;
System.out.println("입력한 값 : "+pi);
System.out.println("실수의 4자리 값 : "+result);
// 2번
// //564.124586 소수점 3자리 절사 2자리까지 존재
// double pi = 564.124586;
// double result = (int)(pi*100)/100.0;
// System.out.println(result);
// 1번
// double pi = 3.141592;
// double result = (int)(pi*1000)/1000.0;
// System.out.println(result);
}
}
9-1. 문제풀이 - 형변환해서 특정 자리까지만 출력
package j0509;
import java.util.Scanner;
public class Class0509_11 {
public static void main(String[] args) {
// 소수점 5자리를 입력받아 3자리에서
// 2번
// double pi = 3.7894; 소수점 2자리에서 반올림해서 출력하시오.
// 37.894
double pi = 3.7894;
double result = Math.round(pi*10)/10.0;
System.out.println(result);
// 1번
// 소수점 4자리에서 반올림 출력하시오.
// 1.변수선언 2.출력
// double pi = 3.141592;
// double result = (int)(pi*1000)/1000.0;
// System.out.println(result);
}
}
9-2. 문제풀이 - 형변환해서 특정 자리까지만 출력
package j0509;
import java.util.Scanner;
public class Class0509_11 {
public static void main(String[] args) {
// 3번
// 소수점 5자리를 입력받아 3자리에서 반올림해서 출력하시오.
double num = 0;
Scanner scan = new Scanner(System.in);
System.out.println("소수점 5자리 입력 예)1.23456");
num = scan.nextDouble();
double result = Math.round(num*100)/100.0;
System.out.println(result);
// 2번
// double pi = 3.7894; 소수점 2자리에서 반올림해서 출력하시오.
// 37.894
// double pi = 3.7894;
// double result = Math.round(pi*10)/10.0;
// System.out.println(result);
//
// 1번
// 소수점 4자리에서 반올림 출력하시오.
// 1.변수선언 2.출력
// double pi = 3.141592;
// double result = (int)(pi*1000)/1000.0;
// System.out.println(result);
}
}
9-3. 소수점 4자리 올림해서 출력
package j0509;
import java.util.Scanner;
public class Class0509_11 {
public static void main(String[] args) {
// 4번
// 실수를 입력받아 소수점 4자리에서 올림해서 출력하시오
double pi = 0.0;
Scanner scan = new Scanner(System.in);
System.out.println("실수 입력 ㄱ");
pi = scan.nextDouble();
double result = Math.round(pi*1000)/1000.0;
System.out.println(result);
// 3번
// 소수점 5자리를 입력받아 3자리에서 반올림해서 출력하시오.
// double num = 0;
// Scanner scan = new Scanner(System.in);
// System.out.println("소수점 5자리 입력 예)1.23456");
// num = scan.nextDouble();
// double result = Math.round(num*100)/100.0;
// System.out.println(result);
//
// 2번
// double pi = 3.7894; 소수점 2자리에서 반올림해서 출력하시오.
// 37.894
// double pi = 3.7894;
// double result = Math.round(pi*10)/10.0;
// System.out.println(result);
//
// 1번
// 소수점 4자리에서 반올림 출력하시오.
// 1.변수선언 2.출력
// double pi = 3.141592;
// double result = (int)(pi*1000)/1000.0;
// System.out.println(result);
}
}
9-3. 소수점 4자리 올림해서 출력
package j0509;
import java.util.Scanner;
public class Class0509_12 {
public static void main(String[] args) {
// 영문 대문인지 소문자인지 비교
char ch = ' ';
Scanner scan = new Scanner(System.in);
System.out.println("문자 입력하쇼");
ch = scan.next().charAt(0);
String result = (ch>='a'&&ch<='z')?"영문 소문자입니다.":"영문 대문자입니다.";
System.out.println(result);
}
}
5 단축키
1. 단축키
1줄 삭제 : ctrl + d
1줄 이동 : alt + 방향키
* 핵심
- scanner 활용법
- next 활용법
- charAt(0) : 대소문자 확인
- 삼항 연산자 : 조건문 ?
* 0509 실습 링크
728x90
반응형
LIST
'배운 책들 정리 > 자바 완전 정복' 카테고리의 다른 글
자바의 정석 4,5 - 조건문,반복문,배열 2 (1) | 2023.05.13 |
---|---|
자바의 정석 4,5 - 조건문,반복문,배열 (0) | 2023.05.11 |
자바의 정석 3,4 - 연산자, 조건문 (1) | 2023.05.10 |
자바의 정석 1,2 - 자바 설치~변수의 종류~형 변환 (0) | 2023.05.08 |
자바 완전 정복 예습 간단한 리뷰 - 목차 확인, 코드 리뷰 및 연습 (2) | 2023.05.07 |