学习java总结

Java语言的特点

1.简单性

  • Java语言的语法与C语言和C++语言很相近,使得很多程序员学起来很容易。
  • Java使用接口取代了多重继承,并且取消了指针,因为多重继承和指针会使程序变得复杂。
  • Java还会自动地收集内存垃圾,使得内存管理变得更为简单。
  • ava还提供了丰富的类库、API文档以及第三方开发包,还有大量Java的开源项目。

2.面向对象

面向对象(OOP)就是Java语言的基础,也是Java语言的重要特性。面向对象的概念:生活中的一切事物都可以被称之为对象,生活中随处可见的事物就是一个对象,我们可以将这些事物的状态特征(属性)以及行为特征(方法)提取并出来,并以固定的形式表示。

3.分布性
  • Java 语言支持 Internet 应用的开发
  • 在 Java 的基本应用编程接口中就有一个网络应用编程接口,它提供了网络应用编程的类库,包括 URL、URLConnection、Socket 等。
  • Java 的 RIM 机制也是开发分布式应用的重要手段。
4.平台无关性 
  • 平台无关性的具体表现在于,Java 是“一次编写,到处运行(Write Once,Run any Where)” 的语言,因此采用 Java语言编写的程序具有很好的可移植性,而保证这一点的正是Java 的虚拟机机制。
  • 在引入虚拟机之后,Java 语言在不同的平台上运行不需要重新编译。
5.多线程 
  • 在Java语言中,线程是一种特殊的对象,它必须由Thread 类和它的子类来创建。
  • Java 支持多个线程同时执行,并提供多线程之间的同步机制。
  • 任何一个线程都有自己的 run()方法,要执行的方法就写在run()方法体内

Java执行流程 

  • Java程序运行的过程必须先经过编译,然后解释运行.
  • 任何一种可以运行Java程序的软件均可看成“Java虚拟机”(JVM ,Java VirtuaMachine),如浏览器与Java的开发工具等皆可视为一部JVM.

2.

  • 编写一次,到处运行
  • 用户使用任何一种Java编译器 将Java源程序(.java)编译成字节码文件(.class)后,无论使用那种操作系统,都可以在含有JVM的平台上运行

 Java语法基础

标识符: 用来标识类名、对象名、变量名、方法名、类型名、数组名、文件名的有效字符序列。

合法的标识符:

  1. 由字母、数字、下划线“_”、美元符号“$”或者“¥”组成,并且首字符不能是数字。
  2. 不能把java关键字和保留字作为标识符。
  3. 标识符对大小写敏感。

关键字:Java语言中已经赋予了特定含义的 

保留字: const、goto,Java版本中尚未使用,但以后版本可能会作为关键字使用

变量:程序运行期间可以被改变的量。在程序中使用变量,必须先创建它并为它取一个名字,并且指明它能够存储信息的类型,这称为“变量声明”,也叫容器的创建。

变量的使用:

  • 变量的声明:数据类型 变量名
  • 变量的赋值:变量名 = 数据;
  • 变量的操作:放入打印语句进行输出或者进行运算

Java 中的注释有三种:

  1. 单行注释
  2. 多行注释
  3. 文档注释

    数据类型

 

基本数据类型(8个),也称原始数据类型:

引用数据类型(3种):数组、类、接口


运算符

运算符:一种特殊符号,用以表示数据的运算、赋值和比较数与整数

运算符分类:算术运算符、赋值运算符、比较运算符、逻辑运算符、三元运算符

1.算术运算符

2.赋值运算符

3.逻辑运算符


Java流程控制语句

选择结构

if语句: if(条件表达式){ 一条或多条语句 };

if else语句: if(条件表达式) {语句块1} else {语句块2}

循环结构

在程序中当要重复性的做某项工作时可以使用循环语句,包括:for循环、while循环、do…whil循环。

流程跳转

流程跳转语句:break,continue

  • break:在switch中结束case条件判断,在循环体中结束循环
  • continue:作用在循环体中,结束循环体的本次循环,而进入下次循环

    数组

数组是数据的集合,一个容器,用来存储任何类型的数据,包括原始数据类型和引用数据类型,但是一旦指定了数组的类型之后,就只能用来存储指定类型的数据。

