* [String 类]
* 1. String类位于java.lang包中,java.lang是java的语言包,使用时无须导包,自动导入。
*
* 2.拿到一个字符串对象:
* ①字面量声明:String s="真辛苦";
* ② new关键字声明: String s1=new String("校长");
*
*
* s.length(): 返回字符串的长度,length()是一个方法,使用时注意()
*
* String s1="123"; 位于静态常量区
* s1.equals(s2):判断字符串是否相等;
* .equals()比对原理,是判断两个字符串的每一个字符是否相等;
* ==的比对原理,是判断两个字符串中存储的地址是否相等。
*
* s.equalsIgnoreCase(s1):忽略大小写比对;
* s.toLowerCase() :将所有字符转化为小写
* s.toUpperCase():将所有字符转化为大写
*
* 连接字符串:
* ① 使用+连接
* ② 使用s1.concat(s2)连接,将s2连接到s1后面,并返回一个新字符串
*
* .indexOf(): 在字符串中查找指定的字符或子串第一次出现的位置,并返回其下标,没有找到返回-1;
* 可以接受字符串、字符、整数类型的参数,如果传入整数,将根据ASCII码自动转换为字符(A-65 a-97;
*
* .lastIndexOf(): 在字符串中查找指定的字符或子串最后一次出现的位置,并返回其下标,没有找到返回-1
*
* s.substring(3, 5) :截取字符串的指定位置,返回一个新的子串
* ①传入一个参数,表示起始下标,将从此下标开始,一直截取到字符串最后;
* ②传入两个参数,表示起始下标和结束下标,为左闭右开区间
*
* .trim(): 去掉字符串两端的空格。
*
* .s.replace("a", "*") 将字符串指定区域,用新的字符串替换掉。
*
*
* s.split(""); 传入指定字符,将字符串分割为多个子串,返回一个字符串类型的数组;
*
* 如果传入一个空字符串,则将原字符串的每一个字符都进行分割。
* s.split("" ,5); 第二个参数,可以传入一个整数,表示将当前字符串分为几部分;
* 如果传入的整数,小于原来分隔总部分,则剩余的区域不再分隔
 
 
charAt(i) : 返回char指定索引处的值。 指数范围为0至length() - 1 。 该序列的第一个char值在索引0 ,下一个索引为1 ,依此类推,与数组索引一样。
[StringBuffer 类]
* 1.StringBuffer 是String的增强版,位于java.lang包中;
* 2.StringBuffer 与String的最大区别在于:StringBuffer 是可变可追加的,而String一旦声明不可改变,不能插入;
*
*
* .toString():将StringBuffer 类型,转成String类型,但在输出时,可以不用转换,将自动进行转换。
*
* .append(); 在原字符串的最后追加新的字符
* ① 原字符串会被直接改变;同时还会将追加之后的字符串返回
* ② append可以接受各种类型的参数,会自动转成字符串后追加到原字符串最后。
*
* delete():传入两个下标,表示删除这两个下标之间的区间,左闭右开
* .deleteCharAt(1); 传入一个下标,删除指定位置的一个字符
*
* indexOf(String str, int fromIndex)
返回指定子串的第一次出现的字符串中的索引,从指定的索引开始。
 
.insert(3,"厉害"); 在原字符串的指定下标位置,插入新的子串,新的子串可以是任何数据 类型,其他数据类型将会自动转化为字符串

一、面向对象 & 面向过程
面向过程:专注于如何去解决一个问题的过程。特点:每一个功能都出现了函数,也就是由一个个函数实现解决问题的一系列步骤。(C语言)
面向对象:专注于由哪个对象来解决问题,而调用者无需关注对象实现的细节。特点:出现了一个个类,从类中拿到对象,通过对象解决问题。(java、php、c++、c#、Python)
面向机器: 汇编语言。
面向对象的三大特征: 继承,封装,多态。
 
二:类 & 对象
类:具有相同属性和行为的个体的集合就是类。类是一个抽象的概念,只能说类具有那些属性,而不能对属性赋值,因此对象的抽象化是类,类的具体化就是对象。
类具有属性,对象的属性,用成员变量来描述,通过封装数据实现。
类具有行为,对象的行为,用方法来描述。
对象:从类中拿出具有属性值的个体,称为对象。 对象是从类中拿出的一个具体的个体,需要对属性进行具体的赋值。
类和对象的关系: 对象的抽象化是类,类的具体化就是对象。
类是对象的描述,对象是类的个体。
程序中由类产生对象。
 
声明一个类:[修饰符]  class   类名{
[修饰符] 属性类型 属性名
[修饰符] 返回值类型 方法名
}
 
步骤:
(1):声明一个类,并且声明类中的属性和方法。
(2):实例化一个类,在主函数中使用new关键字实例化。
(3):使用类中的属性、方法。
 
 

定义类的注意:
    (1):如果类使用了public修饰符,必须保证当前文件名称和当前类名相同.
    (2):类名使用名称表示,类表示某一类事物,首字母大写,如果是多个单词组成使用驼峰表示法.
    (3):在面向对象的过程中,各位定义类的时候,专门为描述对象提供一个类,该类不需要main方法.
构造函数:
(1):构造函数与类名相同。
(2):构造函数没有返回值(void都没有),不需要使用return语句。
(3):构造函数分为有参构造函数和无参构造函数。
 
构造函数的作用:在实例化对象的时候,赋初始值。

构造函数无需手动调用,在实例化对象的时候会自动调用。
注意:如果没有写构造函数,那么系统会自动创建一个缺省的构造函数;如果写了带参构造函数,那么会覆盖掉缺省的构造函数。
 
【方法的返回值】
(1)如果方法有返回值,可以使用return返回结构;
(2) 如果方法没有返回值,需要设置返回值void,而且方法中必须没有return
(3) 有返回值的方法,调用时不一定必须接受返回值
(4)没有返回值的方法,调用时一定不能接收返回值
[方法的调用]
(1)声明的方法,只有在调用的时候才能执行方法体中的代码
(2)在本类的其他方法中调用:使用方法名(); 或者使用 this.方法名();
调用其他类中的方法,首先应该实例化拿到对象,在通关对象名调用方法,即 :对象名.方法();
[方法的参数]
(1)声明方法时,可以在()中设置调用方法时需要传入的参数列表,多个参数之间用逗号分离;
public void eat( String food,int count){
}
声明方法时的参数列表,称为形参列表;
(2) 调用方法时,必须按照形参列表的要求,一一传入对应的参数值
d.eat("牛奶", 12);
调用方法时的参数列表,称为实参列表
[成员变量与局部变量]
(1)成员变量:写在方法体外 面,直接在类中声明的属相,称为成员变量。
成员变量的作用范围在整个类中可以使用
(2)局部变量:在方法体里面声明的变量,叫做局部变量;
局部变量只有在当前方法体中有效,方法的形参列表,都属于局部变量。
(3) 成员变量和局部变量的区别:
作用域不同;
初始值不同,java中成员变量会默认赋初识值,局部变量没有默认初始值;
优先级不同:当成员变量与局部变量重名

JAVA基础之字符串和面向对象的更多相关文章

  1. java基础练习 字符串,控制流,日历,日期等

    1,对基本控制流程的一些练习 package org.base.practice3; import org.junit.Test; /** * Created with IntelliJ IDEA. ...

  2. 再回首,Java温故知新(八):Java基础之字符串

    字符串是Java中使用频率最高的类,但是它却不属于基本类型,而是预定义了String类来表示.从String类的源码可以看到,String是基于char[]实现的,而且Java中的String是不可变 ...

  3. 【Java基础】【09面向对象_多态&抽象类&接口】

    09.01_面向对象(多态的概述及其代码体现) A:多态(polymorphic)概述 事物存在的多种形态 B:多态前提 a:要有继承关系. b:要有方法重写. c:要有父类引用指向子类对象. C:案 ...

  4. Java基础(二)面向对象(上)

    面向对象基础知识 面向对象是相对面向过程而言的 面向对象和面向过程都是一种思想 面向过程强调的是功能行为 面向对象将功能封装进对象,强调具备了功能的对象 面向对象是基于面向过程的 面向对象的特征: 封 ...

  5. java基础(6)---面向对象,类,包

    一.类 类对象内存:  成员变量和局部变量: 成员变量:类中定义的一些私有变量,表示对象的属性. 局部变量:局部变量是在方法体里创建的,在方法体外是访问不到这个变量的. public class te ...

  6. java基础4_字符串

    一 字符串 Java字符串关键字是String,是一个类,创建新的字符串即创建一个新的对象. 1.字符串的声明及初始化. String str; //只做声明 String str1="aa ...

  7. java基础(七)面向对象(二)

    这里有我之前上课总结的一些知识点以及代码大部分是老师讲的笔记 个人认为是非常好的,,也是比较经典的内容,真诚的希望这些对于那些想学习的人有所帮助! 由于代码是分模块的上传非常的不便.也比较多,讲的也是 ...

  8. java基础 (六)面向对象(一)

    这里有我之前上课总结的一些知识点以及代码大部分是老师讲的笔记 个人认为是非常好的,,也是比较经典的内容,真诚的希望这些对于那些想学习的人有所帮助! 由于代码是分模块的上传非常的不便.也比较多,讲的也是 ...

  9. java基础(5)----面向对象

    编程思想: 简单的说一下,我们学习编程,最重要的就是要有编程思想,而编程思想无非就是面向过程和面向对象,以下谈谈我对编程思想的理解. 面向过程: 从过程入手,第一步,第二步--.借助过程与过程的配合, ...

随机推荐

  1. WebService之CXF注解之三(Service接口实现类)

    ITeacherServiceImpl.java: /** * @Title:ITeacherServiceImpl.java * @Package:com.you.service.impl * @D ...

  2. Struts+Spring+Hibernate、MVC、HTML、JSP

    javaWeb应用 JavaWeb使用的技术,比如SSH(Struts.Spring.Hibernate).MVC.HTML.JSP等等技术,利用这些技术开发的Web应用在政府项目中非常受欢迎. 先说 ...

  3. eclipse -解决Unhandled event loop exception GC overhead limit exceeded

    今天第一次遇到这个问题, 拿出来和大家分享一下. 首先说明下我发现这个错误的过程,  看下面的三张图片 1,在本地weblogic发布项目的时候 2 , 等待一段时间, 出现以下错误 3 ,  点击上 ...

  4. 异常-----Can't convert the date to string, because it is not known which parts of the date variable are in use. Use ?date, ?time or ?datetime built-in, or ?string.\u003Cformat> or ?string(format) built-

    1.错误描述 五月 27, 2014 12:07:05 上午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严重: Template proc ...

  5. Android中selector的使用

    第一种方法(强烈推荐) 方法:selector做遮罩,原图做background. 我们做按钮的时候经常需要用两个图片来实现按钮点击和普通状态的样式,这就需要提供两种图片,而且每个分辨率下还有多套图片 ...

  6. gprecoverseg导致的元数据库问题致使数据库无法启动以及修复

    一.现象描述 在一次执行gprecoverseg后发现数据库无法正常连接,现象如下: 执行gprecoverseg日志如下: gprecoverseg:mdw-:gpadmin-[INFO]:-Sta ...

  7. Asp.net mvc 5 razor

    一开始学习dotnet的web项目是Asp.net webform,完全不理解项目为什么要这样设计,就简单的使用ajax调用后台的代码不好吗?为什么还要搞一些什么代码后置的东东. 还有就是有各种加载问 ...

  8. 【BZOJ3529】数表(莫比乌斯反演,树状数组)

    [BZOJ3529]数表(莫比乌斯反演,树状数组) 题解 首先不管\(A\)的范围的限制 要求的东西是 \[\sum_{i=1}^n\sum_{j=1}^m\sigma(gcd(i,j))\] 其中\ ...

  9. 【BZOJ4071】八邻旁之桥(线段树)

    [BZOJ4071]八邻旁之桥(线段树) 题面 BZOJ权限题,洛谷链接 题解 既然\(k<=2\) 那么,突破口就在这里 分类讨论 ①\(k=1\) 这...不就是中位数吗.... 直接把所有 ...

  10. 【Luogu1272】重建道路(动态规划)

    [Luogu1272]重建道路(动态规划) 题面 题目描述 一场可怕的地震后,人们用N个牲口棚(1≤N≤150,编号1..N)重建了农夫John的牧场.由于人们没有时间建设多余的道路,所以现在从一个牲 ...