1.Java的内存
java的内存可以划分为5个部分: 1:栈(stack):存放在栈里面的都是方法的局部变量,方法的运行一定要在栈当中运行;
局部变量:方法的参数或者是方法内部的变量。
作用域 :一旦超出作用域,立刻从栈内存当中消失。
2:堆(Heap):凡是new出来的东西都在堆当中。
堆内存里面的东西都有一个地址值(16进制)。
堆内存里面的数据都有默认值;
如果是整数 默认为0
如果是浮点数 默认为0.0
如果是字符 默认为\u0000
如果是布尔 默认false
如果是引用类型 默认null
3:方法区(Method Area):存储class相关信息,包含方法的信息。
4:本地方法栈(Native Method Stack):与操作系统相关。
5:寄存器(pc Register):与CPU相关。
在基础班我们一般先了解前面3个 。
2. 字符串
1.字符串的构造方法:
创建字符串的常见3+1种方式
三种构造:
public String();
public String(char[]array);
public String(byte[]array);
一种直接创建:如String str=“Hello”;
字符串常量池:程序当中直接写上的双引号字符串就是在字符串常量池中。
字符串的比较方法:
public boolean equals(object.obj);
参数可以是任何对象,只有是一个字符串且内容相同的才会给true,否则返回false。
备注:任何对象都能用object进行接收。
如:String str1="Hello";
char[]charArray={'H','e','l','l','o'};
String str2=new String(charArray);
sout(str1.equals(str2)); //结果是true,
扩展:str1.equalsIgnorecase.str2 忽略大小写。
2,字符串的获取方法:
常用发法有:
(1) public int length();获取字符串中含有字符个数,拿到字符串长度。
如:str.length();
(2) public String concat(String str);将当前字符串和参数字符串拼接成新字符串。
如:String str=str1.concat(str2);
(3)public char charAt(int index); 获取指定索引位置的单个字符。
如:str.charAt(); 指获取字符串Str中的第4个字符。
(4)public int indexof(String str);指查找字符串在本字符串中首次出现索引的位置,如果没有返回-1值。
如:int index=str.indexof(str1);
3.字符串的截取方法:
(1)public String substring(int index);截取从参数位置一直到字符串末尾返回新字符串。
(2)public String substring(int begin,int end);截取从begin开始一直到end结束。
备注:[begin,end) 包含左边,不包含右边。
如:String str1="HelloWorld";
String str2=str1.substring(5); //"world"
String str3=str1.substring(5,9); //"worl"
4.字符串的转换方法:
(1)public char[] tocharArray();将当前字符串拆分成为字符数组作为返回值。
如:char[] chars=str.tocharArray();
(2) public byte[] getBytes(); 获取当前字符串底层的字节数组。
如:byte[] bytes=str.getBytes();
(3) public String replace (charSquence oldString,charSquence newString);
将所有出现的老字符串替换为新的字符串,返回替换之后的结果新字符串。
如:String str1="How do you do?"
String str2=str1.replace("o","*");
str2="H*w d* y*u d*?";
5.字符串的分割方法:
public String[] Split(String regex);按照参数规则将字符串切分成为若干部分。
如 String str="aaa,bbb,ccc";
String[] array=str.Split(",");
array=["aaa","bbb","ccc"];
注:若按照英文句点"."进行切分就不行。
如果要用英文句点进行切分必须写“\\.”,两个反斜杠加句点。
6. 数组工具类。Arrays
(1) public static String toString(数组):将参数数组变成字符串。
按照默认格式:[元素1,元素2,元素3......];
如:int[] intArray={10,20,30};
String str=Arrays.toString(intArray);
str=[10,20,30];
(2) public static void sort(数组);按照默认升序对数组的元素进行排序。
如:int[]array1={2,1,4,3,6,10,5};
Arrays.sort(array1);
sout(Arrays.toString(array1)); //[1,2,3,4,5,6,10];
7.数学工具类。Math
(1).public static double abs(double num);可以获取绝对值,有多种重载。
如: Math.abs(-2.5); // 2.5
(2) public static double ceil(double num); 向上取整。
如:Math,ceil(11.1); // 12.0
(3) public static double floor (double num);向下取整。
如:Math.floor(10.9); // 10.0
(4) public static long round(double num);四舍五入。
如:Math.round(3.5); // 4
(5) Math.PI 代表近似的圆周率。
|
|