浅析Java



该写作业了,发现Java学不行(就是java作业不会写…)依托学习通资源对于Java在进行一遍整体学习(这样快!)。

关键字(均为小写)

被Java语言赋予特殊含义,用于专门用途的单词。
在这里插入图片描述在这里插入图片描述

标识符

Java中凡是自己起的名字都叫标识符,即都需遵守:
1.只能由26个英文字母的大小写,0~9,和符‘_’与‘$’
2.不能以数字开头,不可使用关键字(例如:new等)
3.严格区分大小写,标识符不限长度
4.驼峰标识(例如:DemoDemo)

在这里插入图片描述
命名规范,浅记…

注释

1
2
3
单行(可以进行嵌套)://注释文字
多行(不可以进行嵌套):/*注释文字*/
文档注释(Java特有的,可以用javadoc工具生成帮助文档(以网页文件形式体现)):/**注释文字*/

如图示:
在这里插入图片描述

常量与变量

常量

简单的东西上图片:
在这里插入图片描述

变量

用于不断存放同一类型的常量,并且可以重复利用
在这里插入图片描述
在这里插入图片描述
对于图上我认为重要的进行说明:
boolean类型(与C语言不同)只允许取值true或是false,不可以用0或者非0的整数替代(也可以与前文的PHP语言进行比较)
在这里插入图片描述
按照声明位置划分:成员变量与局部变量
在这里插入图片描述
**
使用变量时应注意:
1.变量的作用范围(一对{}内有效)
2.初始化值**
格式(固定的):
数据类型 变量名 = 初始化值

杂七杂八

在这里插入图片描述
在这里插入图片描述
自动转化顺序
在这里插入图片描述

运算符

算数运算符

在这里插入图片描述
现对于表中认为重要的进行分析:
取模运算符号:
1.如果对负数取模,可以把模数的负号忽略不计(例如:5%-2=1),但是被摸数是负数就另当别论
2.以%为界
当左边的绝对值小于右边,则结果为左边
当左边的绝对值等于右边或是右边的倍数时,结果为0
当左边的绝对值大于右边,结果为余数(符号取决于左边的符号亦取模的正负取决与左边
任意数%2结果要么0,要么1
注意:
在这里插入图片描述

比较运算符

在这里插入图片描述
不要将赋值运算符=与等号关系运算符==混淆,例如12=12是非法式子

逻辑运算符

在这里插入图片描述
不是很常见,放图片!
在这里插入图片描述

位运算符(通过二进制进行计算)

在这里插入图片描述
在这里插入图片描述

程序流程控制

和C语言差不多

break(跳出):应用范围选择结构和循环结构(整个循环结束)
continue(继续):应用于循环结构(跳出本次循环)

方法

定义在类中的具有特定功能的一段独立小程序(只能调用方法,不可以在方法内部定义方法)

1
2
3
4
修饰符 返回值类型 方法名(参数类型 形式参数1,参数类型 形式参数2,..){
执行语句;
return 返回值;
}

对于方法没有具体返回值的情况,返回值类型用关键字void表示,那么该方法中的return语句,可以省略不写;如果写的话就是return
在这里插入图片描述
例如:
在这里插入图片描述

数组

格式1:
元素类型[ ] 数组名 = new 元素类型[元素个数或数组长度]
例:int[ ] arr = new int [5]; //创建数组实体的关键字
格式2:
元素类型[ ] 数组名 = new 元素类型[ ]{元素,元素,…};
例:int[ ] arr = new int {1,2,3};
int[ ] arr ={1,2,3};

静态变量初始化:初始化时由程序员指定每一个数组的初始值,由系统决定数组的长度(格式1)
动态变量初始化:初始化时由程序员只指定数组的长度,由系统为数组分配初始值(格式2)

数组的角标:从0开始(最大角标length-1数组长度)
数组的长度:变量名.length,数组的长度是固定的,因为它的底层是public和final修饰

类和对象

格式:

1
2
3
4
5
6
[修饰符]class 类名 [扩展性]{
//成员变量
[修饰符]数据类型 变量名;
//成员方法
[修饰符]返回类型 方法名(参数列表);
}

成员变量与局部变量的区别?

直接cv…概念这种了解一下
在这里插入图片描述
在这里插入图片描述

创建对象

在这里插入图片描述
例如:

1
2
3
4
5
6
7
8
class Point{
...
}
public class car{
public static void main(String args[]){
Point p1 ,p2;//声名对象p1,p2(也可以分开声名)
p1 = new Point(10,10)//为对象p1分配变量(使用new和类中的构造方法)
p1 = new Point();//为对象p2分配变量(使用new和默认的构造方法)

匿名对象

是没有名字的对象(只要简化形式就有一定的局限性),一般匿名对象只使用一次,而且匿名对象只在堆内存中开辟空间,而不存在栈内存的引用。

使用的两种情况
当对象的方法仅进行一次调用的时
匿名对象可以作为实际参数进行传递

在这里插入图片描述
又例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Person {
public String name; // 姓名
public int age; // 年龄

// 定义构造方法,为属性初始化
public Person(String name, int age) {
this.name = name;
this.age = age;
}

// 获取信息的方法
public void tell() {
System.out.println("姓名:" + name + ",年龄:" + age);
}

public static void main(String[] args) {
new Person("张三", 30).tell(); // 匿名对象
}
}

封装(安全性,隔离)

原则,将不需要对外提供的内容隐藏,或是把属性隐藏,提供公共方法对其访问
指在隐藏对象的属性和实现细节,仅对外提供公共访问访问方式
在这里插入图片描述

封装字private

被私有化成员,只在本类有效(详情见图片)
在这里插入图片描述

this关键字

那个对象调用this所在函数,this就代表那个函数
在这里插入图片描述
总结:this是指向对象本身的一个指针

static关键字

找了个博客
一句话描述就是:方便在没有创建对象的情况下进行调用(方法/变量)。这博客挺好的…

static特点
1.随着类的加载而加载,也就是说:静态会随着类的消失而消失,说明它生命周期最长
2.优先于对象存在,明确一点:静态先存在,对象后存在。
3.被所有对象共享
4.可以被类名所调用
5.static修饰的静态变量是共享数据,成员变量表示的特有数据。

在这里插入图片描述
挺好的,记下来
静态方法只能访问静态也可以访问非静态,
在这里插入图片描述

代码块

随着类的加载而执行,只执行一次并优于主函数,用于给类进行初始化
感觉没用…
静态代码块:给类进行初始化
构造代码块:它可以给所有对象进行初始化
局部代码块:控制变量的生命周期

继承(提升复用性)

概念:多个类可称为子类,单独这个类称为父类或者超类或者基类
子类可以直接访问父类中的非私有的属性和行为。
通过extends关键字让类与类之间产生继承关系。
super():会访问父类中的空参数构造函数

super和this的用法相像
super代表当子类对像父类的引用
子类要调用父类构造函数时,可以使用super语句

注意:子类的构造函数,不能同时出现this(),super();放在第一行冲突了,这两个只能出现一个。

final

final可以修饰类,方法,变量,其修饰的类不可以被继承,不可以被覆盖,修饰的是一个常量(所有的字母都要大写),只能被赋值一次。

抽象类

在这里插入图片描述
格式:
在这里插入图片描述
在这里插入图片描述
完结!可以去写java报告去了…o( ̄▽ ̄)ブ


Author: BvxiE
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source BvxiE !
  TOC