Java学习十九

今天下载了数据库页面操作软件SQLyog,学习了数据库中的DML和部分DQL知识,由于最近时间比较紧张所以就不上传我的操作截图了,之后联系了Java字符串和几个Java数组实例。

一、SQLyog下载

  这个软件的下载直接在官网下载即可,我下载的是社区版,我认为学生使用足够了,如果下载旗舰版需要自己找注册码。使用这个软件需要提前打开mysql(如果数据库不是自启的),在cmd窗口输入 net start 数据库名称

  官网:https://sqlyog.en.softonic.com/

二、DML和DQL学习

  DML:增删改表中的数据

    1、添加数据:insert into 表名(列名1,...列名n) values(值1,....值n);

      注:(1)表名之后不定义列名,默认给所有列添加值。 insert into 表名 values(值1,...值n);

        (2)列名和值一一对应。

        (3)除了数字类型,其他类型用引号(单双均可)

    2、删除数据:delete from 表名 where 条件;  例:delete from stu where id=1;

      注:(1)不加条件,删除表中所有记录。

        (2)删除所有记录

          ①delete from 表名; 执行次数多,效率低

          ②truncate table 表名; 效率高,同时会创建一个相同的表。

    3、修改数据

      update 表名 set 列名1=值1,列名2=值2,...where 条件;

      注:不加任何条件,全部记录均会被修改

  DQL查询表中记录  select *from 表名;

    1、基础查询

      (1)多个字段查询:select 字段1,字段2,...from 表名;  注:所有字段可以用*代替。

      (2)去除重复:distinct

      (3)起别名:as(可省略)

    2、条件查询

      (1)where 子句后跟条件 select * from stu where age>20;

        (2)运算符:①>,<,<=,>=,=,<>

              ②between ...and 

              ③in(集合)

              ④like

              ⑤is null 为空

              ⑥and/&&

              ⑦or/||

              ⑧not/!

      like:模糊查询  占位符:— :代表单个字符;%:代表任意字符

        例:select * from stu where name "___"

三、实例练习

1、

 1 package _Java字符串;
 2 
 3 import java.util.Locale;
 4 
 5 /*
 6 字符串格式化
 7 通过 format() 方法来格式化字符串,还可以指定地区来格式化
 8  */
 9 public class StringFormat {
10     public static void main(String[] args) {
11         double e=Math.E;//使用数学中的e=2.7..
12         System.out.format("%f%n",e);
13         System.out.format(Locale.CHINA,"%-10.4f%n%n",e);//指定本地为中国
14     }
15     /*
16     format(String  format, Objece...  argues)函数相当于C语言中的printf函数,可以指定输出
17 
18 
19      */
20 }

2、

 1 package _Java字符串;
 2 /*
 3 字符串优化
 4 通过 String.intern() 方法来优化字符串
 5  */
 6 public class StringOptimization {
 7     public static void main(String[] args) {
 8         String var[]=new String[50000];
 9         for(int i=0;i<50000;i++){
10             var[i]="s"+i;
11         }
12         long start_time=System.currentTimeMillis();
13         for(int i=0;i<50000;i++){
14             var[i]="hello";
15         }
16         long end_time=System.currentTimeMillis();
17         System.out.println("直接使用字符串:"+(end_time-start_time)+"毫秒");
18         long start_time1=System.currentTimeMillis();
19         for(int i=0;i<50000;i++){
20             var[i]=new String("hello");
21         }
22         long end_time1=System.currentTimeMillis();
23         System.out.println("使用new关键字:"+(end_time1-start_time1)+"毫秒");
24         long start_time2=System.currentTimeMillis();
25         for(int i=0;i<50000;i++){
26             var[i]=new String("hello");
27             var[i]=var[i].intern();
28         }
29         long end_time2=System.currentTimeMillis();
30         System.out.println("使用intern方法:"+(end_time2-start_time2)+"毫秒");
31     }
32 
33     //intern()返回字符串规范化的表现形式
34 }

3、

 1 package _Java字符串;
 2 /*
 3 连接字符串
 4 通过 "+" 操作符和StringBuffer.append() 方法来连接字符串,并比较其性能
 5  */
 6 public class StringConect {
 7     public static void main(String[] args) {
 8         long start_time=System.currentTimeMillis();
 9         for(int i=0;i<50000;i++){
10         String s1="this is"+"testing the"+"difference between"+"String and StringBuffer";
11         }
12         long end_time=System.currentTimeMillis();
13         System.out.println("使用+连接字符串:"+(end_time-start_time)+"毫秒");
14         long start_time1=System.currentTimeMillis();
15         for(int i=0;i<50000;i++){
16             StringBuffer s2=new StringBuffer();
17             s2.append("this is");
18             s2.append("testing the");
19             s2.append("difference between");
20             s2.append("String and StringBuffer");
21         }
22         long end_time1=System.currentTimeMillis();
23         System.out.println("使用append()连接:"+(end_time1-start_time1)+"毫秒");
24     }
25     /*
26     字符串中使用+连接,每次都会创建一个新对象,效率低,通常使用StringBuffer().append()方法连接
27      */
28 }

