1. 注释、标识符、关键字
注释
-
//单行注释
-
/**/多行注释
-
/**
*文档注释
*/
标识符
-
关键字
abstract assert boolean break byte case catch char class const continue defauit do double else enum extends final finally float for goto if implements import instanceof int interface long native new package private protected public return strictfp short static super switch synchronized this throw throws transient try void volatile while -
Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符3
-
所有的标识符都应该以字母(A-z或者a-z),美元符($)、或者下划线()开始
-
首字符之后可以是字母(A-或者a-z),美元符()、下划线()或数字的任何字符组合
-
不能使用关键字作为变量名或方法名。
-
标识符是大小写敏感的
-
合法标识符举例:age、$salary、value、1_value
-
非法标识符举例:123abc、–salary、#abc
public static void main(String[ args){ string 王者荣耀 = "最强王者"; System.out.println(王者荣耀); }
-
可以使用中文命名,但是一般不建议这样去使用也不建议使用拼音,很Low
2、数据类型
基本数据类型
数值类型
- 整数类型
- byte - 1字节
- short - 2个字节
- int - 4个字节
- long - 8个字节
- 浮点类型
- float - 4个字节
- double - 2个字节
- 字符类型:char占2个字节
boolean类型:占1位其值只有true和false两个
整数拓展
进制:
- 二进制0b
- 十进制
- 八进制0
- 十六进制
浮点数拓展
浮点类型如:float是有限的、离散的,采用了舍入误差,只要两个数值接近它就做为相等,最好完全避免浮点数进行比较。如需使用可以用bigDecimal - 数学工具类
布尔值拓展
boolean f = true
“if(f){}” = “if(f = true){}”
所有的字符本质还是数字
引用数据类型
- 类
- 接口
- 数组
强类型语言
- 要求变量的使用严格符合规定,所有变量都必须先定义后才能使用
弱类型语言
- 与强类型语言相反
3、类型转换
低----------------------------------------高
byte、short、char-> int-> long-> float-> double
- 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换
- 运算中,不同类型的数据先转换为同一类型,然后进行运算
- 强制转换 (类型)变量名 高–低
- 自动转换 低–高
- boolean不能进行转换
- 高容量转为低容量类型时,需强制转换
- 转换的时候可能存在内存溢出,或者精度问题
4、变量、常量
变量
- 变量是什么:就是可以变化的量
- Java是一种强类型语言,每个变量都必须申明其类型
- Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
变量作用域
- 类变量:添加了关键词static
- 实例变量:从属于对象;如果不自行初始化,这个类型为默认值,而除了基本类型,其余的默认值都是null,布尔值的默认为false
- 局部变量:方法中的变量
public class Variable{
static int allClicks = 0 //类变量
String str = "hello world"; //实例变量
public void maethod(){
int i = 0; //局部变量
}
}
变量的命名规范
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名:首字母小写和驼峰原则:run(),runRun()
常量:初始化后不能再改变值,不能变动的值
final 常量名 = 值;
final double PI = 3.14;
//常量名一般使用大写字符
5、运算符
- 算术运算符:+、-、*、/、%、++、–
- 赋值运算符:=
- 关系运算符:>、<、>=、<=、==、!=
- 逻辑运算符:&&、||、!
- 位运算符:&、|、^、>>、<<、>>>
- 条件运算符:?:
- 扩展赋值运算符:+=、-=、*=、/=
- 幂运算:Math.pow(3,2) = 9
A = 0011 1100
B = 0000 1101
A&B = 0000 1100(相同输出,不同输出0)
A|B = 0011 1101(为0输出,有一个不为0 则输出对应)
A^B = 0011 0001(相同为0,不同为1)
~B = 1111 0010(取反)
2*8 = 16 = 2<<3
效率高
>> -- /2
<< -- *2
x?y:z
如果x==true,则结果为y,否则为z
例:
int score = 50
String type = score < 60 ? "不及格" :"及格"
6、包机制、JavaDoc
包机制
- 为了更好的组织类,Java提供了包机制,用于区别类名的命名空间
- 包语句的语法格式为:
package pkg1[.pkg2[.pkg3....]]
- 一般利用公司域名倒置作为包名;com.WJW.xxx
- 为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用”import“语句可完成此功能
JavaDoc
- JavaDoc命令是用于生成自己API文档的
- 参数信息:
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的jdk版本
- @param 参数名
- @return 返回值情况
- @throws 异常抛出情况