黑马程序员技术交流社区

标题: java基础交流 [打印本页]

作者: 取个昵称真难    时间: 2018-10-7 12:59
标题: java基础交流
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 代表近似的圆周率。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2