개발자로 가는길 :: 'eclipse' 태그의 글 목록
반응형

eclipse에 해당하는 글
반응형
8

Oracle DB + Java(eclipse) (사용자에게 입력받아 sql문 입력)

728x90
반응형
package database;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.util.Scanner;

public class UpdateJava2 {
	public static void main(String[] args) {
		Connection con = null;
		PreparedStatement pstmt =null;
		Scanner sc = new Scanner(System.in);
		
		try {
			Class.forName("oracle.jdbc.OracleDriver");
			String url= "jdbc:oracle:thin:@localhost:1521:xe";
			String user = "scott";
			String password = "TIGER";
			
			con = DriverManager.getConnection(url,user,password);
			// 부서번호가 55번 dname 을 WEB으로 변경
			System.out.println("부서코드 입력해주세요 >>");
			int deptno = sc.nextInt();
			System.out.println("부서명을 입력해주세요 >>");
			//next , nextLine -  둘다 String 으로 처리
			//nextLine - 은 줄단위로 읽기 (enter 까지 읽는다)
			//next enter - 직전까지 읽는다.
			String dname = sc.next();
			String sql = "update dept_temp set dname = ? where deptno = ?";
			
			pstmt = con.prepareStatement(sql);
			pstmt.setString(1, dname);
			pstmt.setInt(2 , deptno);
			
			
			int result = pstmt.executeUpdate();
			
			if(result>0) {
				System.out.println("Update successfull");
			}
					
		} catch (Exception e) {
			e.printStackTrace();
		}
		finally {
			try {
				pstmt.close();
				con.close()
				;
			
			} catch (Exception e2) {
				e2.printStackTrace();
			}
		}
	}
}
728x90
반응형

댓글()

git revert , git reset

728x90
반응형

git revert 직전커밋 : 직전 커밋 삭제 / 커밋메세지는 남게됨(삭제 이력이 남음 ) / 커밋과 관련된 내용 삭제

 

이력이 남지 않음

git reset --soft 돌아갈 커밋 : 커밋 삭제 / 소스는 남음 / Stage에 파일이 남게 됨 / 

git reset  --mixed 돌아갈 커밋 :  이후 커밋 삭제 / 소수는 남음  / Unstage 에 파일이 남게 됨 /

(*주의*)git reset  --hard  돌아갈 커밋 : 이후 커밋 삭제 / 소스 삭제

728x90
반응형

댓글()

Java.io 설명과 , 예시

728x90
반응형

java.io는 입력/출력(I/O) 작업을 수행하기 위한 클래스를 제공하는 Java 패키지입니다. 패키지에는 파일, 네트워크 소켓 및 기타 입력/출력 소스를 읽고 쓰기 위한 클래스가 포함되어 있습니다. java.io에서 가장 일반적으로 사용되는 클래스는 다음과 같습니다.

  1. FileInputStream 및 FileOutputStream - 파일에서 이진 데이터를 읽고 쓰는 데 사용됩니다.
  2. FileReader 및 FileWriter - 파일에서 문자 데이터를 읽고 쓰는 데 사용됩니다.
  3. BufferedReader 및 BufferedWriter - 성능 향상을 위해 입력 및 출력을 버퍼링하는 데 사용됩니다.
  4. DataInputStream 및 DataOutputStream - 기본 데이터 유형을 이진 값으로 읽고 쓰는 데 사용됩니다.
  5. ObjectInputStream 및 ObjectOutputStream - 개체를 이진 값으로 읽고 쓰는 데 사용됩니다.

