데일리로그C:
article thumbnail

<1교시 자바 start!>

oracle.com 에서 JDK 설치(8버전으로)

이클립스 설치: 자바에 최적화 되어있음 ( 이클립스 이름 변경 - Eclipse 2022-12_SE )

c드라이브에 java 폴더 생성 --> eclipse 저장경로 java 폴더로 설정

이클립스 실행

 

file-new-java project 생성(폴더)
src 우측 클릭 
  --> new - package(폴더 안에 "폴더" 생성)
  --> new - class( 확장자 만들기) : 대문자로 시작
         ㄴ> main 메소드 체크 못했다면 : main + ctrl + 스페이스바 --> 맨위

 

<2교시>

파일명 이름 앞에 * 적혀있으면 저장안되어있음을 의미

파일명 변경 : 우클릭 - refacter - rename

저장하고 run (재생버튼) 누르기 : ctrl+ F11

실행구문은 main 메소드 안에 넣기

 

System.out.print(" " ) ; --> 실행구문 자동입력 : syso 입력 + ctrl + 스페이스바

                   

<출력>

1. print : 엔터 없이 그냥 출력

2. println : 엔터 포함해서 출력

3. printf : ( "문자열", 값1, 값2.. ) ; 구조로 사용


메소드와 메소드는 형제개념으로 만들어야함(메소드 안에 메소드 X)
(  ㄴ> 전역변수 ./ 지역변수 / 전역변수 경우 -->  지역변수는 해당 X )

 

한줄 주석 // 
영역 주석 /* */ ( ctrl + shift + / ) 

무조건 먼저 변수로 타입을 선언해야함

1) 타입 선언
  --> 정수 형태 : int (숫자형태로만 받음)
  --> 실수 형태 : double
  --> 문자열 : String   " "

  --> 문자 :  char   ' ' 

2) 변수명
 --> 숫자로 시작 X
 --> 예약어 금지
 --> 대소문자 구분함

 

<3교시>

변수에 변수 대입 [Ex03.java]

' ' : 문자 --> char 에 적을 때 
" " : 문자열 


<4교시>

"나는 \"자바\"를 좋아한다."  --> 나는 "자바"를 좋아한다. ( 따옴표를 추가하고싶다면 역슬레시 사용)

"a\tb\tc" --> a        b         c 
  ㄴ> \t : 탭 만큼 띄워라

"a\tb\tc\nd" --> a     b     c
                        d
  ㄴ> \n : 엔터해라 = <br>

float(실수)는 F 붙여야함 (사용x)

무한반복되는거 멈출려면 console 창 오른쪽에 정지버튼 누르기

 

<5교시>

기본타입 : byte < short < int < long < float < double 순임

 

타입 변환

1. 자동타입변환

  -->  큰 타입 = 작은 타입  : 우 -> 좌 대입 일때 발생

  --> 실수 타입 = 정수 타입  : 정수가 실수 될 때  발생

  -->  int(큰) = char(작은) :  유니코드값이 저장

  --> byte(작은) = char(큰) :  변환 불가능

 

2. 강제타입변환 : 큰걸 작은걸로 나눠서 저장

  --> 작은 = (작은으로 강제형 변환) 큰 

double --> int   : int = (int) double  "정수로 출력"
int  --> char      : char = (char) int  "문자로 출력"
int  --> byte      : byte = (byte)int

3. 정수(int) --> 실수 타입으로 변환

double = (double) 정수;

int x = 1;
int y = 2;
1) double result = (double) x / y ;
2) double result = x / (double)y ;
3) double result = (double)x / (double)y ; 

 

4. 문자열(String) 타입 변환

1) String --> int     : int = Integer.parseInt(  ); 

2) String --> double  : double = Double.parseDouble(  );

 

5.  기본타입 --> 문자열 변환

String = string.valueOf(  );

 

수식 대입하고자 한다면 무조건 타입은 int 이상으로!!!

char = 'A' --> 65
char = 'a' --> 97

 

<6교시>

System.out.printf( "문자열", 값1, 값2..); 형식으로 구성 

 ㄴ> 첫번째 속성 "문자열"에 들어가는 값  : 문자열이면 %s   /  int라면 %d   /  실수라면 %f  

 ㄴ> 문자열 6자리 _ _ _*** 형식을 원한다면 : printf ( %6s, "*" )

 

scanner 변수
Sca 입력 후 ctrl + 스페이스바 --> import 생성됨

