1.结果转换为byte类型
//1.将aa+dd的输出结果转换为byte类型
byte dd = (byte) (aa+dd);
2.三元表达式
//2.三元表达式
int max = (a>=b)?a:b;
3.Scanner控制台输入
//3.Scanner控制台输入
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
//接收数据
int i = sc.nextInt();
//把数据输出
System.out.println("i:"+i);
/**
4.hasNextXXX是返回一个布尔值,是否还有下一个输入项,XXX是可以任意类型的
nextXXX 获取下一个输入项,可以是任意XXX类型
String nextLine() 换行符分隔
String next() 空格,tab,回车等作为分隔符,后面的内容不显示了,只显示前面的内容
nextInt接受整数,nextLine接受字符串 这两个用的最多
*/
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
if(sc.hasNextInt()){ //判断下一个输入的是否是整数
int num = sc.nextInt();
System.out.println(num);
}
4.连着Scanner输入5个学生的姓名,语文成绩,数学成绩,英语成绩
//5.连着输入5个学生的姓名,语文成绩,数学成绩,英语成绩
public void test8(){
for (int i = 0; i < 5; i++) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第" + (i + 1) + "个学生信息:");
System.out.println("姓名:");
String name = sc.nextLine();
System.out.println("语文成绩:");
int chinese = sc.nextInt();
System.out.println("数学成绩:");
int math = sc.nextInt();
System.out.println("英语成绩:");
int english = sc.nextInt();
}
5.JDBC数据库操作
5.1JDBC导入驱动包
//jdbc
//1.导入驱动包
//1.update account set balance = 500 where id = 1
@Test
public void test() throws Exception {
/**
* 1.DriverManager:驱动管理对象
* 2.Connection:数据库连接对象
* 3.Statement:执行sql对象
* 4.ResultSet:结果集对象
* 5.PreparedStatement:执行sql对象
*/
//1.导包
//2.注册驱动(mysql5以后,可以省略这一步)
Class.forName("com.mysql.jdbc.Driver");
//3.获取数据库连接对象
//url: jdbc:mysql://ip地址:端口号/数据库名称 user:数据库用户名 password:数据库密码
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "12");
//4.定义Sql语句
String sql = "update account set balance = 500 where id = 1";
//5.获取执行Sql对象Statement
Statement stmt = conn.createStatement();
//6.执行sql语句,executeUpdate():执行增删改 executeQuery():执行select语句 execute:可以执行任意Sql语句
int count = stmt.executeUpdate(sql);
//7.处理结果
System.out.println(count);
//8.释放资源
stmt.close();
conn.close();
}
//2.insert into account values(5 ,'刘德华',15000)
@Test
public void test1() throws Exception {
/**
* 1.DriverManager:驱动管理对象
* 2.Connection:数据库连接对象
* 3.Statement:执行sql对象
* 4.ResultSet:结果集对象
* 5.PreparedStatement:执行sql对象
*/
Statement stmt = null;
Connection conn = null;
try {
//1.导包
//2.注册驱动(mysql5以后,可以省略这一步)
Class.forName("com.mysql.jdbc.Driver");
//3.获取数据库连接对象
//url: jdbc:mysql://ip地址:端口号/数据库名称 user:数据库用户名 password:数据库密码
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "12");
//4.定义Sql语句
String sql = "insert into account values(5 ,'刘德华',15000)";
//5.获取执行Sql对象Statement
stmt = conn.createStatement();
//6.执行sql语句,executeUpdate():执行增删改 executeQuery():执行select语句 execute:可以执行任意Sql语句
int count = stmt.executeUpdate(sql);
//7.处理结果
if (count > 0) {
System.out.println("成功执行" + count + "行");
} else {
System.out.println("执行失败");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
//释放资源,避免空指针异常
if (stmt != null) {
try {
//8.释放资源
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
//8.释放资源
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
//3.select * from account
@Test
public void test2(){
Statement stmt = null;
Connection conn = null;
ResultSet rs = null;
try {
//1.导包
//2.注册驱动(mysql5以后,可以省略这一步)
Class.forName("com.mysql.jdbc.Driver");
//3.获取数据库连接对象
//url: jdbc:mysql://ip地址:端口号/数据库名称 user:数据库用户名 password:数据库密码
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "12");
//4.定义Sql语句
String sql = "select * from account";
//5.获取执行Sql对象Statement
stmt = conn.createStatement();
//6.执行sql语句,executeUpdate():执行增删改 executeQuery():执行select语句 execute:可以执行任意Sql语句
rs = stmt.executeQuery(sql);
//7.处理结果
//7.1让游标向下移动一行
//rs.next();
//7.2获取数据
while(rs.next()) {
int id = rs.getInt(1); //获取第一列数据
String name = rs.getString("name"); //获取标签名为name的数据
double balance = rs.getDouble(3); //获取第三列数据
System.out.println(id + "--------------" + name + "--------------" + balance);
}
}catch (ClassNotFoundException e){
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
//8.释放资源,避免空指针异常
if (rs != null) {
try {
//8.释放资源
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stmt != null) {
try {
//8.释放资源
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
//8.释放资源
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
//1.1 select * from emp,查询一个表的所有数据的方法封装,返回一个list集合
@Test
public List<Emp> findAll(){
Statement stmt = null;
Connection conn = null;
ResultSet rs = null;
List<Emp> list = null; //创建加载数据表字段对象的集合
try {
//1.导包
//2.注册驱动(mysql5以后,可以省略这一步)
Class.forName("com.mysql.jdbc.Driver");
//3.获取数据库连接对象
//url: jdbc:mysql://ip地址:端口号/数据库名称 user:数据库用户名 password:数据库密码
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "12");
//4.定义Sql语句
String sql = "select * from emp";
//5.获取执行Sql对象Statement
stmt = conn.createStatement();
//6.执行sql语句,executeUpdate():执行增删改 executeQuery():执行select语句 execute:可以执行任意Sql语句
rs = stmt.executeQuery(sql);
//7.处理结果
//7.1获取数据
Emp emp = null;
list = new ArrayList<Emp>();
while(rs.next()) {
int id = rs.getInt("id");
String ename = rs.getString("ename");
int job_id = rs.getInt("job_id");
int mgr = rs.getInt("mgr");
Date joindate = rs.getDate("joindate");
Double salary = rs.getDouble("salary");
Double bonus = rs.getDouble("bonus");
int dept_id = rs.getInt("dept_id");
emp = new Emp();
emp.setId(id);
emp.setEname(ename);
emp.setJob_id(job_id);
emp.setMgr(mgr);
emp.setJoindate(joindate);
emp.setSalary(salary);
emp.setBonus(bonus);
emp.setDept_id(dept_id);
//装载集合
list.add(emp);
}
}catch (ClassNotFoundException e){
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
//8.释放资源,避免空指针异常
if (rs != null) {
try {
//8.释放资源
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stmt != null) {
try {
//8.释放资源
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
//8.释放资源
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
return list;
}
//1.2定义一个Emp类:
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Emp {
private int id;
private String ename;
private int job_id;
private int mgr;
private Date joindate;
private double salary;
private double bonus;
private int dept_id;
}
//1.3main方法调用查询方法:
public static void main(String[] args) {
List<Emp> list = new JdbcDemo().findAll();
System.out.println(list);
/**
* 输出结果:[Emp(id=1, ename=李三, job_id=1001, mgr=1001, joindate=2021-04-12, salary=5000.0, bonus=4000.0, dept_id=1001),
* Emp(id=2, ename=王五, job_id=1002, mgr=1002, joindate=2021-04-04, salary=6000.0, bonus=5000.0, dept_id=1002)]
*
*/
}