数组声明的三种方式:

  1. 数据类型[] 数组名 = new 数据类型[长度];
  2.  数据类型[] 数组名 = {数据,数据,…,数据};
  3. 数据类型[] 数组名 = new 数据类型长度[] {数据,数据,…,数据};

一维数组:

数组变量的声明:语法:数据类型[] 数组名;,如:int[] num;double[] d;String[] str; 

数组对象的创建:语法:数组名 = new 数据类型[长度];,如:num = new int[4];,数组声明其长度后不可改变

赋值:

语法:数组名[下标] = 数据;,如:num[0] = 3;

数组元素的使用及遍历:

二维数组:

数组变量的声明:

语法:数据类型[][] 数组名;,如:int[][] num;double[][] d;String[][] str;

数组对象的创建:

语法:数组名 = new 数据类型[外长度][内长度];,如:num = new int[4][3];,数组声明其长度后不可改变

赋值:

语法:数组名[外下标][内下标] = 数据;,如:num[0][0]= 3;

数组元素的使用及遍历:


对象与类

对象:客观存在能够相互区分的个体,比如这辆汽车、这个人、这间房子、这张桌子、这株植物、这张支票、这件雨衣。概括来说就是:万物皆对象。

类:若干具有相同属性和行为的对象的群体或者抽象,类是创建对象的模板,由属性和行为两部分组成

类是对象的概括或者抽象,对象是类的实例化。

类的声明

[修饰符] class 类名{//类的声明部分
    [成员变量]
    [成员方法]
}

成员变量的声明: [修饰符] 数据类型 变量名 [= 初始值];

成员方法的声明:

[修饰符] 返回值类型 方法名([数据类型 参数名,……]){
    //方法体,该方法完成的功能代码
}

 

构造器的声明:

[修饰符] 构造器名([数据类型 参数名,……]){
  //构造器完成的功能代码
}

注意:
①构造器名必须和类名一致
②构造器没有返回值类型
③任何类都含有构造器。如果没有显式地定义类的构造器,
④则系统会为该类提供一个默认的无参的构造器。一旦在类中显式地定义了构造器,系统就不会再为这个类提供默认的构造器了。

类的使用

类变量的声明:类名 对象名;

类对象的创建,赋值给变量:对象名 = new 构造器([参数列表]);

对象属性的赋值:属性:对象名.属性名、对象名.属性名 = 数据;

属性和方法的调用:属性:System.out.println(对象名.属性名);方法:对象名.方法名();

成员变量与局部变量:

  • 成员变量:声明在类中方法体之外、可以有缺省值、可以使用修饰符。作用域:整个类
  • 局部变量:声明在方法体或代码块中、没有缺省值、只能使用final修饰。作用域:当前方法体

参数:参数的本质是特殊的局部变量,只能定义在方法的小括号中

方法的返回值类型:

  • 无返回值类型:void,return;//结束方法体
  • 有返回值类型为:数据类型(基本数据类型、引用数据类型),return 数据;//结束方法体,并且返回一条数据

抽象类 

抽象类的概念:

Java中可以定义没有方法体的方法,该方法的具体实现由子类完成,该方法称为抽象方法,包含抽象方法的类就是抽象类。如:Shape类计算周长和面积的方法无法确定,那么就可以将这样的方法声明为抽象的,以便在具体的子类中进行实现。

抽象类的声明: [修饰符] abstract class 类名 [extends 父类名]{类体}

抽象方法的声明: [修饰符] abstract 返回值类型 方法名([参数列表]);

因为抽象方法无法确定具体执行的功能,所有抽象方法没有方法体,需要在小括号后加上分号

抽象类和普通类除了使用abstract修饰外和普通的类相似,抽象类中可以没有抽象方法,但是一旦某个有抽象方法,那么这个类必须被声明为抽象类。

抽象类的使用:

因为抽象类不是一个具体的类,所以无法实例化,但是抽象类可以用于声明变量
抽象类可以被继承,在子类中实现抽象类的所有抽象方法,以达到抽象类的具体化

上面就是我所学到的有关Java知识

  • 46
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值