Scanner 변수명 = new Scanner(System.in); 기본 구문
 ㄴ> System.in : 매개변수 (키보드 입력값)
 ㄴ> new Scaaner : 생성자

숫자 비교 할 때 ==
문자 비교 할 때  ㅁ.equals( " " )

 

<7교시>

<8교시>

메소드 , 변수명은 무조건 소문자 시작
class 파일명은 대문자로 시작

자바에서는 반복문 할때 무조건 선언 포함시킬 것  (ex)  for( int i = 1; i <=10; i++)

 

Scanner sc = new Scanner(System.in);   

String a = sc.nextLine( );  --------> 무조건 문자열로 인식
int b = Integer.parseInt( sc.nextLine( ) );    -------> int 형식으로 인식
Double b = Double.parseDouble( sc.nextLine( ) );    --------> double 형식으로 인식

nextLine( ) --> 사용자 입력값 받는 함수

 

 

package ex01;

public class Hello {

	public static void main(String[] args) {
		System.out.print("hello 안녕");
		System.out.println("hello 안녕");
		System.out.print("hello 안녕");
		
		//int x;  변수 선언부터
		//x = 1; 초기화
		//int x = 1; 선언 및 초기화
		
		int x = 1;
		int y = 2;
		int z = x + y;
		System.out.println(z);		
	}
}

 

package ex02;

public class Ex01 {
	public static void main(String[] args) {
		String age = "1"; // 정수
		// double value;  // 실수
		int a,b,c;
	}
}

 

package ex02;

public class Ex02 {
	public static void main(String[] args) {
		int h=3;
		int m=5;
		System.out.println(h+"시 "+m+"분");
		
		int tm = (h*60) + m;
		System.out.println("총 "+tm+"분");
	}
}

 

package ex02;

public class Ex03 {
	public static void main(String[] args) {
		// 전역변수, 지역변수 차이 알자.
		/*
		int v1 = 15; // 전역변수
		int v2; 
		if(v1 > 10) { // 전역변수
			//int v2;
			v2 = v1 - 10;  // 5  지역변수
		} else {
			v2 = 0;
		}
		int v3 = v1 + v2 + 5;   // 전역변수(지역변수이므로 v2 알수없음)
		*/
		
		int v1 = 15; // 전역변수
		int v2=0; // else 쓰지않는다면 0으로 초기화시켜야함
		if(v1 > 10) { // 전역변수
			
			v2 = v1 - 10;  // 5  지역변수
		} 
		int v3 = v1 + v2 + 5;   // 전역변수(지역변수이므로 v2 알수없음)
	}
}

 

package ex02;

public class Ex04 {

	public static void main(String[] args) {
		byte a=127;  // -128 ~ 0 ~ 127까지
		short b=32767;  // -32,768 ~ 0 ~ 32,767까지
		char c='1';  // 0 ~ 65,535까지 양수값만 or 문자도 가능  --> 작은따옴표로 해야 숫자로 나옴
		int d = 1; // 주로 사용!!
		long e = 1000000000000000L ; // L 붙이기
		System.out.println(d);
	}
}

 

package ex02;

public class Page61 {

	public static void main(String[] args) {
		byte v1 = -126;
		byte v2 = -30;
		byte v3 = 0;
		byte v4 = 30;
		byte v5 = 127;
		// byte v6 = 128;  오류 남
		
		// byte sum = v2 + v3; 오류남
		byte v6 = -30 + 0;
		int sum = v2 + v3;  // 규칙 : 변수하나라도 있다면 int 로 받아야함
		
	}
}

 

package ex02;

public class Page63 {

	public static void main(String[] args) {
		char v1 = 'A';
		char v2 = 'B';
		char v3 = '가';
		char v4 = '나';
		
		//int v5=65; 
		// int v5='A' // 유니코드(  아스키코드  )
		int v6=v1;
		
		//char v6 = (char)((int)v1 + 1); // char(65+1) = char(66) = B
		
		System.out.println(v1);  // A
		System.out.println((int)v1); // 65
		//System.out.println(v5); //65
		//System.out.println((char)v5); // A
		System.out.println(v6); // 65
	}
}

 

package ex02;

public class Page64 {

	public static void main(String[] args) {
		char v1 = 'A'; // 문자
		String v2 = "A"; // 문자열
		String str = "나는 \"자바\"를 좋아한다.";
		String str2 = "a\tb\tc\nd"; // \t : 탭 영역, \n : 엔터 

		
		System.out.println(str+"\n");
		System.out.println(str2);
	}
}

 

