注意:本系列博客是在作者已经有一年多的C++经验的基础上学习Java的个人总结,可能并不适合所有看到这篇博客的人。
一、字符串String
在Java中 没有单独的字符这一说,字符串 全部用String来表示 ,当然 String也是 类 类型。用法和C++中的string 类大致一致,不过还是要注意以下区别:Java中 String是定长的,在创建完成后是不可修改的,至于截取,替换,拼接这些操作其实是把结果另外产生一个对象,本身是不会改变的;C++中string字符串的截取,替换,拼接等操作返回的是一个对象的引用,也就是说本质上只是多一个源对象的指向本身是改变的。可以测试以下代码:
/******java测试*******/
str_a.replace("1", "ss");
System.out.println(str_a); //结果为123
/******c++******
string a = "ddddd";
a.replace(0,1,"aaa");
cout << a << endl;
下面贴一点Java基本示例
public class Hello{ public static void main(String[] args)
{ //创建对象
String text="hello world";
String text2=new String("hello world"); //长度
int len=text.length(); //java 不管是中文还是英文 每个字符都是按1计数的
System.out.println(len); //截取
String text_sub=text.substring(1,4);
System.out.println(text_sub); //替换
String text_rep=text.replace("world", "china");
System.out.println(text_rep); //数值->字符
int a=123;
String str_a=String.valueOf(a);
System.err.println(str_a); //格式化字符串
String text_str=String.format("a=%d,%s", a,text_rep);
System.err.println(text_str);
}
}
另外java当然也支持 + 操作 直接将字符相加拼接起来(不过这种方法最好少用,因为在拼接的过程中会产生大量垃圾对象 增加垃圾回收的负担)
二、StringBuffer 和 StringBuilder 类
1.当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。
2.和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
3.StringBuilder 类和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。
4.由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。
这两个类的成员函数与String 类似 详情可以参考一下这里
三、static 基本用法 Java的全局变量和全局函数
在java中被static修饰的成员变量、函数就成为全局的变量和函数。因为Java中变量、函数都在类中,所以并没有 “c式” 的全局变量、函数,用法和c++中的用法很类似,不同之处在使用时用 ClassName.variable/function ,不像c++使用::
举个例子:
public class Example
{
static public int a=555;
static public int func1()
{
return 2;
}
}
System.out.println(Example.func1()); //打印2
System.out.println(Example.a+7); //打印562
四、final
基本含义与用法同c++ const 略过
欢迎访问个人技术网站:http://www.breeziness.cn/
转载请注明出处 小风code --www.breeziness.cn