본문 바로가기
(학) (공) (자)

12.28(2일차)

by 만석이 2023. 12. 28.

1교시

1. boolean 

boolean b= true;

// 변수의 선언
boolean b1; 

 //데이터의 대입, 데이터의 타입과 변수의 타입이 같지 않아 오류가 난다.
b1 = 1; 

//옳은 코드
b1= false;


2. 문자형 

- 문자형 데이터는 ' '에 한글자만 들어갈수있다.

char ch ='A';
System.out.println("ch의값:"+ch);


//숫자가 문자로 변환되서 출력 아스키코드 적용.
char ch2 =65;
System.out.println("ch2의값:"+ch2); 


3.정수

System.out.println("----------------------------------");
 
//-128~127
//byte 최대값 초과로 오류발생

byte b2 = 128;

 //-128~127
//옳은 코드
byte b2 = 127;

short s= 32767;
int n =550;

System.out.println("b2의 값"+b2);
System.out.println("s의 값"+s);
System.out.println("n의 값"+n);

4.실수

//소수점이 있는 숫자
float f =3.14;

//java에서는 실수들을 기본적으로 double타입으로 인식하기에 
//float 자료형으로 사용하려고 한다면 실수뒤에 f를 붙혀 명시해줘야한다. 

float f= 3.14f;
//해결방법

double d = 1.23;
System.out.println("d의값"+d);
 
int myAge = 20;
int yourAge = myAge; //myAge 값이 yourAge변수에 대입된다.

System.out.println("내 나이:"+myAge);
System.out.println("친구 나이:"+yourAge);


//두변수에 들어가있는 값을 서로 바꾸려면 어떻게 해야할까?

int su1 = 20;
int su2 = 30;

int cup=0;

System.out.println("수1:"+su1); 
System.out.println("수2:"+su2);


cup=su1;
su1=su2;
su2=cup;

System.out.println("\n수1:"+su1);
System.out.println("수2:"+su2);


2교시


1.타입변환

- promotion(자동형변환)

//자료형을 다른 자료형으로 변환하는것 
//기본적으로 같은 자료형끼리만 연산이 가능하다.
//따라서 서로 다른 자료형의 연산을 수행하기 위해서는 같은 자료형으로 변환해야한다.

//promotion(자동형변환)
//작은 자료형에서 큰 자료형으로 변환할때
//byte -> short -> int -> long


//정수형이 실수형으로 변환될때
double d = 100.5; //8byte
int n =200; //4byte

d=n;

System.out.println("d="+d); //결과 200.0


//문자가 문자열로 변환될때
char c = 'A'; //2byte
long l = 100; //8byte

l=c;

System.out.println(); //결과 65


- Demotion(강제형변환)

//큰 컵의 물을 작은 컵에 옮겨담는것과 같다.
//큰컵에있는 물의 양에 따라서 보존될수도 있지만
//넘칠수도 있다.
//큰 자료형에서 작은 자료형으로 옮길때
//데이터의 손실이 발생할 수도있다.

//(데이터 타입) 데이터 or변수

char c = 'B'; //2byte
int n = 68;  //4byte

c = (char)n;

//65 A, 66 B, 67 C, 68 D;
// 결과:D 
System.out.println("c의값:"+c);

float f = 5.5f; //4byte
int n1 = 0; //4byte

//크기가 같더라도 자료형이 다르면 강제로 형변환 해야한다.
//float에서 int로 casting되면서 소수점 이하는 소실된다.
n=(int)f;

System.out.println("n의값:"+n);


- 자바의 특징 

byte b1 = 100;
byte b2 = 20;

//숫자를 계산하면 기본적으로 int형식으로 변환된다.
byte b3 = (byte)(b1+b2);
int b4 = b1+b2;

- Scanner

//데이터의 입력
//키보드를 통해 다양한 데이터를 자유롭게 입력하는 방법
//키보드를 통해 입력하는 데이터를 문자열로 얻기 위해서는 
//자바에서 기본적으로 제공해주는 java.util 패키지에 있는 
//Scanner 클래스를 이용해야한다.

