学号 20175201张驰 《Java程序设计》第7周学习总结
教材学习内容总结
第八章
String类能有效地处理字符序列信息,它的常用方法有:
- public int length()可以统计一个String对象的字符序列的长度
2.public String substrings(int startpoint)可以获得一个新的String对象,新的String对象的字符序列是复制当前String对象的字符序列中的startpoint位置至最后位置上的字符所得到的字符序列
3.public String trim()可以得到一个新的String对象,而新的String对象的字符序列是当前String对象的字符序列去掉前后空格的字符序列
4.StringTokenizer类不区分标识符、数和带引号的字符串,它们也不识别并跳过注释。既可以在创建时指定,同样也可以根据每个标记来指定分隔符
5.StringBuffer类和String类:String的值是不能改变的,值只要改变就会变成新的对象,然而StringBuffer可以很方便的增删查改字符串的内容而不会改变对象!
第十一章
连接数据库:Connection getConnection(java.lang.String, java.lang.String, java.lang.String) ,Connection getConnection(java.lang.String)
条件与排序查询: where 子语句
排序
order by 子语句对记录进行排序
order by <字段名>
更新 update 表 set 字段 = 新值 where<条件子句>
添加 insert into 表(字段列表)value (对应的具体的记录)
删除 delete from 表名 where <条件子句>
事务:事务是由SQL语句组成的,事务处理是指:应用程序保证事务中的SQL语句要么全部都执行,要么一个都不执行
JDBC事务处理步骤:
1.用setAutoCommit(booean b)方法关闭自动提交模式
2.用commit()方法处理事务
3.用rollback()方法处理事务失败
教材学习中的问题和解决过程
问题1:Static关键字的四种用法
问题1解决方案:参考(https://www.cnblogs.com/dotgua/p/6354151.html?utm_source=itdadao&utm_medium=referral)
1.修饰成员变量
2.修饰成员方法
3.静态块
4.静态导包问题2:IO流
问题2解决方案:
课后练习
第八章课后编程题
1.public class E {
public static void main (String args[ ]) {
String s1,s2,t1="ABCDabcd";
s1=t1.toUpperCase();
s2=t1.toLowerCase();
System.out.println(s1);
System.out.println(s2);
String s3=s1.concat(s2);
System.out.println(s3);
}
}
- public class E {
public static void main (String args[ ]) {
String s="ABCDabcd";
char cStart=s.charAt(0);
char cEnd = s.charAt(s.length()-1);
System.out.println(cStart);
System.out.println(cEnd);
}
}
- import java.util.*;
public class E {
public static void main (String args[ ]) {
int year1,month1,day1,year2,month2,day2;
try{ year1=Integer.parseInt(args[0]);
month1=Integer.parseInt(args[1]);
day1=Integer.parseInt(args[2]);
year2=Integer.parseInt(args[3]);
month2=Integer.parseInt(args[4]);
day2=Integer.parseInt(args[5]);
}
catch(NumberFormatException e)
{ year1=2012;
month1=0;
day1=1;
year2=2018;
month2=0;
day2=1;
}
Calendar calendar=Calendar.getInstance();
calendar.set(year1,month1-1,day1);
long timeYear1=calendar.getTimeInMillis();
calendar.set(year2,month2-1,day2);
long timeYear2=calendar.getTimeInMillis();
long 相隔天数=Math.abs((timeYear1-timeYear2)/(1000*60*60*24));
System.out.println(""+year1+"年"+month1+"月"+day1+"日和"+
year2+"年"+month2+"月"+day2+"日相隔"+相隔天数+"天");
}
}
- import java.util.*;
public class E {
public static void main (String args[ ]) {
double a=0,b=0,c=0;
a=12;
b=24;
c=Math.asin(0.56);
System.out.println(c);
c=Math.cos(3.14);
System.out.println(c);
c=Math.exp(1);
System.out.println(c);
c=Math.log(8);
System.out.println(c);
}
}
5.public class E {
public static void main (String args[ ]) {
String str = "ab123you你是谁?";
String regex = "\\D+";
str = str.replaceAll(regex,"");
System.out.println(str);
}
}
6. import java.util.*;
public class E {
public static void main(String args[]) {
String cost = "数学87分,物理76分,英语96分";
Scanner scanner = new Scanner(cost);
scanner.useDelimiter("[^0123456789.]+");
double sum=0;
int count =0;
while(scanner.hasNext()){
try{ double score = scanner.nextDouble();
count++;
sum = sum+score;
System.out.println(score);
}
catch(InputMismatchException exp){
String t = scanner.next();
}
}
System.out.println("总分:"+sum+"分");
System.out.println("平均分:"+sum/count+"分");
}
}
第十一章课后编程题
- import java.sql.*;
import java.util.*;
public class E {
public static void main(String args[]) {
Query query=new Query();
String dataSource="myData";
String tableName="goods";
Scanner read=new Scanner(System.in);
System.out.print("输入数据源名:");
dataSource = read.nextLine();
System.out.print("输入表名:");
tableName = read.nextLine();
query.setDatasourceName(dataSource);
query.setTableName(tableName);
query.setSQL("SELECT * FROM "+tableName);
query.inputQueryResult();
}
}
class Query {
String datasourceName=""; //数据源名
String tableName=""; //表名
String SQL; //SQL语句
public Query() {
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e) {
System.out.print(e);
}
}
public void setDatasourceName(String s) {
datasourceName = s.trim();
}
public void setTableName(String s) {
tableName = s.trim();
}
public void setSQL(String SQL) {
this.SQL = SQL.trim();
}
public void inputQueryResult() {
Connection con;
Statement sql;
ResultSet rs;
try {
String uri = "jdbc:odbc:"+datasourceName;
String id = "";
String password = "";
con = DriverManager.getConnection(uri,id,password);
DatabaseMetaData metadata = con.getMetaData();
ResultSet rs1 = metadata.getColumns(null,null,tableName,null);
int 字段个数 = 0;
while(rs1.next()) {
字段个数++;
}
sql = con.createStatement();
rs = sql.executeQuery(SQL);
while(rs.next()) {
for(int k=1;k<=字段个数;k++) {
System.out.print(" "+rs.getString(k)+" ");
}
System.out.println("");
}
con.close();
}
catch(SQLException e) {
System.out.println("请输入正确的表名"+e);
}
}
}
- import java.sql.*;
import java.util.*;
public class E {
public static void main(String args[]) {
Query query = new Query();
String dataSource = "myData";
String tableName = "goods";
query.setDatasourceName(dataSource);
query.setTableName(tableName);
String name = "";
Scanner read=new Scanner(System.in);
System.out.print("商品名:");
name = read.nextLine();
String str="'%["+name+"]%'";
String SQL = "SELECT * FROM "+tableName+" WHERE name LIKE "+str;
query.setSQL(SQL);
System.out.println(tableName+"表中商品名是"+name+"的记录");
query.inputQueryResult();
}
}
class Query {
String datasourceName=""; //数据源名
String tableName=""; //表名
String SQL; //SQL语句
public Query() {
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e) {
System.out.print(e);
}
}
public void setDatasourceName(String s) {
datasourceName = s.trim();
}
public void setTableName(String s) {
tableName = s.trim();
}
public void setSQL(String SQL) {
this.SQL = SQL.trim();
}
public void inputQueryResult() {
Connection con;
Statement sql;
ResultSet rs;
try {
String uri = "jdbc:odbc:"+datasourceName;
String id = "";
String password = "";
con = DriverManager.getConnection(uri,id,password);
DatabaseMetaData metadata = con.getMetaData();
ResultSet rs1 = metadata.getColumns(null,null,tableName,null);
int 字段个数 = 0;
while(rs1.next()) {
字段个数++;
}
sql = con.createStatement();
rs = sql.executeQuery(SQL);
while(rs.next()) {
for(int k=1;k<=字段个数;k++) {
System.out.print(" "+rs.getString(k)+" ");
}
System.out.println("");
}
con.close();
}
catch(SQLException e) {
System.out.println("请输入正确的表名"+e);
}
}
}
代码托管
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 4000行 | 30篇 | 400小时 | |
第五周 | 5840 | 8/8 | 10 | linux学习 |
·