다음은 이러한 클래스를 사용하는 방법에 대한 몇 가지 예입니다.

  1. FileInputStream 및 FileOutputStream:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class Main {
  public static void main(String[] args) {
    try {
      FileInputStream input = new FileInputStream("input.bin");
      FileOutputStream output = new FileOutputStream("output.bin");
      byte[] buffer = new byte[1024];
      int bytesRead;
      while ((bytesRead = input.read(buffer)) != -1) {
        output.write(buffer, 0, bytesRead);
      }
      input.close();
      output.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

위의 예에서는 "input.bin"이라는 파일에서 이진 데이터를 읽는 FileInputStream 개체와 "output.bin"이라는 파일에 이진 데이터를 쓰는 FileOutputStream 개체를 만듭니다. 그런 다음 'buffer'라는 바이트 배열을 만들어 입력 파일에서 읽은 데이터를 보관하고 while 루프를 사용하여 한 번에 1024바이트 단위로 데이터를 읽습니다. 그런 다음 FileOutputStream 개체의 write() 메서드를 사용하여 각 데이터 청크를 출력 파일에 씁니다. 마지막으로 close() 메서드를 사용하여 두 파일을 모두 닫습니다.

 

반응형

2.FileReader 및 FileWriter:

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class Main {
  public static void main(String[] args) {
    try {
      FileReader reader = new FileReader("input.txt");
      FileWriter writer = new FileWriter("output.txt");
      int c;
      while ((c = reader.read()) != -1) {
        writer.write(c);
      }
      reader.close();
      writer.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

 

위의 예에서는 "input.txt"라는 파일에서 문자 데이터를 읽는 FileReader 개체와 "output.txt"라는 파일에 문자 데이터를 쓰는 FileWriter 개체를 만듭니다. 그런 다음 while 루프를 사용하여 FileReader 객체의 read() 메서드를 사용하여 입력 파일에서 각 문자를 읽고 FileWriter 객체의 write() 메서드를 사용하여 출력 파일에 씁니다. . 마지막으로 close() 메서드를 사용하여 두 파일을 모두 닫습니다.

 

3.BufferedReader 및 BufferedWriter:

 

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class Main {
  public static void main(String[] args) {
    try {
      FileReader reader = new FileReader("input.txt");
      BufferedReader bufferedReader = new BufferedReader(reader);
      FileWriter writer = new FileWriter("output.txt");
      BufferedWriter bufferedWriter = new BufferedWriter(writer);
      String line;
      while ((line = bufferedReader.readLine()) != null) {
        bufferedWriter.write(line);
        bufferedWriter.newLine();
      }
      bufferedReader.close();
      bufferedWriter.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
728x90
반응형

'개발 > K-DigitalTraining 수강중' 카테고리의 다른 글

Git 사용법 2 ( GitHub 연동 )  (0) 2023.03.16
Git사용법 1 ( Git 설치->기본설정 -> 기본 명령어)  (0) 2023.03.15
Java Map interface  (0) 2023.03.13
Java Collection framework(List)  (0) 2023.03.10
Java LocalDate  (0) 2023.03.10

댓글()

Java Map interface

728x90
반응형

Java 맵은 각 키가 값과 연결된 키-값 쌍의 모음입니다. 해당 키를 기반으로 값을 저장하고 검색할 수 있습니다.

 

단어가 키이고 정의가 값인 사전으로 지도를 생각하십시오. 키를 검색하여 사전에서 단어의 정의를 찾는 방법과 마찬가지로 Java 맵에서 키와 연결된 값을 검색할 수 있습니다.

 

맵은 일반적으로 값 발생 횟수 계산, 구성 저장 및 결과 캐싱과 같은 작업에 사용됩니다.

Java 맵 구현의 일부 예로는 HashMap, TreeMap 및 LinkedHashMap이 있습니다

import java.util.HashMap;

public class MapExample {
    public static void main(String[] args) {
        // Create a new HashMap
        HashMap<String, Integer> map = new HashMap<>();

        // Add some key-value pairs
        map.put("apple", 1);
        map.put("banana", 2);
        map.put("orange", 3);

        // Retrieve values based on their keys
        int appleCount = map.get("apple");
        int bananaCount = map.get("banana");

        // Print the values
        System.out.println("Number of apples: " + appleCount);
        System.out.println("Number of bananas: " + bananaCount);
    }
}

 

728x90
반응형

'개발 > K-DigitalTraining 수강중' 카테고리의 다른 글

Git사용법 1 ( Git 설치->기본설정 -> 기본 명령어)  (0) 2023.03.15
Java.io 설명과 , 예시  (0) 2023.03.14
Java Collection framework(List)  (0) 2023.03.10
Java LocalDate  (0) 2023.03.10
Java SimpleDateFormat  (0) 2023.03.10

댓글()

3/9 Java 인강 공부(feat.chatGPT)

개발/파이썬|2023. 3. 9. 09:00
728x90
반응형

아침에 일어나자 마자 하는 공부는 집중이 쉽지 않고

오늘 범위가 연산자 부분이어서 이전에 이해하고 넘어간 부분이라 강의만 쭉 듣고 챗gpt 로 정리 하려고 한다

오늘 강의가 2시간 짜리라 다 듣진 못했다. (수업종료후 파이썬 강의듣기전 듣고 넘어갈 예정이다)

 

chatGPT 의 연산자 강의

 

확신하는! Java 연산자는 하나 이상의 피연산자에 대해 특정 작업을 수행하는 기호 또는 키워드입니다. 다음은 일반적으로 사용되는 몇 가지 Java 연산자와 작동 방식입니다.

  1. 산술 연산자: 더하기, 빼기, 곱하기, 나누기와 같은 산술 연산을 수행하는 데 사용됩니다. 이러한 작업에 사용되는 기호는 다음과 같습니다.
  • +(더하기)
  • -(빼기)
  • *(곱하기)
  • /(나누기)
  • % (모듈로 또는 나머지)

예:

int a = 10;
int b = 3;
int sum = a + b; // sum = 13
int diff = a - b; // diff = 7
int product = a * b; // product = 30
int quotient = a / b; // quotient = 3
int remainder = a % b; // remainder = 1

2. 할당 연산자: 변수에 값을 할당하는 데 사용됩니다. 이러한 작업에 사용되는 기호는 다음과 같습니다.

  • =(단순 할당)
  • += (더하기 대입)
  • -=(빼기 대입)
  • *= (곱셈 대입)
  • /= (나누기 할당)
  • %= (모듈로 할당)

예:

int a = 10;
a += 5; // a = a + 5; a = 15
a -= 3; // a = a - 3; a = 12
a *= 2; // a = a * 2; a = 24
a /= 4; // a = a / 4; a = 6
a %= 2; // a = a % 2; a = 0

 

3.비교 연산자: 값을 비교하고 부울 값(true 또는 false)을 반환하는 데 사용됩니다. 이러한 작업에 사용되는 기호는 다음과 같습니다.

  • ==(같음)
  • !=(같지 않음)
  • >(보다 큼)
  • <(미만)
  • >=(크거나 같음)
  • <=(작거나 같음)

예:

int a = 10;
int b = 5;
boolean result1 = a == b; // result1 = false
boolean result2 = a != b; // result2 = true
boolean result3 = a > b; // result3 = true
boolean result4 = a < b; // result4 = false
boolean result5 = a >= b; // result5 = true
boolean result6 = a <= b; // result6 = false

4.논리 연산자: 부울 값에 대한 논리 연산을 수행하고 부울 값을 반환하는 데 사용됩니다. 이러한 작업에 사용되는 기호는 다음과 같습니다.

  • &&(논리적 and)
  • ||(논리적 or)
  • !(논리적 아님)

예:

boolean a = true;
boolean b = false;
boolean result1 = a && b; // result1 = false
boolean result2 = a || b; // result2 = true
boolean result3 = !a; // result3 = false

이들은 Java의 기본 연산자입니다. 비트 연산자, 삼항 연산자 등과 같은 다른 연산자도 많이 있지만 이러한 기본 연산자를 이해하면 작업하기에 좋은 기반이 됩니다.

 

커뮤니티 게시글 보다보면 chatGPT 멍청하다 뭐하다 그런글 많던데 적어도 개발언어 분야에서 내가하는 수준까지는 만족할만한 답변이 나온다.

 

728x90
반응형

'개발 > 파이썬' 카테고리의 다른 글

Python 인강 day 8 / day 100  (1) 2023.03.13
3/9 Python 인강 Day 7 / Day 100  (0) 2023.03.09
3/8 Python 인강 Day 6 / Day 100  (0) 2023.03.08
3/8 Java 인강 공부 (feat . chatGPT)  (0) 2023.03.08
3/7 Python 인강 Day 5 / Day 100  (0) 2023.03.07

댓글()

3/2 자바 수업 (상속)

728x90
반응형

1교시

 

작성한 클래스

package ch6;

public class Student2 {
	//학생이름 name 
	//반 ban 
	//번호 no
	//국어점수 kor
	//영어점수 eng
	//수학점수 math
	String name;
	int ban;
	int no;
	int kor;
	int eng;
	int math;
	
	
	public Student2(int kor, int eng, int math) {
		super();
		this.kor = kor;
		this.eng = eng;
		this.math = math;
	}

	public Student2(String name, int ban, int no) {
		super();
		this.name = name;
		this.ban = ban;
		this.no = no;
	}

	public Student2(String name, int ban, int no, 
			int kor,int eng, int math) {
		super();
		this.name = name;
		this.ban = ban;
		this.no = no;
		this.kor = kor;
		this.eng = eng;
		this.math = math;
	}
	
	int getTotal() {
		return this.kor+this.eng+this.math;
		
	}
	double getAverage() {
		return getTotal() / 3.0;
	}
	
	public Student2(String name) {
		super();
		this.name = name;
	}

	@Override
	public String toString() {
		return "Student2 [name=" + name + ", ban=" + ban + ", no=" + no + ", kor=" + kor + ", eng=" + eng + ", math="
				+ math + "]";
	}
	
	
		
}

를 이용해 학생정보 작성하기

package ch6;

import java.util.Scanner;

public class StudentEx3 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		
		System.out.println("이름: ");
		String name = sc.nextLine();
		System.out.println("반 : ");
		int ban = Integer.parseInt(sc.nextLine());
		System.out.println("번호 : ");
		int no = Integer.parseInt(sc.nextLine());
		System.out.println("국어 : ");
		int kor = Integer.parseInt(sc.nextLine());
		System.out.println("영어 : ");
		int eng = Integer.parseInt(sc.nextLine());
		System.out.println("수학 : ");
		int math = Integer.parseInt(sc.nextLine());
		
		Student2 student = new Student2(name, ban, no, kor, eng, math);
		
		System.out.println(student);

	}

}

2교시

 

package ch6;

//상품 관리

public class GoodsStock {
	//속성
	
	String code;	//상품코드
	int stockNum;	//재고수량
	//생성자를 명시하지 않으면
	//기본생성자를 생성해줌

	public GoodsStock(String code, int stockNum) {
		super();
		this.code = code;
		this.stockNum = stockNum;
	}
	
	//기능
	//재고수량 감소
	void addStock() {
		System.out.println("재고수량 증가");
	}
	
	//재고수량 증가
	void subtractStock() {
		System.out.println("재고수량 감소");
		
	}

	@Override
	public String toString() {
		return "GoodsStock [code=" + code + ", stockNum=" + stockNum + "]";
	}

}
package ch6;

import java.util.Scanner;

public class GoodStockEx2 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		
//		System.out.println("코드를 입력해주세요>>");
//		String code = sc.nextLine();
//		System.out.println("재고수량 입력해주세요>>");
//		int stockNum =Integer.parseInt(sc.nextLine());
//		
//		GoodsStock stock = new GoodsStock(code, stockNum);
//		System.out.println(stock);
		
		//3개의 상품에 대해서 인스턴스를 생성해야 한다면?
		
		GoodsStock[] goods = new GoodsStock[3];
		for (int i = 0; i < goods.length; i++) {
			System.out.println("코드를 입력해주세요>>");
			String code = sc.nextLine();
			System.out.println("재고수량 입력해주세요>>");
			int stockNum =Integer.parseInt(sc.nextLine());
			goods[i] = new GoodsStock(code, stockNum);
			System.out.println("-----------------------");
		}
		for (int i = 0; i < goods.length; i++) {
			System.out.println(goods[i]);
		}
		
		
		
	}

}

며칠째 같은내용을 반복해서 하니 졸리다...

기초가 중요하다곤 하지만 이렇게 공부하는게 맞는걸까..? 하면할수록 그냥 귀찮다는 생각밖에 안든다.

 


3교시

 

/* 상속
 * 기존의 클래스를 재사용하여 새로운 클래스를 작성
 * 상성 장점
 * 1)적은 양의 코드로 새로운 클래스를 작성할 수 있음
 * 2)코드를 공통적으로 관리하기 때문에 추가 및 변경이 용이함
 * 
 * extends : 상속을 표현
 * 
 * 상속대상
 * 1)자손 클래스는 조상 클래스의 모든 멤버를 상송받음 (단, 생성자와 초기화 블럭은 상속 안됨)
 * 2)자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많음- 
 */

 

 


4교시

package inheritense;

public class Tv {
	boolean power;
	int channel;
	
	void power() {
		power =! power;
		
	}
	void channelUp() {
		channel ++;
		
	}
	void channelDown() {
		channel --;
		
	}
}
package inheritense;

//Tv 클래스를 상속받은 SmartTv
public class SmartTv extends Tv {
	boolean caption;
	
	void displayCaption(String text) {
		System.out.println(text);
	}
}
package inheritense;

public class SmartTvEx1 {

	public static void main(String[] args) {
		SmartTv stv = new SmartTv();
		//상속여부 확인
		stv.channel = 10;
		stv.channelUp();
		System.out.println("현재채널" + stv.channel);
		
		stv.power();
		System.out.println("전원 상태 "+ stv.power);
		
		stv.displayCaption("Hello world");
		stv.caption = true;
		stv.displayCaption("hello world");
		
	}

}


5교시

//this() : 생성자에서 다른 생성자를 호출시
//, this.변수명 : 자기자신
//super() : 생성자에서 부모 생성자를 호출 시
//, super.변수명 : 부모


6교시

 

클래스 작성시 부모를 지정하지 않으면 최상위 부모는 Object 클래스가 존재함

이걸 만들 예정

package Exam;

public class Account {
	private String ano;
	private String owner;
	private String balance;
	
	public Account(String ano, String owner, String balance) {
		super();
		this.ano = ano;
		this.owner = owner;
		this.balance = balance;
	}

	public String getAno() {
		return ano;
	}

	public void setAno(String ano) {
		this.ano = ano;
	}

	public String getOwner() {
		return owner;
	}

	public void setOwner(String owner) {
		this.owner = owner;
	}

	public String getBalance() {
		return balance;
	}

	public void setBalance(String balance) {
		this.balance = balance;
	} 
	
	
	
}

Account 클래스 생성


6교시

7교시

8교시

9교시

 

BankApp 클래스 작성중

 

복잡하다 복잡해 @@

728x90
반응형

댓글()