Java学习十八

今天进行了两部分的内容,一是数据库DDL中操作表的部分,二是进行了Java的字符串实例练习。

一、DDL学习

  1、操作表

    (1)查询: show tables;查询表的名称; desc 表名; 查询表的结构。

 

   (2)创建表:create table 表名(  列名1 数据类型1,

                  列名n 数据类型n); 注:最后一行没有“,”。

      复制表:create table 新表名 like 原表名;

 

 

      数据库的数据类型:①int :整型  age int

               ②double:小数类型 score double(5,2)数字位数为5,保留两位小数

               ③date:日期 yyyy-MM-dd 年月日

               ④datetime:日期 yyyy-MM-dd  HH:mm;ss 年月日 时分秒

               ⑤timestamp:时间错类型 yyyy-MM-dd HH:mm:ss 不给这个字段赋值或赋值为null,默认使用系统时间

               ⑥varchar:字符串 name varchar(Maxsize)

  (3)删除

    drop table 表名;/drop table if exists 表名;

  (4)修改

    ①改表名  alter table 表名 rename to 新表名;

    ②改字符集  alter table 表名 character set 字符集名;

    ③添加一列  alter table 表名 add 列名 数据类型;

    ④修改列名称、数据类型  alter table 表名 change 列名 新列名 数据类型;

               alter table 表名 modify 列名 数据类型;

    ⑤删除列 alter table 表名 drop 列名;

二、Java字符串实例练习

其中的大部分东西我都直接写在了代码中,下面是源码。

1、

 1 package Java字符串;
 2 //通过字符串函数 strOrig.lastIndexOf(Stringname) 来查找子字符串 Stringname 在 strOrig 出现的位置
 3 public class SearchlastString {
 4     public static void main(String[] args) {
 5         String str="Hello world,hello Runoob";
 6         int lastindex=str.lastIndexOf("Runoob");//调用方法
 7         if(lastindex==-1){
 8             System.out.println("没有找到字符串Runoob");
 9         }else{
10             System.out.println("Runoob最后出现的位置"+lastindex);
11         }
12     }
13 }

2、

 1 package Java字符串;
 2 /*
 3 字符串性能比较测试
 4 通过两种方式创建字符串,并测试其性能
 5  */
 6 public class StringCompare {
 7     public static void main(String[] args) {
 8         //String关键字创建字符串
 9         long start_time=System.currentTimeMillis();
10         for(int i=0;i<50000;i++){
11             String s1="hello";
12             String s2="hello";
13         }
14         long end_time=System.currentTimeMillis();
15         System.out.println("通过关键字创建字符串时间:"+(end_time-start_time)+"毫秒");
16         //String 第项创建字符串
17         long start_time1=System.currentTimeMillis();
18         for(int i=0;i<50000;i++){
19             String s3=new String("hello");
20             String s4=new String("hello");
21         }
22         long end_time1=System.currentTimeMillis();
23         System.out.println("使用对象创建字符串时间:"+(end_time1-start_time1)+"毫秒");
24     }
25     /*
26     currentTimeMillis()获取系统时间,以毫秒为单位
27      */
28 }

3、

 1 package Java字符串;
 2 //以下实例中我们通过字符串函数 compareTo (string) ,compareToIgnoreCase(String) 及 compareTo(object string) 来比较两个字符串,并返回字符串中第一个字母ASCII的差值。
 3 public class StringCompareEmp {
 4     public static void main(String[] args) {
 5         String str="Hello world";
 6         String str1="hello world";
 7         Object obj=str;
 8         System.out.println(str.compareTo(str1));
 9         System.out.println(str.compareToIgnoreCase(str1));//忽略大小写
10         System.out.println(str.compareTo(obj.toString()));
11     }
12 }

4、

 1 package Java字符串;
 2 //通过字符串函数 substring() 函数来删除字符串中的一个字符,我们将功能封装在 removeCharAt 函数中
 3 public class Stringdelete {
 4     public static void main(String[] args) {
 5         String str="Tomorrow is cool.";
 6         System.out.println(removeCharAt(str,5));
 7     }
 8     //方法
 9     public static String removeCharAt(String s,int pos){
10         return s.substring(0,pos)+s.substring(pos+1);
11     }
12     //public String substring(int beginIndex),截取字符串,从索引开始至字符串结束
13     //public String  substring(int beginIndex, int endIndex),这个方法截取的字符串从beginIndex开始,到字符串索引的endIndex - 1结束
14 }