4、

 1 package Java数组;
 2 
 3 import java.util.Arrays;
 4 
 5 /*
 6 数组排序及元素查找
 7 使用sort()方法对Java数组进行排序,及如何使用 binarySearch() 方法来查找数组中的元素, 这边我们定义了 printArray() 方法来打印数组
 8  */
 9 public class _1arrayArranageandSearch {
10     public static void main(String[] args) {
11         int array[] = { 2, 5, -2, 6, -3, 8, 0, -7, -9, 4 };
12         Arrays.sort(array);
13         printArray("数组排序结果",array);
14         int index=Arrays.binarySearch(array,2);
15         System.out.println("元素2在"+index+"位置");
16     }
17     public static void printArray(String message,int array[]){
18         System.out.println(message+":(length:"+array.length+")");
19         for(int i=0;i< array.length;i++){
20             if(i!=0){
21                 System.out.print(", ");
22             }
23             System.out.print(array[i]);
24         }
25         System.out.println();
26     }
27     /*
28     sort()方法排序低位优先
29     binarySearch(List list, T key):使用二分搜索法搜索指定列表,第一个参数是列表,第二个参数是要查找的元素,返回的是要查找的元素的索引
30      */
31 }

5、

 1 package Java数组;
 2 
 3 import java.util.Arrays;
 4 
 5 /*
 6 数组添加元素
 7 使用sort()方法对Java数组进行排序,及如何使用 insertElement () 方法向数组插入元素, 这边我们定义了 printArray() 方法来打印数组
 8  */
 9 public class _2StringAdd {
10     public static void main(String[] args) {
11         int array[] = { 2, 5, -2, 6, -3, 8, 0, -7, -9, 4 };
12         Arrays.sort(array);
13         printArray("数组排序", array);
14         int index = Arrays.binarySearch(array, 1);
15         System.out.println("元素 1 所在位置(负数为不存在):" + index);
16         int newIndex = -index - 1;
17         array = insertElement(array, 1, newIndex);
18         printArray("数组添加元素 1", array);
19     }
20     public static void printArray(String message,int array[]){
21         System.out.println(message+":(length:"+array.length+")");
22         for(int i=0;i< array.length;i++){
23             if(i!=0){
24                 System.out.print(", ");
25             }
26             System.out.print(array[i]);
27         }
28         System.out.println();
29     }
30 
31     private static int[] insertElement(int original[],int element,int index){
32         int leng=original.length;
33         int destination[]=new int[leng+1];
34         System.arraycopy(original,0,destination,0,index);
35         destination[index]=element;
36         System.arraycopy(original,index,destination,index+1,leng-index);
37         return  destination;
38     }
39     //System.arraycopy(源数组,源数组起始位置,目的数组,目的数组起始位置,复制长度);
40 
41 }

6、

 1 package Java数组;
 2 /*
 3 获取数组长度
 4 使用数组的属性 length 来获取数组的长度
 5  */
 6 public class _3StringGetLength {
 7     public static void main(String[] args) {
 8         String[][] data=new String[2][5];
 9         System.out.println("第一维数组长度:"+data.length);
10         System.out.println("第二维数组长度:"+data[0].length);
11     }
12 }

7、

 1 package Java数组;
 2 /*
 3 数组反转
 4 使用自定义的 reverse 方法将数组进行反转:
 5  */
 6 public class _4arrayRunoob {
 7     public static void main(String[] args) {
 8         int [] arr = {10, 20, 30, 40, 50};
 9         reverse(arr, arr.length);
10     }
11     public static void reverse(int a[],int n){
12         int[] b=new int[n];
13         int j=n;
14         for(int i=0;i<n;i++){
15             b[j-1]=a[i];
16             j=j-1;
17         }
18         System.out.println("反转数组:");
19         for(int k=0;k<n;k++){
20             System.out.print(b[k]+" ");
21         }
22     }
23 }

 

posted on 2021-10-10 23:06  跨越&尘世  阅读(48)  评论(0编辑  收藏  举报