您的位置:首页 > 编程语言 > Java开发

Java复习之数字与字符串

2016-07-16 17:23 531 查看

一 装箱拆箱

1. 封装类

所有基本类型对应的类类型

基本类型可以和类类型相互转换

package digit;

public class TestNumber {

public static void main(String[] args) {
int i = 5;

//把一个基本类型的变量,转换为Integer对象
Integer it = new Integer(i);
//把一个Integer对象,转换为一个基本类型的int
int i2 = it.intValue();

}
}


2. Number类



package digit;

public class TestNumber {

public static void main(String[] args) {
int i = 5;

Integer it = new Integer(i);
//Integer是Number的子类,所以打印true
System.out.println(it instanceof Number);
}
}


3. 自动装箱、拆箱

不需要调用构造方法,通过
=
符号自动把基本类型转换为类类型就叫装箱。

不需要调用Integer的
intValue
方法,通过
=
就自动转换成int类型,就叫拆箱.

int i = 5;
Integer it = i;                     //装箱
int i2 = it;                        //拆箱


4. int 的最大值、最小值

Integer.MAX_VALUE,Integer.MIN_VALUE


二 字符串转换

1. 数字转字符串

方法1: 使用String类的静态方法valueOf

方法2: 先把基本类型装箱为对象,然后调用对象的toString

int i = 5;

//方法1
String str = String.valueOf(i);
//方法2
Integer it = i;
String str2 = it.toString();


2. 字符串转数字

调用Integer的静态方法
parseInt


String str = "999";
int i= Integer.parseInt(str);


三 数学方法

java.lang.Math提供了一些常用的数学运算方法,并且都是以静态方法的形式存在

###1. 四舍五入, 随机数,开方,次方,π,自然常数

float f1 = 5.4f;
float f2 = 5.5f;
//5.4四舍五入即5
System.out.println(Math.round(f1));
//5.5四舍五入即6
System.out.println(Math.round(f2));

//得到一个0-1之间的随机浮点数(取不到1)
System.out.println(Math.random());

//得到一个0-10之间的随机整数 (取不到10)
System.out.println((int)( Math.random()*10));
//开方
System.out.println(Math.sqrt(9));
//次方2的4次方
System.out.println(Math.pow(2,4));
//π
System.out.println(Math.PI);

//自然常数
System.out.println(Math.E);


四 格式化输出

%s 表示字符串
%d 表示数字
%n 表示换行                 //平台无关


1. 换行符

换行符就是另起一行 --- '\n' 换行(newline)
回车符就是回到一行的开头 --- '\r' 回车(return)
在eclipse里敲一个回车,实际上是回车换行符
Java是跨平台的编程语言,同样的代码,可以在不同的平台使用,比如Windows,Linux,Mac
然而在不同的操作系统,换行符是不一样的
(1)在DOS和Windows中,每行结尾是 “\r\n”;
(2)Linux系统里,每行结尾只有 “\n”;
(3)Mac系统里,每行结尾是只有 "\r"。
为了使得同一个java程序的换行符在所有的操作系统中都有一样的表现,使用%n,就可以做到平台无关的换行


总长度,左对齐,补0,千位分隔符,小数点位数,本地化表达

int year = 2020;
//总长度,左对齐,补0,千位分隔符,小数点位数,本地化表达

System.out.format("%d%n",year);
System.out.format("%8d%n",year);
System.out.format("%-8d%n",year);
System.out.format("%08d%n",year);
System.out.format("%,8d%n",year*10000);
System.out.format("%.2f%n",Math.PI);
System.out.format(Locale.US,"%,.2f%n",Math.PI*10000);
System.out.format(Locale.UK,"%,.2f%n",Math.PI*10000);


五 字符

保存一个字符的时候使用char

char对应的封装类 character

常用方法

System.out.println(Character.isLetter('a'));//判断是否为字符
System.out.println(Character.isDigit('a')); //判断是否为数字
System.out.println(Character.isWhitespace(' ')); //是否是空白
System.out.println(Character.isUpperCase('a')); //是否是大写
System.out.println(Character.isLowerCase('a')); //是否是小写

System.out.println(Character.toUpperCase('a')); //转换为大写
System.out.println(Character.toLowerCase('A')); //转换为小写

String a = 'a'; //不能够直接把一个字符转换成字符串
String a2 = Character.toString('a'); //转换为字符串


常见转义字符



六 字符串

1. 性质

和C++ STL 中的 std::string在创建过程,相加(+)方面类似,不可继承(final),一旦定义,不可更改(immutable),可以为空。

2. 常用方法

(并没有列出所有的重载函数)

String str = "java是面向对象式语言";
//charAt(int index)获取指定位置的字符
char c1=str.charAt(0);
//toCharArray()获取对应的字符数组
char[] cs=str.toCharArray();
//截取子字符串
String subStr1=str.substring(3,5);
//split根据分隔符进行分隔,分割成String数组
String subStr2[]=str.split(",");
//trim去掉首尾空格
String str2 =" "+str;
String str3 =str2.trim();
//大小写
String str4="Green";
String str5=str4.toLowerCase();
String str6=str4.toUpperCase();
//indexOf 判断字符或者子字符串出现的位置,contains 是否包含子字符串
//replaceAll 替换所有的 ,replaceFirst 只替换第一个


3. 字符串比较

1)是否为同一个对象

该引用必须指向同一个对象。

当一般说来,编译器每碰到一个字符串的字面值,就会创建一个新的对象。但是编译器发现已经存在现成的字面值时,那么就直接拿来使用,而不会进行重复创建。

2)内容是否相同

使用equals进行字符串内容的比较,必须大小写一致

equalsIgnoreCase,忽略大小写判断内容是否一致

3)是否以子字符串开始或者结束

startsWith  //以...开始
endsWith    //以...结束


StringBuffer 可变长的字符串 和C++ 的std::string完全类似。

关键字

append delete insert reverse
length capacity
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java string