Java基础 快速学习(二)

注意:本系列博客是在作者已经有一年多的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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 集合框架: 1)特点:存储对象;长度可变;存储对象的类型可不同2)Collection(1)List:有序的;元素...
    Demo_Yang阅读 5,066评论 0 4
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,955评论 18 399
  • 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?答:可以有多个类,但只能有一个publ...
    岳小川阅读 4,502评论 0 2
  • 有人的地方就会有故事。 电视剧里总是能轻易地就说着三年、四年乃至十年前的故事,仿佛那些彻夜的难眠,苦痛的挣扎,都...
    刘小过阅读 4,633评论 0 1
  • 今天晨读分享的书是《靠谱:顶尖咨询师教你的工作基本功》,作者大石哲之分享了三个方面的内容:遇到了“小白”、用数据“...
    薛薛闲扯阅读 650评论 0 2