Java基础和面向对象

Java基础和面向对象

一、数据类型和运算符

  1. 标识符
  • 组成:字母、数字、下划线、$
  • 首字母:不能是数字
  • 见名知义
  • 不能是关键字(48个)

正确的:name、name123、age、_name、$name

错误的:1name、public、123、na%me

标识符主要给一个元素起名字,需要符合起名字的以上4种规则。比如说,类的名字:首字母大写;变量名称:小写;方法名称:驼峰命名;数组名称、接口名称、集合名称。

//你定义为汉字也可以,不过不推荐,因为国际语言以English为主。为了面向世界,使用字母吧。

  1. 变量:值可以改变的量

举例:int age;     int data = 5;

  1. 常量:值确定后无法再改变的量。final
  2. 数据类型

n  值类型(基本数据类型)

4大类8小种:

²  整型:byte、short、int、long

²  浮点型:float、double

²  字符型:char     值需要被单引号包裹

²  布尔型:boolean  值只能是true和false

n  引用类型

//类型转换:占用字节少的,可以赋值为占用字节大的类型。比如可以定义:long a =5;

double f = 1.65f ;  double  m = 90;

默认整型是int 类别,小数型是double。Char是用单引号‘’,String使用双引号“”(英文)。

  1. 运算符

n  赋值运算符:=

n  算术运算符:+ - * / %

n  逻辑运算符:&&    ||    !  ^


True   && true = true


False   && true = false


True   && false= false


False   && false= false


True   && true = true


False   && true = true


True   && false= true


False   && false= false


True ^   true = false


False ^   true = true


True ^   false= true


False ^   false= false


! true = false


!   false= true

//一般使用短路运算,为了提高计算机的运算效率。对于

&& 与运算符,第一个为false,不会计算第二个表达式;

|| 或运算符,第一个为true ,不会计算第二个表达式;

n  关系运算符:>、<、>=、<=、==、!=

n  自增自减:++、--

int a = 5; a++;++a;--a;a--;

n  三元运算符:

只有1个:     布尔表达式 ? 表达式一 : 表达式二

int a = 5 != 6 ? 7 : 9;     boolean result =  5==5 ? true:false;

二、流程控制

  1. 分三种:顺序、选择、循环
  2. 选择:if – else、switch

n  if – else:


格式一


格式二


格式三


if( 布尔表达式 ){

}


if(布尔表达式){

}else{

}


If(布尔表达式){

}else if(布尔表达式){

}……{

}else{

}

n  语法格式:


switch(变量){

case   值1:

… …

break;

case   值2:

… …

break;

……

default:

break;

}

n  比较:范围比较用If-else,如果只固定的几个等值则使用switch。

//注意break 与 return的区别。Break是退出这个循环,return是退出这个方法(函数)。

  1. 循环:while、do-while、for

While循环:

While(条件判断){

程序代码

变量发生改变

}


do-while循环:

do{

程序代码

变量发生改变

}while(条件判断);


For 循环:

For(变量;条件判断;变量变化){

程序代码

}

While中主体的程序代码中,变量一定要变化,否则易成为死循环,for中变量在最后,也需要发生变化。一般是循环的步骤如下:先判断条件---执行代码----变量变化----条件判断------执行代码……

Do-while至少会执行一次程序代码。

三、数组

  1. 存储数据类型相同的一组数据。
  2. 语法: 数据类型[]  变量名 = new 数据类型[长度];

举例:int[] scores = new int[20];

  1. 注意事项:

n  数组的长度一旦确定后,就无法改变

n  数组的四个要素:数组名、下标、元素、长度

n  数组中的每一个元素都有1个下标相对应

n  数组的下标从0开始

n  数组的长度:数组名.length

  1. 示例

int[]   scores = new int[5];

//赋值

scores[0]   = 5;

Scanner   input = new Scanner(System.in);

For(int I   = 0; I < scores.length; i++){

Scores[i] = input.nextInt();

}

//取值(循环)

For(int   item : scores){

System.out.println(item);

}

四、类和对象

  1. 对象:万事万物皆对象
  2. 类:具体相同属性和方法的对象的集合
  3. 语法: 访问修饰符+类名
  4. 注意事项

n  类是抽象的,对象的具体的。

n  类名首字母大写

n  实例化类的对象:   类名  对象名 = new 类名();

  1. 方法

语法:访问修饰符  返回值类型  方法名(参数列表){… …}

示例:public  void  test(){

}