package ex02;

public class Page66 {

	public static void main(String[] args) {
		// 실수
		float a = 0.1234526789f;
		double b = 0.123456789;  // 사용!!
		
		if(a == b) {
			System.out.println("값이 같다");
		} else {
			System.out.println("값이 다르다");  // 다르다고 나옴
		}
	}
}

 

package ex02;

public class Page69 {

	public static void main(String[] args) {
		boolean stop = true;  // 전역변수
		
		while(stop) {
			System.out.println("한번만 실행");
			stop = false;  // 지역변수
		}
	}
}

 

package ex02;

public class Page73 {

	public static void main(String[] args) {
		byte a= 10;
		byte b = a; // 가능
		// byte b = a + 1 ; // 오류남
		//int b = a; 가능 (int 안에 작은 byte 를 넣음 : 자동형 변환)
		
		int c = 10;
		byte d = (byte)c; // 강제성 변환(큰 int를 작은 byte로)
		
		////////////////////////////////////////////////////////
		
		int i = 33;
		// char j = i; 오류(char < int 이므로 강제변환 해야함)
		char j = (char)i;	
		System.err.println(j);  // !
		
		////////////////////////////////////////////////////////
		
		int x = 5;
		int y = 6;
		short z = 7;
		int result = x + y;
		//short result1 = x + z;  오류 (수식을 대입한다면 무조건 int로 해야함)
		
		float aa = 1.0f + 2.0f;
		
		
		/////page80/////////////////////////////////////////////////////
		int xx = 10;
		int yy = 4;
		int zz = xx / yy;
		double zzz = xx / yy;  // 소수점을 원한다면 둘중 하나라도 (double)변환 해줘야함
		System.out.println(zz); // 2
		System.out.println(zzz); // 2.0
		
		/////page81 11~16/////////////////////////////////////////////////////
		char cv1 = 'A';
		char cv2 = 1;
		char cv3 = (char)((int)cv1 + cv2);
		
		////page81 18~20/////////////////////////////////////////////////////
		int iv = 10;
		double iv2 = iv / 4.0; // int iv2 = iv / 4; (둘중에 하나를 int 처리)

	}
}

 

package ex02;

public class Page83 {

	public static void main(String[] args) {
		String str = "10";
		
		int a = Integer.parseInt(str);  // str 을 int형태로 변경 (정수인 경우)
		short b = Short.parseShort(str);
		byte c = Byte.parseByte(str);
		float d = Float.parseFloat(str);
		double e = Double.parseDouble(str);  // str을 double 형태로 변경 (실수인 경우)
		
		// int result = str + 10;
		int result = a + 10; // 20
	}
}

 

package ex02;

public class Page90 {

	public static void main(String[] args) {
		// System.out.printf("문자열", 값1, 값2..);
		
		String name = "홍길동";
		int age = 22;
		
		System.out.printf("이름: " + name + " 나이: " + age);
		System.out.println();  // <br> 역할
		System.out.printf("이름: %s 나이: %d", name, age);  // 문자열은 %s int는 %d
		System.out.println();
		//System.out.printf(("이름: %1$s 나이: %2$d", name, age);  //1$ : 1번째 값
	}
}

 

package ex02;

import java.util.Scanner;

public class Page95 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);  // console 에 입력한 값을
		
		System.out.print("키보드 입력: ");
		
		String str = sc.nextLine();  // 받아서
		
		System.out.println(str);  // 다시 출력

	}

}

 

package ex02;

import java.util.Scanner;

public class Page96 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String str;  
		
		while(true) {
			System.out.print("입력: ");  
			str = sc.nextLine();  // q가 나올때까지 반복하여 입력값 받음
			if(str.equals("q")) { 
				System.out.println("종료");  // q가 나왔다면 "종료" 출력하고 while문 빠져나옴
				break;
			}
		}

	}

}

 

package ex02;

public class Q07 {

	public static void main(String[] args) {
		int x = 5;
		int y = 2;
		double result = x / (double)y;    // 정수를 실수로 변환
		
		System.out.println(result);  // 2.5

	}

}

 

package ex02;

public class Q08 {

	public static void main(String[] args) {
		double v1 = 3.5;
		double v2 = 2.7;
		
		//int result = (int)v1 + (int)v2; // 3 + 2 = 5
		int result = (int)(v1 + v2); // (int) 6.2 = 6
		
		System.out.println(result); 
	}
}

 

package ex02;

public class Q09 {

