注释
标识符
Java所有的组成部分都需要名字、类名、变量名、以及方法名都被成为标识符
标识符首字符只能以字母或下划线开始
首字符之后可以是字母数字
标识符大小写敏感
数据类型
强类型语言
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
弱类型语言
要求变量的使用要符合规定,所有变量都必须先定义后才能使用
Java数据类型分两大类
基本数据类型
一.数值类型
-
整数类型:byte、short、int、long,依次占1、2、4、8个字节
-
浮点类型:float、double,5字节与6字节,float f=0.1f,double f=0.1
-
字符类型char占2字节;
二.Boolean类型
占1位,其值只有ture和false两个
引用数据类型
类、接口、数组
进制
二进制0b、八进制0、十六进制0x
int i=10; int i2=010; int i3=0x10
依次输出得到10、8、16
最好避免使用浮点数进行比较
类型转换
运算中,不同类型数据会先转化为同一类型,再进行运算
byte→short→char→int→long→float→double(低→高)
int i=128; byte b=i;这样是无法出b的结果的,必须强制转换
byte b=(byte)i,(类型)变量名
低到高强制转换,高到低自动转换
不能对布尔值进行转换
不能把对象转换成不相干的类型
转换时可能存在内存溢出,或者精度问题
JDK7特性,数字之间可以用下划线分割
变量
每个变量必须有变量名,变量类型和作用域
变量名必须是合法标识符
变量声明是一条完整的语句,因此每一个声明必须以分号结束
作用域
局部变量
public static void main(String[] args) {}//这称之为 方法
如上被称为main方法,局部变量就是只能用在本{}里面的东西,局部变量必须声明和初始化
实例变量
public class name {}//这称之为 类
”方法“外面,“类”里面,从属于对象
如果不执行初始化,会输出为默认值,除了基本类型,其余默认值都是null,布尔值默认为false
类变量
加了个 static 就是类变量
常量
初始化后就不能变动的值,常量名一般使用大写字符
final 常量名=值;
static final PI=3.14;
“static” “final” 这些都属于修饰符,修饰符不分先后顺序
变量的命名规范
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则,除第一个单词小写外,后面单词首字母大写,如monthSalary、lastName
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名:首字母小写和驼峰原则:run(),runRun()
运算符
% 取余,模运算
!= 不等于
++ – 自增 自减
int a=3;
int b=a++;
int c=++a;
a++与++a的区别:a++是 先给结果 后赋值,++a是 先赋值 后给结果
幂运算
double a = Math.pow(2,3);
a=2^3
逻辑运算符
与:a && b
或:a || b
非:!(a && b)
boolean a=true;
boolean b=false;
System.out.println("a && b:"+(a&&b));
System.out.println("a || b:"+(a||b));
System.out.println("!(a && b:)"+!(a&&b));
显示结果
a && b:false
a || b:true
!(a && b:)true
短路运算
int c=5;
boolean d=(c<4)&&(c++<4);
System.out.println(d);
System.out.println(c);
显示结果
false
5
因为(c<4)为假,所以后面的直接不运算
位运算
A= 0011 1100
B= 0000 1101
与 A&B= 0000 1100
或 A|B= 0011 1101
异或 A^B= 0011 0001 //相同取0,不同取1
取反 ~B= 1111 0010
左移<< 10进制的2,在2进制表示为0000 0010,所以2<<3,往左移3位,会得到0001 0000,既10进制的16
右移<<
小tips:2×8=16与2×2×2×2=16相比较,后者的运算效率极高
扩展运算符
+=:a+=b相当于a=a+b
-=:a-=b相当于a=a-b
字符串连接符 + , string
int a=10;
int b=20;
System.out.println(""+a+b);
System.out.println(a+b+"");
显示结果
1020
30
“” 相当于string字符,在前会使得后面的数字也被是为字符相加,在后面则先运算后字符相加
三元运算符
?:
//X?Y:Z
//如果X==true,则结果为X,否则结果为Z
int s=60;
String type = s<60?"不及格":"及格";
System.out.println(type);
包机制
包机制 类似于 新建文件夹
package Rhodes.Ceobe.operation;
导入包,import命令
import Rhodes.Ceobe.base.d1;
import Rhodes.Ceobe.base.*;
*代表将base下的包全部导入
JavaDoc
javadoc命令用来生产自己API文档的
- 参数信息
- @author作者名
- @version版本
- @since指明需要最早使用的jdk版本
- @param参数名
- @return返回值情况
- @throws异常抛出情况
package Rhodes.Ceobe.operation;
/**
* @author Ceobe
* @version 1.0
* @since 1.8
*/
public class Doc {
String name;
/**
*
* @param name
* @return
* @throws Exception
*/
public String test(String name) throws Exception {
return name;
}
}
加在谁的上面就是谁的文档注释
新增cmd命令
javadoc:javadoc -encoding UTF-8 -charset UTF-8 [文件名]
-encoding UTF-8 -charset UTF-8是为了让编译出来的文档更加美观