day10 eclipse jar文件 doc输出 String类 StringBuffer以及StringBuilder

来源:互联网 发布:七层网络协议 编辑:程序博客网 时间:2024/06/11 06:55

ecplise的基本操作和快捷键和debug操作,遇到需要的方法就是进入  step into

定义模板和format的时候不要把注释去掉


GUI简述和匿名内部类

桌面程序:GUI(图形化界面)

awt:不能跨平台

swing:可以跨平台

Java Fx:Java最新推出的技术,

java的doc和jar文件

doc

package _02_GUI;/** *  @authorXiaoyi *  @sincev0.1 *  @see *   *   *   */public interface Walkable {/** * 表示行走的功能 */void walk();}
package _02_GUI;/** *  @authorwill *  @sincev0.1 *  @see *   *   *   */public class Tiger implements Walkable {@Overridepublic void walk() {System.out.println("我可以行走了");}/** *  * @param num1  第一个加数 * @param num2  第二个加数 * @return */public int getSum(int num1,int num2){return num1+num2;}}
jar
表示多分的字节码文件的压缩包

1,普通的jar:不是用来做运行的,而是字节码的合体,为了复用性 (jar文件放入lib  然后Build path)

2,可运行jar  java -jar jar文件名

安装eclipse的插件

OpenExplorer

1:放入plugins文件夹

2:放入dropins文件夹

3:dropins中新建eclipse再新建plugins,然后存放这个插件文件

4:link方式     在dropins目录中创建快捷方式.link 内容是 path=d:/ttt/插件文件夹   文件夹下面是是eclipse/plugins/插件文件  绝对路径

路径中必须使用/或者\\,不能使用\

字符串

字符串就是一串字符,查看源码得知本质是char数组

字符串的分类:

1:不可变字符串: String 

2:可变字符串:StringBuffer/StringBuilder

String类字符串

不可变的字符串,一个String对象只能表示一个固定的字符串,若内容改变,则对象也改变.

String对象的创建:

直接赋值字面值String str = "123";

使用构造器创建String str2 = new String("123");

String对象的空值

""和null的区别  

String相关面试题

String str1 = "ABC";String str2 = new String("ABC");
上面两行代码分别创建了几个对象

第一行代码创建了0个或者1个String对象

第二行代码创建了1个或者2个对象

   String str1 = "ABCD";   String str2 = "A" +"B"+"C"+"D"; // 编译器优化之后,该代码等价于 str1.   String str3 = "AB"+"CD";   String c = "CD"; String str4 = "AB" + c;   String str5 = "AB" + getXX();  //(备注:getXX方法返回"CD");

String对象比较:

ü1):单独使用""引号创建的字符串都是直接量,编译期就已经确定存储到常量池中;

ü2):使用newString("")创建的对象会存储到堆内存中,是运行期才创建;

ü3):使用只包含直接量的字符串连接符如"aa" +"bb"创建的也是直接量编译期就能确定,已经确定存储到常量池中;

ü4):使用包含String直接量(无final修饰符)的字符串表达式(如"aa" +s1)创建的对象是运行期才创建的,存储在堆中;

-----------------------------

比较字符串:  ==:只能比较内存地址,若要比较内容:equals.

String的常用方法

package _03_String;public class StringDemo {/** * @param args */public static void main(String[] args) {String str = "abcdefghja";System.out.println(str.charAt(0));System.out.println("----------------------------------------");//是否以a为开始的str.startsWith("a");//是否是以j为结尾的str.endsWith("j");//比较字符串str.equals("abcdefghj");//比较字符串,忽略大小写str.equalsIgnoreCase("Abcdefghj");//判断是否为空str.isEmpty();//返回a在此字符串第一次出现的位置str.indexOf("a");//返回a在此字符串最后一次出现的位置str.lastIndexOf("c");//字符串长度str.length();//替换String str2 = str.replace("a","b");System.out.println(str2);//replaceAllString str21 = str.replaceAll("cde", "1");System.out.println(str21);//分割String str3 = "a,b,c,d,e,f";String[] strarr = str.split(",");String str5="";for (int i = 0; i < strarr.length; i++) {System.out.println(strarr[i]+str5);}System.out.println(str5);//截取System.out.println("abcdhfg".substring(2));//大小写转换"AB".toLowerCase();"ac".toUpperCase();//trimSystem.out.println("        ".trim());}}
String工具类

public class StringUtil {private StringUtil(){}//字符串即不为null也不为""  是的话返回falsepublic static boolean hasLength(String str){return str!=null && !"".equals(str.trim());}//判断字符串为空 为空返回truepublic static boolean isBlank(String str){return !hasLength(str);}}
StringBuffer以及StringBuilder

StringBuffer     :线程安全性较高,但是性能低

StringBuilder   :线程安全性低,但是性能较高  推荐    

多线程使用StringBuffer,单线程使用StringBuilder

append();

StringBuilder和StringBuilder有初始化个数,也可以指定



0 0
原创粉丝点击