java基本语法
- 我们的代码最小的存在单位是类
- 类,主方法(方法)大括号叫结构性的代码 后面不需要 ; [分号]【格式规范要求】
- 功能执行语句,例如 打印语句 后面必须加上;
- 类结构体中不能够写功能执行语句, 例如打印语句
- 所有的标点符号都必须是英文状态下的
- Java代码中是严格区分大小写
- 一个Java源文件中可以写多个并列的类,编译完毕之后会生成多个独立的字节码文件
- 字节码文件的名字和类名一致,建议源文件名字和类名一致
- 一个类可以使用public修饰
- 如果一个类使用public修饰,必须和源文件名字一致,
- 一般一个类会用public修饰,所以一般一个java文件里只写一个类,不建议写多个类。
- 在类的内部,也可以写类,叫做内部类
分隔符
- 分号(;):语句的分割,表示一句话结束,好比咱们使用的句号。
- 花括号({}):表示一个代码块,是一个整体,花括号要成对使用。
- 方括号([]):定义数组和访问数组元素时使用。
- 圆括号(()):使用很广泛,具体用到细讲。
- 圆点(.):类和对象访问它的成员时使用。
- 空格[ ]:把一整条语句分割成几段,空格的次数不限制。
- 一般单词之间一个空格就可以了
- 必须都是半角下的英文符号。
- 有时候写的代码其实代码并没有问题,可能是工具,文件目录的路劲存在特殊符号中文等等情况导致代码运行不正确 C盘也操作不了【权限】
修饰符
什么是修饰符
对Java当中的,类,变量,方法,构造方法等等…进行修饰,赋予被修饰内容特殊意义
美女:化妆,穿裙子,或者裤子:显得更加漂亮,赋予了特殊意义[修饰的作用]
类修饰符
public(访问控制符): 将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类。
abstract:将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现。
final:将一个类申明为最终(即非继承类),表示他不能被其他类继承。
friendly:默认的修饰符,只有在相同包中的对象才能使用这样的类。
成员变量修饰符
public(公共访问控制符):指定该变量为公共的,他可以被任何对象的方法访问。
private(私有访问控制符):指定该变量只允许自己的类的方法访问,其他任何类(包括子类)中的方法均不能访问。
protected(保护访问控制符):指定该变量可以别被自己的类和子类访问。在子类中可以覆盖此变量。
friendly :在同一个包中的类可以访问,其他包中的类不能访问。
**final:**最终修饰符,指定此变量的值不能变。
static(静态修饰符):指定变量被所有对象共享,即所有实例都可以使用该变量。变量属于这个类。
transient(过度修饰符):指定该变量是系统保留,暂无特别作用的临时性变量。
volatile:指定该变量可以同时被几个线程控制和修改。
方法修饰符
public(公共控制符: 指定此方法可以被自己和其他的类访问
private(私有控制符):指定此方法只能有自己类等方法访问,其他的类不能访问(包括子类)
protected(保护访问控制符):指定该方法可以被它的类和子类进行访问。
final:指定该方法不能被重载。
static:指定不需要实例化就可以激活的一个方法。
synchronize:同步修饰符,在多个线程中,该修饰符用于在运行前,对他所属的方法加锁,以防止其他线程的访问,运行结束后解锁。
native:本地修饰符。指定此方法的方法体是用其他语言在程序外部编写的。
标识符
什么是标识符
- Java所有的组成部分都需要名字[标识]、类名、变量名以及方法名都被称为标识符。
- 可以对如上:类名,方法名,变量名:可以命名,标注识别
标识符书写规定
标识符规定:
- 所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_),开始与数字构成(不能以数字开头)
- 关键字不能用作标识符
- 标识符是大小写敏感的
标识符书写规范
- 一般不建议使用$ 及下划线_作为起始符号
- 一般来说都是取一些有意义的单词 age 见名知意
- 类名单词首字母必须大写ChinaEnglish
- 方法名,变量名 第一个单词首字母小写 getWord(); ageNumKey
- 如果是有多个单词组成,后面每一个单词首字母大写
- 驼峰命名规则
什么是数据类型
-
Java对数据进行了分类,存在不同的数据类型
-
为什么需要数据分类:不同的数据类型占用的存储空间不一样,为了更好的利用计算机内存空间
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jyDBem7F-1614179267112)(file:///C:\Users\10466\AppData\Local\Temp\ksohtml10112\wps1.jpg)]
-
基本数据类型变量: 存的是数据值本身,
-
引用数据类型变量: 存的是保存数据的内存空间地址。
基本数据类型
变量
什么是变量
官方概念:在计算机内存区域分配了一个内存地址,计算机中的一个存储空间
通俗一点:变量可以看成是一个容器。我们对容器的概念就是它的作用是能够装一个东西
- 先定义后赋值
数据类型 变量名;
变量名 = 值;
- 定义的同时赋值
数据类型 变量名 = 值;
变量的注意事项及特点
- 数据类型可以是Java中支持的所有的数据类型!
- 数据类型限定了变量可以存值的类型
- 赋值使用的 = 号,从右往左赋值
- 规范写法:= 两边都加上一个空格
- 变量一旦定义好了,可以反复使用
- 变量只可以存一次值,下次存值会覆盖上一次的值
变量分类
成员变量
直接声明在类结构体中的变量;可以放在方法的上面 ,也可以放在下面
特点:
\1. 成员变量如果没有赋值,那么系统会分配默认值(不同的数据类型有不同的默认值,这点请参考数据类型);
局部变量:
直接声明在方法内部,比如main方法的形参 或者 大括号中
l 特点:使用之前必须初始化值,不存在默认值
作用域范围
\1. 作用域详解
-
成员变量:在整个类中都可以使用
-
局部变量:在局部的大括号中可以使用,外部或者不同区域的大括号中不可以使用
-
使用的变量,必须声明在使用之前。
\2. 局部变量与成员变量区别
局部变量在使用之前必须得有值,试想一下一个空变量盒子你用啥呢?
成员变量系统会分配默认值(默认值意义不大)
作用域范围不同
成员变量的值,随着对象的存在而一直存在
局部变量为了辅助方法完成功能而临时存在,方法使用完毕,局部变量生命周期结束
表达式
概念:其实就是由一系列的 常量 变量 运算符,括号()组成的一个算式,为了按照一定的运算规则计算出结果值.
只要是:常量,变量,运算符,小括号构成的一个式子,这个式子一定有一个结果值
自增自减运算符符号
- 自增自减只能够用于变量,不能用于常量
- 自增自减运算的优先级 比 算术运算符 高
- 自增自减只能够用于变量,不能用于常量
- 自增自减运算的优先级 比 算术运算符 高
单独的 ++a;这种不管在前在后都是一样的都加一,要是放进表达式里面的话变量在前就是先加再算,在后是先算再加,但是都是要要加的
式子一定有一个结果值
## 自增自减运算符符号
1. 自增自减只能够用于变量,不能用于常量
2. 自增自减运算的优先级 比 算术运算符 高
3. 自增自减只能够用于变量,不能用于常量
4. 自增自减运算的优先级 比 算术运算符 高
单独的 ++a;这种不管在前在后都是一样的都加一,要是放进表达式里面的话变量在前就是先加再算,在后是先算再加,但是都是要要加的