欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java基础第三篇

程序员文章站 2022-04-08 23:04:29
6.Java 中的容器(重点) a.变量:变量是一个容器,它存储的单个值 //int i=3; 1.局部变量:定义在方法中,没有默认值 2.成员变量:定义在类中方法外,这个事物的属性(特征)定义为成员变量,有默认值 class Hero{ String heroName;//类中所有的方法都能使用 ......

6.java 中的容器(重点)

a.变量:变量是一个容器,它存储的单个值 //int i=3;

1.局部变量:定义在方法中,没有默认值

2.成员变量:定义在类中方法外,这个事物的属性(特征)定义为成员变量,有默认值

class hero{

string heroname;//类中所有的方法都能使用

public void method(int m){//方法形参上的变量也是局部变量,仅能在方法中

  int i=3;//仅能在方法中使用

}

public void method2(){

  int i=3;

}

public void method3(){

  int i=3;

}

}

b.对象:对象也是一个容器,它存储的所属类的各个属性值//phone p=new phone();//品牌,价格

 

a:什么是面向过程

  面向过程,其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求。

b:什么是面向对象

  面向对象思想就是不断的创建对象,使用对象,指挥对象做事情。(如果有对象,直接用对象,对我们直接提供服务)

a:面向过程:

  强调的是过程,所有事情都需要自己完成

b:面向对象:

  是一种更符合我们思想习惯的思想(懒人思想,我把事情自己不做,交给别人去做)

   可以将复杂的事情简单化(对使用者来说简单了,对象里面还是很复杂的)

  将我们从执行者变成了指挥者角色发生了转换

c.数组:数组存储同一种数据类型的容器// int[] arr={1,2,4,5,6};

1.每个元素都对应一个角标:string[] jijie={"冬季","春季","夏季","秋季"}

2.获取数组的长度:length 属性

3.两种初始化方式:

静态初始化:

int[] arr={1,2,3,4};

int[][] arr2={{1,2,3},{4,5,6}}

动态初始化:

int[] arr=new int[4];

int[][] arr2=new int[3][4];//有三个一维数组,每个一维数组的长度都是4

    

h.当方法参数是引用类型,那么调用方法时需要得是该引用类型的对象.

  

  当方法的返回值是引用类型,那么调用方法,我们要返回的是一个对象

  

  a:封装概述

   是面向对象三大特征之一

   是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。就像刚才说的年龄。

  b:封装原则:

   将不需要对外提供的内容都隐藏起来。

   把属性隐藏,提供公共方法对其访问。

   成员变量private,提供对应的getxxx()/setxxx()方法

  c:好处:

   通过方法来控制成员变量的操作,提高了代码的安全性

   把代码用方法进行封装,提高了代码的复用性

  

