Java基础语法
注释、标识符、关键字
注释
- 注释就是对代码的解释和说明,其目的是让人们能够更加轻松地了解代码,能提高程序代码的可读性
- 注释不会被执行
三种类型
- 单行注释:
//注释内容
- 多行注释:
/*注释内容*/
- 文档注释
/** 注释内容 */
标识符
标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的
注意点:
- Java标识符由数字,字母和下划线(_),美元符号($)组成。
- 在Java中是区分大小写的
- 而且还要求首位不能是数字
- Java的关键字不能当作Java标识符。
标识符的命名约定
- 类和接口名:标识符首字母必须大写,含有大小写。例如:MyClass,HelloWorld,Time 等。
- 方法名:首字符小写,其余的首字母大写,含大小写,尽量少用下划线。例如 myName,setTime 等。此类方法名字为驼峰式命名。
- 常量名:基本数据类型的常量名字使用全部大写字母,字与字之间用下划线分隔,对象常量可大小混写。例如 SIZE_NAME。
- 变量名:可以大小写混写,首字符小写,字间分隔符用字的首字母大写,不用下划线,少用美元符号,给变量命名时尽量做到通俗易懂。
关键字
数据类型
基本类型(primitive type)
四类八种
- 整型 :
类型 | 所占字节数 |
---|---|
byte(字节型) | 1 |
short(短整型) | 2 |
int(整形) | 4 |
long(长整型) | 8 |
- 浮点型
类型 | 所占字节数 |
---|---|
float(浮点型) | 4 |
double(双精度浮点型) | 8 |
- 字符型
类型 | 所占字节数 |
---|---|
char(字符型) | 2 |
- 布尔型
类型 | 所占字节数 |
---|---|
boolean(布尔型) | 2 |
引用数据类型(reference type)
类,接口,数组
使用long和float时后面要分别加上L,F
float num=10.2F;
long num =20L;
类型转换
从低到高:byte,short,char,int,long,float,double
自动转换(隐式):无需任何操作。(低转高)
强制转换(显式):需使用转换操作符a=10.; (float)a
。(高转低)
注意点:
- 不能对布尔值进行转化
- 不能把对象类型转换为不相干类型
- 高容量转换为低容量时,强制转换
- 过程可能存在内存溢出,精度问题
- int到byte,short,char,也为自动转换
- 数字之间可以用下划线切割
- 先转换后运算
变量、常量、作用域
Java是强类型语言,变量必须先定义再使用
变量是最基本的储存单元,要素为变量名,类型,作用域
变量
type varName = value
//数据类型 变量名 = 值
//多个同类型变量可以用逗号分开
常量
初始化(initialize)后,值不在改变
final 常量名 = 值;
final double PI =3.14;
//常量名一般大写
- 命名要做到见名知意
- 类成员变量,局部变量,首字母小写和驼峰原则
- 常量,大写和下划线
- 类名,首字母大写和驼峰原则
- 方法名, 首字母小写和驼峰原则
作用域
public class Variable{
static int allClicks=0; //类变量
String str="Hello world"; //实例变量,从属于对象
public void method(){
int i=0; //局部变量,必须声明和初始化
}
}
运算符
- 算术运算符:+,-,*,/,%(模,取余),++,–
有long运算结果为long;short,byte,char为int
b= a++:先运算后自加;b=++a:先自加后运算
幂运算double pow = Math.pow(2,3)
- 赋值运算符:=
- 关系运算符:>,<,>=,<=,==,!=,instanceof
- 逻辑运算符:&&,||,!
"&&“运算一假则假,前一部分为”||"运算一真则真
"&&"运算前一部分为假,后面不运行,如下图:
public class World{
public static void main(String[] args) {
//短路运算
int a= 5;
boolean b=(a<4)&&(a++<4);
System.out.println(b);
System.out.println(a);
}
}
- 位运算符:&,|,^,~,>>,<<,>>>
//位运算
int A=0011 1100;
int B=0000 1101;
与:A&B = 0011 1100; //两个操作数中位都为1,结果才为1,否则结果为0
或:A|B = 0011 1101; //两个位只要有一个为1,那么结果就是1,否则就为0
异或:A^B =0011 0001; //两个操作数的位中,相同则结果为0,不同则结果为1
非:~B = 1111 0010; //如果位为0,结果是1,如果位为1,结果是0
左移:<< 右移:>>
//计算2*8
2<<3
0000 0000 0;
0000 0001 1;
0000 0010 2;
0000 0011 3;
0000 0100 4;
0000 1000 8;
0001 0000 16
- 条件运算符:? :
x ? y : z
如果x==true,则结果为y,否则为z
- 扩展赋值运算符:+=,-=,*=,/=
a+=b相当于a=a+b
- 字符串连接符:+
int a=10;
int b=20;
System.out.println(""+a+b);//1020
System.out.println(a+b+"");//30
- 优先级问题
包机制、JavaDoc
包机制
一般利用公司域名倒置作为包名:com.baidu.www
进入包:import package1.package2.* “*”为通配符,代表全部;
JavaDoc
用来生成自己的api文档
参数信息:
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的jdk版本
- @param 参数名
- @return 返回值类型
- @throws 异常抛出情况
命令行生成文档:javadoc -encoding UTF-8 -charset UTF-8 类名.java