单行注释 ://
多行注释:/* xxxxx */
JavaDoc:文档注释 /** xxxxxx */
关键字
所有标识符以 大写字母 小写字母 美元符号$和下划线_开头
首字符后可以由 字母 美元符号$ 下划线_ 任意组合
不能使用关键字作为变量名
标识符大小写敏感
要求变量的使用要严格规定,所有变量都必须定义才能使用
数值类型
byte:1个字节 (8bit) -128 - 127
short:2个字节
int:4个字节
long:8个字节 //long num = 30L(L用来区分long类型)
float:4个字节 //float num = 5.1f(f用来区分float)
double:8个字节
char:2个字节 //代表一个字 '字'
boolean类型:1个字节 只有true和false
类
接口
数组
0b:二进制
0:八进制
0x:十六进制
float f = 0.1f;
double d = 1.0/10;
f==d false
float d1 = 1231314214412f;
float d2 = d1+1;
d1==d2 true
总结:float 有限 离散 舍入误差 接近但不等于
最好不适用浮点数进行比较
用一个类 Big Decimal(数学工具类)
所有的字符本质还是数字
编码 Unicode 2字节 0----65536个字符
a的unicode编码 '\u0061'
转义字符 \t \n 例:"Hello\tworld\n"
byte, short ,char -> int -> -> long -> float -> double
高--->低
int i =1;
byte a = byte(i);
低 ----> 高
int i =128;
double b = i;
boolean不能进行转换
不能把对象类型转换为不相干的类型
在高容量转换到低容量,强制转换
转换可能存在内存溢出,或者精度问题!
JDK7新特性:数字之间可以用下划线分割 : 100=1_0_0
操作数比较大 注意溢出问题
用大写L(容易辨别)
//实例变量 int float double 默认值为0 0.0 //变量类型 变量名字 = new HelloWorld() helloWorld.name; //布尔值:默认为flase //除了基本类型,其余都是默认值null //类变量 static static double salary =2500; System.out.println(salary);//可以不用new //常量 final 运行过程中不能被改变 static final double pi = 3.14;//修饰符不存在先后顺序
类成员变量 (首字母小写和驼峰原则):monthSalary
局部变量 (首字母小写驼峰原则)
常量:大学字母和下划线 : MAX_VALUE
类名:首字母大写和驼峰原则:Man、GoodMan
方法名: 首字母小写和驼峰原则:run(), runRun()
快捷键:ctrl + d:复制到下一行
多个操作数相加,以最高位为准
byte, short ,char -> int -> -> long -> float -> double
取余:%
&& 会短路:(c<4)&&(c++)
pow():幂函数
二进制
A = 0011 1100
B = 0000 1101
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001
~B = 1111 0010
<< 左移 >> 右移
2*8怎么运算最快?
2<<3
效率极高
连接的类型只要有String 就会是连接的作用
System.out.println(""+a+b); System.out.println(a+b+""); //先运算 30
score < 60 ? "及格" : "不及格";
一般利用公司域名倒置作为包名
com.baidu.www
为了能够使用某一包的成员,我们需要在java程序中导入
import ....*; 导入报下包下所有类