调用:对象名.方法名()进行调用

  1. 静态方法

定义:被static修饰的方法就是静态方法。

调用:类名.方法名()进行调用

  1. this 调用当前类里面的方法或属性,使用this
  2. super调用父类里面的方法或属性,使用super
  3. 方法的重载

定义:在一个类中,存在方法名相同,参数列表不同的多个方法。

注意:参数列表不同(参数个数不同、参数类型不同、参数顺序不同)

10.构造方法

特点:构造方法的方法名和类名相同;没有返回值类型。

//构造方法就是在构建此类对象的时候使用,可以提高创建对象的效率。

五、封装和继承

封装:将属性的访问修饰符设置为private ,同时添加get获取以及set设置方法的过程,成为封装。

封装主要是减少子类对父类属性的随意修改,可以在set方法中添加一些判断条件,控制子类对象对其进行修改的操作。

继承就是子类对象可以通过.方法名/属性名 的方式获取父类的public修饰的属性或方法,而父类不能调用子类特有的属性或方法。即逻辑上子类对象可以调用父类,父类对象不能调用子类。

六、继承和多态

多态:同一父类的多个子类对象,在执行父类方法的时候,可以输出不同的值,就叫多态。

多态的前提是方法的重写和继承的特性。

子类重写了父类的方法,所以在执行子类对象的时候,就会使用与父类不同的代码,从而输出不同的结果。

如果没有重写父类方法,就执行父类方法中的代码。

//多态的方法,一般设置为static类型,方便调用,可以减少创建对象的代码

Public static (返回值类型) 方法名(父类 参数){

参数.父类的方法名/属性;

参数.父类的方法名/属性;

}

Main(){

方法名(子类对象1);

方法名(子类对象2);

……………

}

七、抽象类和接口

抽象方法:public abstract 方法名();

一般不好表达的方法,或者对于子类都有此行为,但是每一种子类此种行为方式都不一样时候使用。

即所有的子类都需要重写父类的方法中的一部分的时候,就可以使用抽象方法。

其目的是为了最终使用的时候,使用多态,减少程序的代码量。

包含抽象方法的类,肯定是抽象类。抽象类可以不包括抽象方法,但不包括抽象方法一般不建议创建抽象类。

接口:一组抽象方法的集合就叫做接口。

接口中都是抽象方法,是为了解决子类只能继承一个父类,而子类中需要不同方法的情况。

一个子类可以有多个接口,从而扩宽了抽象方法的应用面。

接口的定义 :

访问修饰符 + interface+接口名{

抽象方法1;

抽象方法2;   //接口中的抽象方法不需要加abstract

}

继承接口:

访问修饰符  类名 + implements+接口1.接口2,…..{

}

类继承抽象类,就必须实现抽象类中的所有抽象方法。

类继承接口,就必须实现接口中所有的方法。

八、异常与调试

     定义:异常是指在程序运行过程中所发生的不正常的事件,它会中断正在运行的程序。

关键字:try、catch、finally、throw、throws

try:执行可能产生异常的代码

catch:捕获异常,编写处理异常的代码

finally:无论是否发生异常,都要执行的代码块

throw:手动抛出异常

throws:声明方法可能要抛出的各种异常

1.try代码块有可能出现异常也可能不会出现异常

2.只有try代码块出现异常时,catch代码块才会执行

3.try中的代码块一旦出现异常,那么出现异常后面的代码不会继续执行。

4.ex.printStackTrace()方法用于向控制台打印输出异常堆栈信息(在执行哪一行代码时出现什么异常)

5.如果出现的异常类型和catch块中异常的类型匹配,那么才会执行catch块中的代码,否则不执行。

6.所有异常类均直接或间接继承自类Exception

7.多重catch  在try代码块后,包含了多个catch代码块

8.多重catch时,Exception一定要放在最后

9.System.exit(1);表示强制性退出系统。

10.try-catch-finally结构中try语句块是必须的,catch、finally语句块均可选,但两者至少出现之一

11.try-catch块中存在return语句,是否还执行finally块,如果执行,说出执行顺序

常见的异常

1.ArrayIndexOutOfBoundsException   数组下标越界异常

2.NullPointerException             空指针异常

3.NumberFormatException            数字格式化异常

4.ArithmeticException              算术运算异常

5.Exception                        所有异常的父类

时间: 2024-12-28 05:04:34

Java基础和面向对象的相关文章

Java基础之一 面向对象