f.string:字符串.由多个字符组成的一串数据(字符串其本质是一个字符数组)

 

  构造方法:

  string(string orininal) : 把字符串数据封装成字符串对象

  

  string(char[] value) : 把字符数组的数据封装成字符串对象

  

  string(char[] value,int index,int count) :把字符数组中的一部分封装成字符串对象.(从0索引开始取chs.length(5)个char类型的数据封装成string 对象)

  

  注意: 通过构造方法创建字符串对象是在堆内存.

     直接赋值方法创建对象是在方法区的常量池.

  

  == : 1.基本数据类型:比较得是基本数据类型的值是否相同

   2.引用数据类型:比较得是引用数据类型的地址值是否相同

    

  object :是类层次结构中的跟类,所有的类都直接或者间接的继承该类.

  

  注意:如果一个方法形式参数是object,那么这里我们就可以传递它的任意的子类对象.

  

  string类的判断功能:

  boolean equals(object obj) :比较字符串的内容是否相同.

  boolean equalsignore(string str):比较字符串的内容是否相同,忽略大小写

  boolean starwith(string str) : 判断字符串对象是否以指定的str开头

  boolean endswith(string str) : 判断字符串对象是否以指定的str结尾

  boolean contains(string str) : 判断是否包含传入字符串,包含为true

  

  string类的获取功能:

  int length() : 获取字符串的长度,其实也就是字符个数.

  char charat(int index) : 获取指定索引处的字符

  int indexof(string str) : 获取str在字符串对象中第一次出现的索引.(如果没有找到就返回-1);

  string substring(int start) : 从start开始截取字符串

  string substring(int start,int end) : 从start开始,到end结束截取字符串,包括start,不包括end.

  

  string类的转换功能:

  char[] tochararray() : 字符串转换为字符数组

  string tolowercase() : 把字符串转换为小写字符串

  string touppercase() : 把字符串转换为大写字符串

  

  string类的其他功能:

  string trim() : 去除字符串两端空格.

  string[] split(string str) : 按照指定符号分割字符串

  boolean contains(string str) : 判断是否包含传入字符串,包含返回true,不包含返回false;

  string replace(string old,string new) : 返回一个新的字符串,它是通过用string new替换此字符串中出现的所有string old得到的.

  

  扩展:

  static string format(locale l,

string format,

object... args))

              意思是: 有两部分组成,一个部分是一种格式由字符串形式表示出来,这个字符串里面有占位符和其他字符组成,占位符表示一个变量,(占位符的格式是百分号%,百分号后面再接一个字母,来表示这个变量是什么数据类型)

              第二个部分是变量解释,解释变量的顺序,就是占位符从前到后的顺序,一个解释对应一个占位符.

  

  byte[] getbytes(string charsetname) : 使用指定的字符集将此string 编码为byte序列,并将结果存储到一个新的byte数组中.

  

  

  

d.集合(arraylist):集合中存储的是尖括号(泛型)中的类型的数据// arraylist<string> al=new arraylist<string>();

a.定义:

arraylist<只能写引用数据类型,写什么类型代表集合中存储什么类型> al=new arraylist<同前面一致>();//化学实验室瓶子上的标签

b.方法回顾:(create read update delete)

1.增:

add(尖括号中的元素类型 ele)

add(int index,尖括号中的元素类型 ele)

2.删:

remove(尖括号中的元素类型 ele)//按照元素的内容删除该元素

remove(int index)//按照指定的索引删除

3.改:

set(int index,尖括号中的元素类型 ele)

4.查:

尖括号中的元素类型 get(int index)

int size()

     boolean contains(string str) : 此集合中是否包含指定的子字符串,如果是返回true,否则false;

 

  注意:

   直接打印集合的引用:

     如果是java写好的数据类型的话,会直接打印元素

      如果是自定义类,将打印地址值

  

  string用+= 拼接字符串耗费内存的原因:

   每次拼接都会产生新的字符串对象,而利用stringbuilder来桥接字符串自始至终用的都是同一个stringbuilder容器.

    

    

e.字符缓冲序列(stringbuilder):它里面可以添加任意类型数据,但是最终所有的数据都是以字符存储的//stringbuilder sb=new stringbuilder()

1.应用场景: 只要拼接字符串优先考虑stringbuilder,不要再用+=

把数组拼接成[1, 2, 3]

2.构造方法:

a. stringbuilder sb=new stringbuilder();//创建一个空的容器

b. stringbuilder sb2=new stringbuidler("abc");//容器一有,里面就装有abc

3.成员方法:

a.stringbuilder append(任意数据类型):不断向stringbuilder容器末尾追加

返回的是已经装了元素的stringbuilder容器

b.stringbuilder reverse():返回的是内容已经反转的stringbuilder容器

 

c.string tostring()//将stringbuilder中的数据返回一个字符串

 

d.delete(int start,int end)//将[start,end-1]之间的字符全部删掉

  

   length(): 返回长度

    

    int indexof(string str) : 获取str在字符串对象中第一次出现的索引

  

  包装类:

  

  byte      byte

  short     short

  int       integer

  long      long

  float     float

  double      double

  boolean     boolean

  char      character

  

  调用方法用快捷键输出返回类型: ctrl + 2 + l

  

  扩展

  add方法的返回值是boolean 类型,返回得是存储状态.