发表于: 2017-04-30 23:56:40

1 1369



问题:

根据前几天做任务的情况,发现没基础还是不行。

准备用五天时间补:java基础语法,面向对象概念


今天完成:

基础语法

String类

1.声明字符串
String str =[null];
String:指定改变量为字符串类型
str:任意有效的标识符,表示字符串变量的名称
null:如果省略null,表示str变量是未初始化的状态,否则表示字符串的值等于null
注:声明字符串变量必须经过初始化,才能使用,否则编译器会报出:变量未初始化错误。
2.创建字符串
String(char a[])方法
用一个字符数组a创建String对象
char a[] = {'g','o','o','d'};
String s = new String(a);
上面的方法等同于String s = new String("good");
String(char a[],int offset,int length)方法
提取字符数组a中的一部分创建一个字符串对象,参数offse表示开始截取的字符串位置,lenth表示截取字符串的长度。
String s = new String(a,1,2);
引用字符串常量来创建字符串变量
String str1,str2;
str1 = “hello";
Str2 = "hello";
3.连接字符串
使用”+“加号连接字符串
String s = str1+str2;
控制台输出等于:s = hellohello;
java中相连的字符串不能分开在两行写,如果要分开需要+号连接
4.字符串查找
Str.indexOf(hello);
str:任意字符串对象
hello:要搜索的字符串
indexOf():返回的是搜索的字符串首次出现的位置
lasiIndexOf():返回的是搜索的字符串最后一次出现的位置
注:如果没有检索到字符串,则返回-1;
        如果在lastIndexOf()方法中的参数是空字符串"",则返回整个字符串
        整个字符串的长度
5.获取指定位置的字符串字符
str.charAt(5);
charAt(5):是获取字符串str对象,索引位置5的字符
6.获取子字符串
str.substring(int beginIndex)
获取从指定位置开始到字符串结尾的字符
str.substring(int beginIndex,int endIndex)
获取从指定位置开始,到指定位置结束的字符
7.去除空格
str.trim()
忽略字符串前导和尾部的空格
8.字符串替换
str.replace(char oldChar,char newChar);
例子:String str = "hello world";
String  str1 = str.replace("o","e");
替换后str1 = helle werld;
注意:replace会替换掉所有包含要替换的字符
9.判断字符串的开始与结尾
startsWith()与endsWith()方法分别用于判断字符串是否以指定内容开始或结束,这个两个方法的返回值都是boolean类型
String a = "1234";
String b = "1234";
boolean a1 = a.startsWith("1")  结果是true
boolean b1 = b.endsWith("1")  结果是false
10.判断字符串是否相等
对字符串比较不能用==,因为==是比较两个字符串的地址是否相同,而不是内容
需要用equals()方法和equalsIgnoreCase()方法,第一个是区分大小写,第二个不区分大小写,它们返回都boolean值
11.按字典顺序比较两个字符串
compareTo()方法为按中各个字符串的值进行比较
如果将此string对象表示的字符序列位于参数字符序列之前则比较结果为一个负整数,如果在之后结果为正整数,如果两个字符串相等,则结果为0;
12.字母大小写转换
toLowerCase()将字符串转换成小写
toUpperCase()将字符串转换成大写
13.字符串的分割
split(String sign)按给定的分隔符sign对字符串进行拆分,并将分割后的结果存放在字符串数组中
split(String sign,int limit)按给定的分隔符sign对字符串进行拆分,并限定分割次数。将分割后的结果存放在字符串数组中
结果需要遍历字符串数组,才能看到
14.格式化字符串
str.format(String format,Object...args)
format:格式字符串
args:引用的参数
日期格式化:
时间格式化:
日期时间格式化:
常规类型格式化
15.正则表达式
16.字符串生成器
创建成功的字符串对象,其长度是固定的,内容不能被改变和编译。虽然可以用+号达到符加新字符或字符串的目的。但+会产生一个新的String类,会在内存中创建新的字符串对象,如果重复对字符串进行修改,将极大增加系统开销。使用StringBuilder可以提高效率,若要使用StringBuilder最后输出字符串结果,可使用toString()方法。
利用StringBuilder类方法可动态执行 添加,插入,删除等字符串的编辑操作
append()方法
字符串追加内容
使用语法:append(需要追加的内容);
insert(int offset,arg)方法
向字符串指定位置插入内容
使用语法:insert(int offsett arg);
delete()方法
删除从指定位置开始到指定结尾的内容

使用语法:delete(int start,int end);


Integer类

java.lang包中的Integer类,Long类和Short类分别将基本类型int,long,short封装成一个类,由于这些类都是Number子类,区别就是封装不同的数据类型,其包含的方法基本相同。
Integer类在对象中包装了一个基本类型的int值,该类的对象包含一个int类型的字段。此外,该类提供了多个方法,能在int类型和String类型之间互相转换,同时提供了其他一些出来int类型时非常有用的常量和方法。
构造方法
Integer number = new Integer(int number)
该方法以一个int类型变量作为参数来获取Integer对象
Integer number = new Integer(String str)

该方法以一个String类型变量作为参数获取Integer对象

parseInt方法

public static int parseInt(String s)

该方法的作用是将数字字符串转换为int数值。将字符串转换为对应的int数字是一种比较常见的操作。使用示例如下:

                   String s = “123”;

                   int n = Integer.parseInt(s);

则int变量n的值是123,该方法实际上实现了字符串和int之间的转换,如果字符串都包含的不是都是数字字符,则程序执行将出现异常。


toString方法

public static String toString(int i)

该方法的作用是将int类型转换为对应的String类型。

                   使用示例代码如下:

                       int m = 1000;

                       String s = Integer.toString(m);

                       则字符串s的值是”1000”。


在Integer类中自动装箱和自动拆箱问题中遇到的问题:

Integer  d = 1234; 

Integer  d2 = 1234;

System.out.println(d==d2); 

 System.out.println(d.equals(d2)); 

 System.out.println("###################"); 

 Integer d3 = -100;    //[-128,127]之间的数,仍然当做基本数据类型来处理。 

 Integer d4 = -100;

 System.out.println(d3==d4); 

 System.out.println(d3.equals(d4));


显示结果:

false
true
###################
true
true

原因:查看内部实现代码可知,Integer类有一个缓存问题,它会缓存-128~127之间的整数。也就是说如果将-128~127之间的数值赋值给Integer类对象,在比较两个对象(d3==d4)时比较的是两个对象的数值。超过这个范围比较的是对象的内存地址

以上两个类对象进行比较数值的方法适用于所有包装类






明天计划:

学习:Long,Array,List,Map



返回列表 返回列表
评论

    分享到