java note

JDBC
```
"jdbc:mysql://127.0.0.1:3306/nbcj?useSSL=false&serverTimezone=UTC&user=root&password=123"
```
Statement接口
三种执行 SQL 语句的方法:executeQuery、executeUpdate 和 execute
executeQuery:用于产生单个结果集的语句,例如 SELECT 语句。
executeUpdate:用于执行 INSERT、UPDATE 或 DELETE 语句。
execute:略

主方法入口:所有的Java 程序由public static void main(String args[])方法开始执行。

引用数据类型 对象
8类基本数据类型 不是对象

包装类 Interger

权限修饰符(访问类和非访问类)
访问类
public 能够被任何其他类访问。如果几个相互访问的public类分布在不同包中,则需要导入public类所在的包。
private 是最严格的访问级别,只能被所属类访问且接口不能声明为private。
default 默认的,在同一包内可见,不使用任何修饰符。
protected 能被同一个包中的任何其他类访问,也能被不同包中的子类访问。
非访问类
static修饰符,用来创建类方法和类变量。
final修饰符,用来修饰类、方法和变量,final修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
abstract修饰符,用来创建抽象类和抽象方法。
synchronized和volatile修饰符,主要用于线程的编程

List接口
List接口扩展了集合,并声明存储元素的序列集合的行为。
1.元素可以插入或访问他们的列表中的位置,使用从零开始的索引。
2.列表可以包含重复的元素。
list是有序集合。
List<String> list = new ArrayList<>();
    list.add("Java");
    list.add("Oracle");
List的修改 
通过方法E set(int index, E element)来修改,添加方法
List remove方法

数组
Arrays.fill(arr,100);//数组的批量赋值。

Map接口
Map接口中键和值一一映射. 可以通过键来获取值。

1. 当对象的类型和Map里元素类型不兼容的时候,就会抛出一个 ClassCastException异常。
2. 当在不允许使用Null对象的Map中使用Null对象,会抛出一个NullPointerException 异常。
3. 当尝试修改一个只读的Map时,会抛出一个UnsupportedOperationException异常。

- map添加 o.put(k,v)
- Object get(Object k)
- 返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。

MySQL
增 insert into table(,)values (,)
删 delete from table where 条件
改 update table set 字段1=xx,字段2=xxx,…… where 条件
查 select * from table where 条件

随机数
获取[0, 100)之间的int整数。
Random random = new Random();
int i2 = random.nextInt(100);
范围同vb,大的-小的+1+小的。
int number = random.nextInt(END - START + 1) + START;

Scanner类
可以通过 Scanner 类来获取用户的输入。获取字符可以通过Scanner 类的 next() 与 nextLine() 方法。
next()方法:
一定要读到有效字符后才结束输入
对有效字符前的空白会自动删除
只有输入有效字符后遇到空白才会停止读取
next()不能得到带有空格的字符串

Scanner s = new Scanner(System.in);  //从键盘接受数据
System.out.println("next方式接收:");
// 判断是否还有输入
        if(s.hasNext()){   
            String str1 = scan.next();  //读取下一个字符串,遇到空格停止读取
            System.out.println("输入的数据为:"+str1);  
        }  

增强型for循环
for(声明语句 : 表达式/数组名)
{
   //代码句子
}
String [] names ={"James", "Larry", "Tom", "Lacy"};
      for( String name : names ) {
         System.out.print( name );
         System.out.print(",");
      }

Java replace() 方法
replace() 方法通过用 newChar 字符替换字符串中出现的所有 oldChar 字符,并返回替换后的新字符串。
public String replace(char oldChar, char newChar)

java switch
switch统计分数 score/10然后case。

文件创建
我们可以使用File类的createNewFile()方法创建一个新文件:
File dummyFile = new File("test.txt");
boolean fileCreated  = dummyFile.createNewFile();
创建文件前是否需要对文件是否存在进行判断?
。。。

文件重命名
要重命名文件,我们可以使用renameTo()方法,它使用一个File对象来表示新文件:
boolean fileRenamed = oldFile.renameTo(newFile);

文件删除
使用File类的delete()方法来删除文件/目录
File dummyFile = new File("dummy.txt"); 
dummyFile.delete();

文件的存在
我们可以使用File类的exists()方法检查File对象的抽象路径名是否存在。
boolean fileExists = dummyFile.exists();

返回目录
listFiles()方法返回一个File数组
    File dir = new File(dirPath);
    File[] list = dir.listFiles();
再用f.getPath() 得到目录。

BufferedWriter类/写文件
BufferedWriter out = new BufferedWriter(new FileWriter("runoob.txt"));
            out.write("菜鸟教程");
            out.close();
            System.out.println("文件创建成功!");

o.write("text")
o.flush()
o.close()

FileWriter类/写文件
FileWriter fs=new FileWriter(path);
fs.write("content"); //写入内容到文件
fs.close();  //不关闭会导致文件保存失败。
为什么每次写入,文件之前的内容都会被清空?

读文件内容
FileReader file=new FileReader("D:/aaa.txt");
        BufferedReader br=new BufferedReader(file);
        String s= br.readLine();
        System.out.println(s);

获取文件名
f.getName()

字符转asc码
使用char强制转换,例:
(char)(97)  //转换为a

获取字符串长度o.length();

String 方法
char charAt(int index)
返回指定索引处的 char 值。

String类
int compareTo(String anotherString)
按字典顺序比较两个字符串。

int indexOf(int ch, int fromIndex)
返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。

String replace(char oldChar, char newChar)
返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。

Number & Math 类方法
random()
返回一个随机数。

//将int转化成String  
        int num = 1000;  
        String string = String.valueOf(num);  
        System.out.println(string);  

String s=String.format("Duke's Name: %s", name);//format(String format,object arguments)

ArrayList集合

递归的思想是自己调用自己

数据库管理员DBA

mysql
创建表:create uu (id int,name varchar(20),gender bool,birthday date,Entry_data date,job varchar(20),Salary float,resume text);
varchar()要指定大小,否则会报错。
数据库中char和varchar有什么区别?

修改表 

查询1,2,3号数据,IN()的使用
SELECT * FROM stu WHERE sid IN (1,2,3);

查询学号不是1,2,3的记录
 SELECT * FROM stu WHERE sid NOT IN(1,2,3);

查询年龄为null的记录
SELECT *FROM stu WHERE age IS NULL;

查询年龄在20到40之间的学生记录
SELECT * FROM stu WHERE age>=20 AND age<=40;

查询性别非男的学生记录
SELECT * FROM stu WHERE gender!= '男';
SELECT * FROM stu WHERE gender<> '男';

查询姓名不为null的学生记录
SELECT * FROM stu WHERE sname IS NOT NULL;

主键:primary key
比如:`id` int(11) NOT NULL auto_increment,就是让id这个属性自增。
自动增长:auto_increment
删除表:DROP TABLE 表名;

联合查询
union 去重
union all 不去重

内连接
SELECT e.id,e.name AS '员工名',d.name AS '部门' FROM employee e INNER JOIN departement d ON e.depno=d.id;

外连接
左外连接:
右外连接:

SQL MAX() 语法
SELECT MAX(column_name) FROM table_name

java 向上取整函数
Math.ceil
double ceil = Math.ceil(count/5.0);

mysql删除有外链索引数据
Cannot delete or update a parent row: a foreign key constraint fails 问题的解决办法
解决办法一:先判断删除关联数据,然后再删除(这样比较符合业务逻辑比较安全)。
 

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值