单行注释
// 单行注释
多行注释
/* 多行注释 多行注释 */
文档注释
/** * javaDoc:文档注释 * @Descriotion * @Author */
标识符注意点
强类型语言:C/C++、Java
弱类型语言:python、JavaScript
java为强类型语言
java数据类型分为两大类
代码:
// 八大基本数据类型 //整数 byte num2 = 20; short num3 = 30; int num1 = 10; long num4 = 30L; //浮点数 float num5 = 50.01F; double num6 = 3.000202020202; //字符 char name = 'A'; //字符串, String不是关键字,是类 //布尔值 boolean flag = true;
整数扩展
//整数扩展: 进制 二进制0b 十进制 八进制0 十六进制0x int i = 10; int j = 010; int k = 0x10; System.out.println(i); //10 System.out.println(j); //8 System.out.println(k); //16
浮点数扩展
//浮点数扩展 银行业务怎么表示?钱 ==> BigDecimal 数学工具类 //float 有限 离散 舍人误差 大约 接近不等于 //double //少用浮点数进行比较 float f = 0.1f; //0.1 double d = 1.0/10; //0.1 System.out.println(f==d); //false float d1 = 231231231231f; float d2 = d1+1; System.out.println(d1==d2); //true
字符扩展
//字符拓展 char c1 = 'a'; char c2 = '中'; System.out.println(c1); System.out.println((int)c1); //强制转换 System.out.println(c2); System.out.println((int)c2); //字符本质是数字 编码Unicode 2字节 中==20013 char c3 = '\u0061'; System.out.println(c3); //a // 转义字符 如:\t 制表符
**布尔值扩展
if(flag == true){} ==> if(flag){}
其他拓展
String sa = new String("hello"); String sb = new String("hello"); // 比较的是引用数据类型,则比较的是是否是同一个对象(比较地址) System.out.println(sa==sb); String sc = "hello"; String sd = "hello"; // 比较的是基本数据类型,则比较的是数值是否一致(比较数值) System.out.println(sc==sd); //需要从对象 内存分析
int i = 128; byte b = (byte) i; //内存溢出 //强制转换 高->低 //自动转换 低->高 System.out.println(i); System.out.println(b); /* 注意点: 1. 不能对布尔类型进行转换 2. 不能把对象类型转换不相干的类型 3. 把高容量转换到低容量时,强制转换 4. 转换时可能存在内存溢出,或者精度问题 */ System.out.println((int)23.7); //23 System.out.println((int)-45.89f); //-45 char c = 'a'; int d = c+1; System.out.println(d); //'a'+1 => 98 //========================================================== //操作比较大的数的时候,注意溢出问题 //JDK7新特性 数字之间可以用下划线分割 int money = 10_0000_0000; int num = 10; int total = money*num; //计算时会溢出 long total2 = money*num; //无法解决溢出问题,转换之前已经溢出 long tatal3 = money*((long)num); //成功解决本例中的溢出问题 System.out.println(money);
变量
java变量是程序最基本的存储单元,其要素包括变量名、变量类型和作用域
type varName [=value]
注意:
每个变量都有类型,类型可以是基本类型,也可以是引用类型
变量声明是一条完整语句,都必须以分号结尾
变量可分为:局部变量,类变量,实例变量
局部变量:在方法中 type varName
类变量:在类属性中 static type varName
实例变量:在类属性中 type varName new() 后才能使用
public class Demo { //类变量 static static double salary = 2500; // 实例变量:从属于对象。不初始化,则为默认值(默认值为0,0.0,false,null) String name; int age; public void add(){ //局部变量:必须声明和初始化 int i; } }
常量
可以理解为一种特殊的变量,值被设定后,在程序运行中不允许被修改。
final 常量名 = 值 //常量名一般为大写 * 修饰符 不存在先后顺序
变量的命名规范
所有变量、方法、类名:见名知意
类成员变量、局部变量、方法名:首字母小写和驼峰原则
类名:首字母大写和驼峰原则
常量:大写字母和下划线
自动类型转换
long a = 123123123123123L; int b = 123; short c = 10; byte d = 8; double e = 123.123; System.out.println(a+b+c+d); //long System.out.println(b+c+d); //int System.out.println(c+d); //int System.out.println(a+e); //double
一元运算符
int a = 3; a = a++; System.out.println(a); //3 int b; b = a++ + ++a; //a=3 ==> a++=3 ==> a=4 ==> ++a=5 ==> b=3+5=8 System.out.println(b); //8 //幂运算 java中不存在2^3==2*2*2 Math.pow(2,3) == 2*2*2
逻辑运算符
A&&B 运算中如果A为假则不运算B; A||B 同理;
位运算
三元运算符
x ? y : z 如果x为 true,则结果为 y,否则结果为 z
package pk1[.pkg2[.pkg3]];
import 包名 import 包名.* //倒入包下所有的类
javadoc命令是用来生成自己的API文档的
注释方法见 注释
cmd:javadoc -encoding UTF-8 -charset UTF-8 Doc.java
IDEA使用javaDoc
最上方工具栏 ==> tools ==> Generate javaDoc