	public static void main(String[] args) {
    	// result = 9가 되도록
		long v1 = 2L;
		float v2 = 1.8f;
		double v3 = 2.5;
		String v4 = "3.9";
		int result = ((int)(v1 + v2 + v3))+(int)Double.parseDouble(v4);
        // (int)6.3 + 3 = 6 + 3 = 9
		
		// int result1 = (int)Double.parseDouble(v4);  // 3(실수를 정수로)
		
		System.out.println(result);

	}

}

 

package ex02;

public class Q001 {

	public static void main(String[] args) {
		String name = "감자바";
		int age = 25;
		String tel1 = "010", tel2 = "123", tel3 = "4567";
		System.out.println("이름: " +name);
		System.out.print("나이: " + age +"\n");
		System.out.printf("전화: %s-%s-%s", tel1, tel2, tel3);

	}

}

 

package ex02;

import java.util.Scanner;

public class Q002 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);  // 입력값은 무조건 문자열임
		
		System.out.print("첫번째 수: ");
		String str1 = sc.nextLine();  
		
		System.out.print("두번째 수: ");
		String str2 = sc.nextLine();
		
		int num1 = Integer.parseInt(str1);  // 문자열을 정수로 변환
		int num2 = Integer.parseInt(str2);
		int result = num1 + num2;
		System.out.println("덧셈 결과: " + result);
	}
}

 

package ex02;

import java.util.Scanner;

public class Q003 {

	public static void main(String[] args) {
		System.out.println("[필수 정보 입력]");
		
		Scanner sc = new Scanner(System.in);
		
		System.out.print("1. 이름: ");  // 1. 이름: 적히고 바로 옆에 
		String str1 = sc.nextLine();  // 입력값 적고 
		
		System.out.print("2. 주민번호 앞 6자리: "); 
		String str2 = sc.nextLine();
		
		System.out.print("3. 전화번호: ");
		String str3 = sc.nextLine();
		
		System.out.println();
		System.out.println("[입력한 내용]");
		System.out.println(str1);
		System.out.println(str2);
		System.out.println(str3);
	}
}

 

package ex02;

import java.util.Scanner;

public class Q004 {

	public static void main(String[] args) {
		// 두개의 숫자를 받아 사칙연산의 결과를 출력하시오.
		
		/* 
        // int로 했을 때 문제점 : 나누기에서 소수점이 안나옴
		System.out.println("[사칙연산]");
		
		Scanner sc = new Scanner(System.in);
		
		System.out.print("첫번째 수: ");
		String num1 = sc.nextLine();
		
		System.out.print("두번째 수: ");
		String num2 = sc.nextLine();
		
		System.out.println();
		System.out.println("[답안지]");
		
		System.out.println("더하기: " + (Integer.parseInt(num1) + Integer.parseInt(num2))); 
		System.out.println("빼기: " + (Integer.parseInt(num1) - Integer.parseInt(num2))); 
		System.out.println("곱하기: " + (Integer.parseInt(num1) * Integer.parseInt(num2))); 
		System.out.println("나누기: " + (Integer.parseInt(num1) / Integer.parseInt(num2))); 
		*/ 
		
        
		System.out.println("[사칙연산]");
		
		Scanner sc = new Scanner(System.in);
		
		System.out.print("첫번째 수: ");
		Double num1 = Double.parseDouble(sc.nextLine());
		
		System.out.print("두번째 수: ");
		Double num2 = Double.parseDouble(sc.nextLine());
		
		System.out.println();
		System.out.println("[답안지]");
		
		System.out.println("더하기: " + (num1+num2)); 
		System.out.println("빼기: " + (num1-num2)); 
		System.out.println("곱하기: " + (num1*num2)); 
		System.out.println("나누기: " + (num1/num2)); 	
	}
}

 

package ex02;

import java.util.Scanner;

public class Q005 {

	public static void main(String[] args) {
		// 키보드 입력 받아 피라미드를 구현하시오.(왼쪽정렬)
		
		Scanner sc = new Scanner(System.in);
		
		System.out.println("[피라미드 만들기]");
		
		System.out.print("몇 층? ");
		int tr = Integer.parseInt(sc.nextLine());
		
		System.out.println();
		System.out.println("[완성본]");
		
		//System.out.println(); 피라미드 생성
		
		for(int i=1; i<=tr; i++) { //층
			for(int j=1; j<=i; j++ ) { // 방
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

 

profile

데일리로그C:

@망밍

포스팅이 도움됐다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...