java基础知识
1 JAVA标识符规范:
1.标识符可以由任意顺序的大小写字母、数字、下划线(_)和美元符号组成,不能以数字开头。
2.包名所有字母一律小写。
3.类名和接口名每个单词首字母都要大写。
4.常量名所有字母都要大写,单词之间用下划线连接。
5.变量名和方法名的第一个单词首字母小写,从第二个单词开始每个单词首字母大写,变量名不能使用java中的关键字。
6.我们的变量名最好是用英文单词来描述。(见名知意)
2.Java驼峰式命名法:
1、变量名必须为有意义的单词
2、变量名如果只有一个单词,则小写
3、如果有2个以及多个单词,则从第二个单词开始首字母大写
3.Java修饰符:
-
访问控制修饰符 : default, public , protected, private
访问范围 private default(默认) protected public 同一个类 可访问 可访问 可访问 可访问 同一包中的其他类 不可访问 可访问 可访问 可访问 不同包中的子类 不可访问 不可访问 可访问 可访问 不同包中的非子类 不可访问 不可访问 不可访问 可访问 -
非访问控制修饰符 : final, abstract, static, synchronized
- static:修饰:
- 修饰方法(静态方法):static 关键字用来声明独立于对象的静态方法。静态方法不能使用类的非静态变量。静态方法从参数列表得到数据,然后计算这些数据。
- 修饰变量(静态变量):static 关键字用来声明独立于对象的静态变量,无论一个类实例化多少对象,它的静态变量只有一份拷贝。 静态变量也被称为类变量。局部变量不能被声明为 static 变量。
- final修饰:
- 修饰变量:
- 局部变量:只能赋值一次。
- 实例变量:手动赋值。
- 修饰方法:无法被覆盖重写。
- 修饰类:无法被继承。
- abstract修饰:
- 修饰类:当abstract修饰类的时候,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型,抽象类就像当于一类的半成品,需要子类继承并覆盖其中的抽象方法。(配合implement)
- 修饰方法:当abstract修饰方法的时候,会是这个方法成为一个抽象方法,需要子类继承实现。
- 父类是抽象类,其中有抽象方法,那么子类继承父类,并把父类中的所有抽象方法都实现(覆盖)了,子类才有创建对象的实例的能力,否则子类也必须是抽象类。抽象类中可以有构造方法,是子类在构造子类对象时需要调用的父类(抽象类)的构造方法。
- synchronized修饰:
- 修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁
- 修饰静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对象的锁
- 修饰代码块,指定加锁对象,对给定对象加锁,进入同步代码库前要获得给定对象的锁。
4.Java数据类型:
6.类型转换
- 自动转化:数据类型小的可转化为数据类型大的。
- 强制转换: 数据类型大的想要向下转换时,需要在该数据前加上(需要转的数据类型)
7.运算符
1.算数运算符:
符号:+, -, *, /
2.赋值运算符:
符号:= ,+=,-=,*=,/=,%
- 注意:在运用复合运算符的时候,它会自动转化为大的类型。
- 算术表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型会自动进行提升提升规则:
- byte类型,short类型和char类型将被提升到int类型
- 整个表达式的类型自动提升到表达式中最高等级操作数同样的类型
等级顺序: byte,short,char → int → long> float → double
-
3.自增自减运算符:
符号: --,++
4.关系运算符:
符号:==,<=,>=,!=,<,>
5.逻辑运算符:
符号:&,|,^,!,&&。||
运算符 | 含义 | 运算结果 |
---|---|---|
& | 逻辑与 | 有false则为false |
| | 逻辑或 | 有true则为true |
^ | 逻辑非 | 同为false,不同为true |
! | 非 | 假为真 真为假 |
&& | 短路与 | 使用短路与 && 的时候,当左边的表达式为false的时候,右边的表达式不执行 |
|| | 短路或 | 使用短路或|| 的时候,当左边的表达式为true的时候,右边的表达式不执行 |
6.三元运算符:
格式:
关系表达式?表达式1:表达式2
例:a>b?a:b
运算规则:
表达式的结果为true时,表达式1的执行结果作为整个表达式的结果。
表达式的结果为false时,表达式2的执行结果作为整个表达式的结果。