//다른 패키지에 있는 클래스의 기능을 사용하려면 import를 해야한다.



System.out.println("나이를 입력하세요");

//nextInt():입력받은 값을 int로 변환
int age = sc.nextInt();
System.out.println("당신의 나이는:"+age);


//nextFloat():입력받은 값을 Float로 변환

//nextDouble():입력받은 값을 Double로 변환

//next():입력받은 값을 (String)문자열 타입으로 변환

//nextLine():입력받은 라인 전체를 String타입으로 변환

//Scanner 사용후 닫아줘야한다.
sc.close();

-Scanner 예제 

String name,address;
int age;
double wegiht;

Scanner sc = new Scanner(System.in);

System.out.println("이름 : ");
name = sc.next();

System.out.println("나이 : ");
age = sc.nextInt();

System.out.println("주소 : ");
address = sc.next();

System.out.println("체중 : ");
wegiht = sc.nextDouble();

System.out.println("당신의 이름은:"+name);
System.out.println("당신의 나이는:"+age);
System.out.println("당신의 주소는:"+address);
System.out.println("당신의 체중은:"+wegiht);

sc.close();

 

3교시

- operator(연산자)

연산이란 데이터를 처리하고 결과를 산출하는 작업을 말한다.
연산은 항과 연산자로 이루어진다.
항은 연산에 사용되는 값을 의미하며, 연산자는 기호를 의미한다.
   항과 연산자를 이용해 연산 과정을 나열한것을 연산식(expression) 이라고한다.
  
 기본연산자의 종류
   -자바는 사칙연산을 비롯해 다양한 연산자를 제공하고있다.
    연산자의 개수에 따라 단항, 이항, 삼항 연산자로 분류할수있다.
    사용 목적에 따라 산술, 증감, 대입, 비교, 논리, 비트등으로 분류할수있다.
    최고연산자 .()
    증감연산자 ++,--
    산술연산자 +,-,*,/,%
    시프트연산자 >>,<<
    논리연산자 &&,||,!
    대입연산자 =, +=, -=, *=, /=, %=
    삼항연산자 조건식? A:B


-산술연산자

//사칙연산과 나머지값을 구하는 연산자로 나뉜다.
//프로그래미밍에서 곱겜은 x가 아니라 *, 나눗셈은 /로 쓰인다.


기본연산자 예제
int n1,n2,n3;

n1=20;
n2=7;
n3=n1+n2;  //n1과 n2를 먼저 계산후 대입한다. 
System.out.println(n3);

n3 = n1-n2;
System.out.println(n3);

n3 = n1/n2; //몫
System.out.println(n3);

n3 = n1%n2; //나머지

System.out.println(n3);


산술변환

//기본적으로 이항 연산자의 연산은 두 피연산자의 타입이
//일치해야 연산이 가능하다.
//컴퓨터는 서로 다른 타입을 계산하지 못하므로 값의 손실이 
//적은쪽의 타입으로 맞춰서 계산을 한다.



데이터타입 변함

//long + int -> long + long ->long
//float + int -> float +float ->float
//double + float -> double + double -> double


대입연산자

//우변의 값을 좌변에 대입해준다.
int i = 10;
int i2 = 7;

복합대입연산자

//산술연산자와 대입연산자가 합쳐진형태

//A = A +, -, *, /, % B

int x=10;
int y=1;

y+=x; //y=y+x;
    
System.out.println("y의값은:"+y); 

y*=x; //y=y*x;
    
System.out.println("y의값은:"+y); 

y%=x; //y=y%x;
    
System.out.println("y의값은:"+y); 





 

'(학) (공) (자)' 카테고리의 다른 글

01.04(6일차)  (1) 2024.01.04
01.03(5일차)  (1) 2024.01.03
01.02(4일차)  (0) 2024.01.02
12.29(3일차)  (2) 2023.12.29
12_27(1일차)  (1) 2023.12.27