Java 是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java有功能强大和易用两个特征. 面向对象的程序设计(Object Oriented Programming),一种将程序分解为封装数据及相关操作的模块而进行的编程方式. 面向对象的做法确实是把属性和功能封装起来,但是其核心是归类和抽象. 把相关的属性和功能集中起来,把可以分离的部分隔绝开来,从而把复杂的业务逻辑切割成互相之间可以相对独立的部分,降低开发的难度. 所以面向对象绝

java基础教程-面向对象(一)

一.面向对象 1.1 java键盘输入 1.1.1这种方法我认为是最简单,最强大的,就是用Scanner类 import java.util.Scanner; public static void main(String [] args) { Scanner sc = new Scanner(System.in); System.out.println(“请输入你的姓名:”); String name = sc.nextLine();//字符串输入 System.out.println(“请输入

Java基础知识—面向对象(八)

概述 Java和C#都是面向对象语言,面向对象编程是目前高级语言习惯的编程模式,与C++编写过程编程而言,面向对象使用起来高效.灵活:面向对象的三个特征:封装.继承和多态. Java面向对象 1.类封装: 在 Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的.class 子类 extends 父类{}.implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔). 2.super 与

Java基础之面向对象

面向对象 1.面向对象思想: (1)概述:面向对象是相对于面向过程而言的,面向过程强调的是功能,面向对象强调的是将功能封装进对象,强调具备功能的对象: (2)思想特点: A:是符合人们思考习惯的一种思想: B:将复杂的事情简单化了: C:将程序员从执行者变成了指挥者: 比如我要达到某种结果,我就寻找能帮我达到该结果的功能的对象,如我要洗衣服我就买洗衣机, 至于怎么洗我不管. (3)特征: 封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式 继承: 多个类中存在相同属性和行为时,将这些内容抽取

【java基础】面向对象的三大基本特征之-------继承

面向对象的三大特征:封装,继承,多态 java通过extends关键字来实现继承,而且是单继承,一个子类只可以有一个直接父类,但是父类还可以有父类... java.long.Object是所有类的父类,如果一个类没有声明继承于谁,那么默认就是继承于java.long.Object类 通过继承,子类可以获得父类的全部的属性和方法,同时进行拓展. 代码示例: 1 package extendss; 2 3 /** 4 * 类的继承演示代码 5 * 这是一个父类 train 火车类 6 * 默认继承于

Java基础总结--面向对象1

---面向对象的概念---1.面向过程与面向对象的区别面向过程:是一种思维习惯,解决一个问题的时候靠的是一个个方法调用--核心是动作面向对象:是一种更接近生活中解决问题的思维习惯,解决特定的问题靠对象完成--核心是对象eg:对于把大象装进冰箱分析面向过程思维习惯打开冰箱--装入冰箱--关闭冰箱(由3个动作实现)面向对象的思维习惯分析问题涉及的对象:大象 冰箱(打开 存储 关闭)冰箱打开--冰箱存储大象--冰箱关闭2.面向对象的特点封装数据和方法在对象中使得复杂问题简单化(面向多个函数--面向一个

Java基础之面向对象的特征。

首先需要知道类和对象是什么? 维基百科定义类为: an extensible program-code-template for creating objects, providing initial values for state (member variables) and implementations of behavior (member functions or methods),即能够为创建对象实例提供可扩展的模板,提供数据和行为操作.在实现角度,其以字节码的形式存储在内存中的方

Java基础语法——面向对象(3)

第一章 接口 1.1 接口概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的"类".接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成.这样将功能的定义与实现分离,优化了程序设计.请记住:一切事物均有功能,即一切事物均有接口. 1.2 接口的定义 与定义类的class不同,接口定义时需要使用interface关键字.定义接口所在的仍为.java文件,虽然声明时使用的为interface关键字的编译后仍然会产生.class文

Java基础总结--面向对象2

1.存在相关的多个方法就封装在一个类中,方法没调用到特有数据,需要静态化2.假如一个类所有方法都是静态方法,为了保证不被其他创建对象,可以将该类的构造方法私有化3.文档注释javadoc-按照规定注释--提取注释保存为Html格式(不重要按照规定来就行)设计模式:对问题行之有效的解决方法--是一种思想Java存在23种设计思想--OOP语言设计模式通用------继承------1.继承的概述两个/多个类不断的对其进行向上的抽取其共性的东西--把这些共性的东西封装在父类中,产生父子关系--is