JAVA 학습 노트 (첫 주)
이전에 Python 을 배 웠 기 때문에 자바 가 비교적 빠 릅 니 다. 이번 주 에 대체적으로 자바 를 한 번 보 았 습 니 다.마침 선생님 도 우리 가 자신의 학습 과정 을 기록 하 기 를 원 하 셨 다.이번 주 공부 매듭 만 짓 자.
자바 의 특징
1. 완전한 대상 과 단순 성 2. 플랫폼 무관 성 3. 안전성 과 신뢰성 4. 병발 과 분포 식 컴 퓨 팅 지원 5. 효율 적 인 네트워크 프로 그래 밍 메커니즘
플랫폼 의 무관 성: 크로스 플랫폼 성 이 라 고도 부 르 는데 프로그램 이 수정 되 지 않 고 서로 다른 소프트 하드웨어 플랫폼 에서 정확하게 운행 할 수 있다 는 것 을 말한다.자바 가 크로스 플랫폼 을 실현 하 는 데 는 두 가지 관건 적 인 요소 가 있다. 가상 컴퓨터 와 바이트 코드 이다.가상 컴퓨터 는 자바 명령 을 만 드 는 해석 기 이다.서로 다른 플랫폼 의 가상 컴퓨터 는 다르다.바이트 코드 는 가상 컴퓨터 가 실행 하 는 중간 코드 로 명령 은 바이트 (바 이 너 리 가 아 닌) 형식 으로 나타난다.바이트 코드 의 가장 큰 특징 은 형식 통일 이다.이렇게 하면 서로 다른 컴 파일 러 는 형식 이 통 일 된 바이트 코드 를 만 듭 니 다.이 동시에 서로 다른 가상 컴퓨터 는 바이트 코드 에 대해 통 일 된 해석 을 하고 실행 하기 전에 처 한 소프트 하드웨어 플랫폼 에 따라 즉시 적당 한 바 이 너 리 코드 를 생 성 할 수 있다.이렇게 하면 크로스 플랫폼 수 요 를 쉽게 실현 할 수 있다.
환경 변수의 설정
PATH:C:\Program Files\Java\jdk1.8.0_121 CLASSPATH:C:\Program Files\Java\jdk1.8.0_121\lib
기본 문법:
대체로 문법 은 C 언어 와 통한다.가장 큰 느낌 이 다른 것 은 바로 입력 문 이다.먼저 java. util 의 Scanner 클래스 를 가 져 온 다음 대상 을 실례 화하 고 대상 의 방법 을 통 해 입력 을 실현 해 야 합 니 다. C 언어 나 Python 처럼 어떤 함 수 를 사용 해서 이 동작 을 수행 하 는 것 이 아 닙 니 다.
import java.util.*;
public class Input{
public static void main(String[] args){
Scanner input = new Scanner();
String name = input.nextLine(); //
Integer id = input.nextInt(); //
}
}
대상 을 향 하 다
대상 을 대상 으로 하 는 이 부분 은 Python 과 대동소이 합 니 다. 클래스 의 인 스 턴 스 를 만 들 때 기본 호출 클래스 의 구조 함수 로 대상 을 초기 화 하 는 데 사 용 됩 니 다.
public class Person{
private static String country = "China";
private String name;
private Integer age;
public Person(String name, Integer age){
this.name = name;
this.age = age;
}
}
정 의 된 Person 클래스 에서 name 과 age 는 인 스 턴 스 속성 이 고 static 가 수식 하 는 country 는 클래스 의 속성 입 니 다.클래스 속성 은 사용 할 때 클래스 이름, 이름 의 방법 을 통 해 직접 사용 할 수 있 으 며, 인 스 턴 스 속성 은 대상 을 예화 해 야 사용 할 수 있 습 니 다.클래스 의 속성 은 공 유 된 것 입 니 다. 즉, 몇 개의 대상 을 예화 하 든 그 속성의 메모리 에는 한 개 만 있 고 대상 의 증가 로 인해 증가 하지 않 습 니 다.
무 거 운 짐
자바 와 막 접촉 하 는 과정 에서 기본 매개 변 수 를 지원 하지 않 는 다 는 것 을 알 게 되 었 습 니 다. Python 에서 저 는 이렇게 함 수 를 사용 할 수 있 습 니 다.
def Func(name, age=15):
print name, age
Func("Jack")
Func("Jack", 20)
자바 에 서 는 이러한 기본 매개 변 수 를 지원 하지 않 습 니 다. 어떻게 해 야 합 니까?자바 에서 이 메커니즘 을 다시 불 러 와 함수 가 '동명 의 다른 인삼' 이라는 기능 을 지원 하도록 합 니 다.예 를 들 면:
void f(int x, int y){}
void f(double x, double y){}
void f(double x, float y){}
JDBC
JDBC (Java DataBase Connectivity, 자바 데이터베이스 연결) 는 SQL 문 구 를 실행 하 는 자바 API 로 다양한 관계 데이터 베 이 스 를 통일 적 으로 접근 할 수 있 으 며 자바 언어 로 작 성 된 클래스 와 인터페이스 로 구성 된다.JDBC 는 데이터베이스 개발 자가 데이터베이스 응용 프로그램 을 작성 할 수 있 도록 더 높 은 도구 와 인 터 페 이 스 를 구축 할 수 있 는 기준 을 제공 합 니 다.
데이터베이스 연결
package com.imooc.sql;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DBUtil {
private static final String URL = "jdbc:mysql://127.0.0.1:3306/project"; //URL
private static final String USER = "root"; //
private static final String PASSWORD = "root"; //
private static Connection conn; //
static{ //
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//2.
try {
conn = DriverManager.getConnection(URL, USER, PASSWORD);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static Connection getConnection(){
// ,
return conn;
}
public static void main(String[] args) throws ClassNotFoundException, SQLException{
System.out.println("Hello");
}
}
}
데이터 시트 에 열 이 추가 되 었 습 니 다.
package dao;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.imooc.sql.DBUtil;
import model.Person;
public class PersonDao {
/**
*
* @param g
* @throws SQLException
*/
public void addPerson(Person g) throws SQLException{
Connection conn = DBUtil.getConnection();
String sql = ""+
"insert into person"+
"(user_name, sex, age, birthday, email, mobile, isdel)"+
"values("+
"?, ?, ?, ?, ?, ?,?)";
// sql
PreparedStatement ptmt = conn.prepareCall(sql);
ptmt.setString(1, g.getUser_name());
ptmt.setInt(2, g.getSex());
ptmt.setInt(3, g.getAge());
ptmt.setDate(4, new Date(g.getBirthday().getTime()));// Date sql Date
ptmt.setString(5, g.getEmail());
ptmt.setString(6, g.getMobile());
ptmt.setInt(7, g.getIsdel());
ptmt.execute();
}
JDBC 를 사용 하 는 과정 에서 이와 같은 오류 가 발생 한 적 이 있 습 니 다.
com. mysql. jdbc. MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE 는 문 제 를 해결 하 는 데 목적 을 둡 니 다. com. mysql. jdbc. MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE 의 오류 해결 에 관 한 제 방안 은 sql 문장의 and 를 ',' (쉼표) 로 바 꾸 는 것 입 니 다. 예 를 들 어 updatecategory set name = ? and description = ? where id = ? update 로 변경category set name = ? , description = ? where id = ?
문 제 는 sql 구문 에 있 는 and 입 니 다. 쉼표 로 바 꾸 면 됩 니 다. 왜 이런 문제 가 발생 했 는 지 아직 잘 모 르 겠 습 니 다.
이상 은 바로 일주일 동안 의 주요 한 정리 이 고 일부 내용 은 학습 에서 기록 하 는 것 도 앞으로 의 학습 에 편리 하 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.