5、

 1 package Java字符串;
 2 
 3 import java.util.StringTokenizer;
 4 
 5 //Java 中我们可以使用 StringTokennizer 设置不同分隔符来分隔字符串,默认的分隔符是:空格、制表符(\t)、换行符(\n)、回车符(\r)
 6 public class StringDivision {
 7     public static void main(String[] args) {
 8         String str = "This is String , split by StringTokenizer, created by runoob";
 9         StringTokenizer st=new StringTokenizer(str);
10         System.out.println("----- 通过空格分隔 ------");
11         while (st.hasMoreElements()) {
12             System.out.println(st.nextElement());
13         }
14 
15         System.out.println("----- 通过逗号分隔 ------");
16         StringTokenizer st2 = new StringTokenizer(str, ",");
17 
18         while (st2.hasMoreElements()) {
19             System.out.println(st2.nextElement());
20         }
21     }
22     /*
23     StringTokenizer(String str, String delim) :构造一个用来解析 str 的 StringTokenizer 对象,并提供一个指定的分隔符
24     boolean hasMoreElements():判断枚举 (Enumeration) 对象中是否还有数据。
25     Object nextElement():返回枚举 (Enumeration) 对象的下一个元素
26      */
27 }

6、

 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 }

7、

 1 package Java字符串;
 2 /*
 3 测试两个字符串区域是否相等
 4 使用了 regionMatches() 方法测试两个字符串区域是否相等
 5  */
 6 public class StringRegion {
 7     public static void main(String[] args) {
 8         String str1="Welcome to Microsoft";
 9         String str2="I work with microsoft";
10         boolean match1=str1.regionMatches(11,str2,12,9);
11         boolean match2=str1.regionMatches(true,11,str2,12,9);
12         System.out.println("区分大小写返回值:"+match1);
13         System.out.println("不区分大小写返回值:"+match2);
14     }
15     /*
16     first_str.regionMatches(11, second_str, 12, 9) 表示将 first_str 字符串从第11个字符"M"开始和 second_str 字符串的第12个字符"M"开始逐个比较,共比较 9 对字符,由于字符串区分大小写,所以结果为false。
17 
18 如果设置第一个参数为 true ,则表示忽略大小写区别,所以返回 true。
19      */
20 }

8、

 1 package Java字符串;
 2 
 3 public class StringReplace {
 4     public static void main(String[] args) {
 5         String str="hello world";
 6         System.out.println(str.replace('h','c'));
 7         System.out.println(str.replaceFirst("he","fe"));
 8         System.out.println(str.replaceAll("ld","or"));
 9     }
10     /*
11     replace(oldchar,newchar);以新换旧
12     replaceFirst(regex,replacement);替换掉第一次出现的
13     replaceAll(regex,replacement);全部替换
14      */
15 }

9、

 1 package Java字符串;
 2 //反转函数reverse()
 3 public class StringReverse {
 4     public static void main(String[] args) {
 5         String str="Tomorrow";
 6         String reverse=new StringBuffer(str).reverse().toString();
 7         System.out.println("反转前:"+str);
 8         System.out.println("反转后:"+reverse);
 9     }
10     /*
11     StringBuffer(str),相当于一个容器
12     reverse(),将字符串反转
13     */
14 }

10、

 1 package Java字符串;
 2 //使用了 String 类的 indexOf() 方法在字符串中查找子字符串出现的位置,如果存在返回字符串出现的位置(第一位为0),如果不存在返回 -1:
 3 public class StringSearch {
 4     public static void main(String[] args) {
 5         String str="yesterday today tomorrow";
 6         int index=str.indexOf("today");
 7         if(index==-1){
 8             System.out.println("没有找到字符串today");
 9         }else{
10             System.out.println("字符串today位置"+index);
11         }
12     }
13     /*
14      1、int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引。
15      2、int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。
16      3、int lastIndexOf(String str) :返回在此字符串中最右边出现的指定子字符串的索引。
17      4、int lastIndexOf(String str, int startIndex) :从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。
18 
19     * */
20 }

11、

 1 package Java字符串;
 2 //使用了 split(string) 方法通过指定分隔符将字符串分割为数组
 3 public class StringSpilt {
 4     public static void main(String[] args) {
 5         String str="yersterday-today-tomorrow";
 6         String[] temp;//定义数组
 7         String delimeter="-";//指定分割字符
 8         temp=str.split(delimeter);
 9         //普通for循环
10         for(int i=0;i< temp.length;i++){
11             System.out.println(temp[i]);
12         }
13         System.out.println("------java for each循环输出的方法-----");
14         String str1="yersterday.today.tomorrow";
15         String[] m;
16         String delimeter1="\\.";//定义分割字符,“。”需要转义
17         m=str1.split(delimeter1);
18         //增强for
19         for(String x:m){
20             System.out.println(x);
21         }
22     }
23     /*
24     . 、 $、 | 和 * 等转义字符,必须得加 \\。
25      */
26 }

12、

 1 package Java字符串;
 2 //使用了 String toUpperCase() 方法将字符串从小写转为大写
 3 public class StringToUpper {
 4     public static void main(String[] args) {
 5         String str="string runoob";
 6         String s=str.toUpperCase();
 7         System.out.println("原始字符串:"+str);
 8         System.out.println("大写字符串:"+s);
 9     }
10     /*
11     toUpperCase()方法将字符串转换为大写字母。
12 
13     toLowerCase()方法将字符串转换为小写字母。
14      */
15 }

 

posted on 2021-10-09 21:33  跨越&尘世  阅读(27)  评论(0编辑  收藏  举报