Java基础 快速学习(二)

xiaoxiao2021-02-28  91

注意:本系列博客是在作者已经有一年多的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    略过 ---------------------------------------------------------------- 本系列文章: Java基础 快速学习(一)Java基础 快速学习(二)Java基础 快速学习(三)Java基础 快速学习(四)Java基础 快速学习(五) 我的个人网站 http://www.breeziness.cn/  我的   http://blog.csdn.net/qq_33775402 转载请注明出处 小风code   www.breeziness.cn

转载请注明原文地址: https://www.6miu.com/read-28709.html

最新回复(0)