Scanner scanner = new Scanner(System.in);
System.out.println("请输入");
// 接收用户的输入的字符串
String s1 = scanner.next();
// 接受整型
int n1 = scanner.nextInt();
System.out.println(s1,+n1);
//打印长度
System.out.println(s1.length());
//替换字符串
System.out.println(s1.replace("cao","***"));
// 值虽然相同但是不共用一个对象
String s1 = new String("123");
String s2 = new String("123");
共用一个对象:
String s1 ="123";
String s2 = "123";
int m = 2;
String s = "132";
Integer n1 = new Integer(m);
// string.valueof(i)将整形的i转换为字符串
System.out.println(String.valueOf(s));
//a1.tostring()转换成为字符串
System.out.println(n1.toString());
// Integer.valueof(变量) 获得值。getClass() 获取
System.out.println(Integer.valueOf(n1)+"--->"+n1.getClass());
// Integer.parserInt(字符串) 转换为INT型。
System.out.println(Integer.parseInt(s));
第一种方式:用math.random()。产生一个0--1的随机数。
double pa = Math.random();
第二种:Random类
// 随机数种子,种子相同产生的随机数都相同
Random random = new Random(6);
// 产生什么类型的随机以及范围
System.out.println(random.nextInt(6));
System.out.println(random.nextBoolean());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E"); 格式
String string = sdf.format(date); //将日期格式化自定义好的格式,也可以用于检查格式,不符合,会抛异常
sdf.parser(String)//解析一个字符串的日期格式,不符合就抛出异常
public class Main {
public static void main(String[] args){
Student s1 = new Student();
s1.setName("Jax");
System.out.println(s1.getName());
s1.setAge(19);
System.out.println(s1.getAge());
s1.setAge(2);
System.out.println(s1.getAge());
}
}
class Student{
private int age;
private String name;
public String getName(){
return this.name;
}
// 获取姓名
public int getAge(){
return this.age;
}
public void setName(String name){
this.name = name;
}
// 设置名字
public void setAge(int age){
// 可以对传进来的值进行判断加工。
if(age<10){
System.out.println("年龄不符合");
}
this.age = age;
}
}
※:通过调用共有的setRp方法来给Rp赋值
public class Main {
public static void main(String[] args){
// 传递初始化参数
Student s1 = new Student("Jax",19);
}
}
class Student{
String name;
int age;
public Student(String name,int age){
this.name = name;
this.age = age;
System.out.println("successful");
}
}
ArrayList list = new ArrayList<>();
// 添加元素
list.add("1");
list.add("2");
// 通过索引删除
list.remove(1);
// 数组的长度
System.out.println(list.size());
ArrayList list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
// 创建一个迭代器
Iterator iter = list.iterator();
//是否有下一个节点
while (iter.hasNext()){
System.out.println(iter.next());
}
// 链表 类似栈
LinkedList linkedlist=new LinkedList<>();
// 在第一个位置添加元素
linkedlist.addFirst("1");
linkedlist.addFirst("2");
linkedlist.addFirst("3");
// 删除第一个元素
linkedlist.removeFirst();
// 获得第一个元素
System.out.println(linkedlist.getFirst());
for(String i:linkedlist){
System.out.println(i);
}
// 指定key、value 的类型。
Map a1 = new HashMap<>();
// 通过put添加值
a1.put("jax",19);
a1.put("asche",18);
a1.put("yi",23);
a1.put("vn",19);
// 值集
System.out.println(a1.values());
// 键集
System.out.println(a1.keySet());
// 键值对
System.out.println(a1.entrySet());
//通过remove key删除元素
a1.remove("asche");
System.out.println(a1);
连接数据库的五步:
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 加载驱动,不同数据库驱动不同
Class.forName("com.mysql.jdbc.Driver");
// 获得URL
String url = "jdbc:mysql://localhost:3306/new";
// 登录、链接数据库
Connection con = DriverManager.getConnection(url, "root", "zyz521");
// 创建一个语句执行对象
Statement st = con.createStatement();
// 执行语句
// st.execute("delete from student where id=1");
// 所有的结果放入ResultSet
ResultSet rs = st.executeQuery("select * from person");
// 判断是否有下一个
while(rs.next()){
// 可以通过id或者字段名得到数据,必须要以类型定义一样
int id = rs.getInt("id");
String name = rs.getString(2);
int age = rs.getInt(4);
String sex = rs.getString(3);
System.out.println(id+":"+name+":"+age+":"+sex);
}
// 关闭连接,反着关
rs.close();
st.close();
con.close();
}
查询单一元素:
// 返回Person对象,类继承BaseDao
public Person get_Person(int n){
super.connect();
Person p = new Person();
try {
// 通过预编译可以防止恶意的sql注入
String sql = "select * from person where id=?";
pstmt = conn.prepareStatement(sql);
设置参数(index,value)
pstmt.setInt(1,n);
// 放到结果集,Query返回一个表
rs = pstmt.executeQuery();
// 检查是否还有下一个元素
while (rs.next()){
// rs.getInt(index[colunm_name])
p.setId(rs.getInt(1));
p.setName(rs.getString(2));
p.setPass(rs.getString(3));
p.setBirth(rs.getString(4));
}
}catch (Exception e){
e.printStackTrace();
}
finally {
super.closeAll();
}
return p;
查询全部/多个元素:
public ArrayList get_Allperson(){
Person p = null;
// 通过定义数组来保存元素
ArrayList list = new ArrayList<>();
super.connect();
try {
String sql = "select * from person";
// 防止sql注入
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next()){
p = new Person();
p.setId(rs.getInt(1));
p.setName(rs.getString(2));
p.setPass(rs.getString(3));
p.setBirth(rs.getString(4));
list.add(p);
}
}catch (Exception e){
e.printStackTrace();
}finally {
super.closeAll();
}
return list;
}
插入:调用时先通过调用实体类的setter方法进行赋值,然后调用该方法。
public Integer insert(Person p){
super.connect();
int row = 0;
try {
// ? 是占位符
String sql = "insert into person(name,pass,birth) values(?,?,?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,p.getName());
pstmt.setString(2,p.getPass());
pstmt.setString(3,p.getBirth());
row = pstmt.executeUpdate();
}catch (Exception e){
e.printStackTrace();
}finally {
super.closeAll();
}
return row;
}
删除:
public Integer delete(int n){
int row = 0;
super.connect();
try {
String sql = "delete from person where id=?";
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1,n);
// Update 返回受影响的行数
row = pstmt.executeUpdate();
}catch (Exception e){
e.printStackTrace();
}finally {
super.closeAll();
}
return row;
}
更新:先获取要修改对象的全部值,然后通过setter方法进行修改,防止部分修改导致数据库出现空值的情况。
public Integer update(Person p){
super.connect();
Integer row = 0;
try {
String sql = "update person set pass=? where id=?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,p.getPass());
pstmt.setInt(2,p.getId());
row = pstmt.executeUpdate();
}catch (Exception e){
e.printStackTrace();
}finally {
super.closeAll();
}
return row;
}