阿里巴巴java开发手册
一、注释
-
设置工程参数:
-
file—Project Structure,将SDK调整为1.8,Language Level调整为8,并apply
-
新建一个Class,写出Hello,World!
-
单行注释 //单行注释
-
多行注释: /* */
-
文档注释: /** */
-
Sout
Psvm
二、标识符
-
标识符是大小写敏感的
三、数据类型
-
基本类型(8个)
-
四、数据类型转换(Demo05&06)
-
从低至高:byte, short, char——int——long——float——double
-
小数的优先级大于整数
-
强制转换:(类型)变量名 高—低
-
自动转换:低—高
-
注意: 1. 不能对布尔值进行转换 2. 不能把对象类型转换为不相干的类型 3. 把高容量转换为低容量时,强制转换 4. 转换的时候可能存在内存溢出或者精度问题
package com.guang.base;
public class Demo05 {
public static void main(String[] args) {
int i=128;
byte b=(byte)i;//内存溢出
System.out.println(i);
System.out.println(b);
//强制转换:(类型)变量名 高—低
//自动转换:低—高
double c=i;
System.out.println(c);
/*
1. 不能对布尔值进行转换
2. 不能把对象类型转换为不相干的类型
3. 把高容量转换为低容量时,强制转换
4. 转换的时候可能存在内存溢出或者精度问题!
*/
System.out.println("==================");
System.out.println((int)23.7);//23
System.out.println((int)-45.89f);//45
System.out.println("==================");
char e='a';
int f=e+1;
System.out.println(f);
System.out.println((char) f);
}
}
package com.guang.base;
public class Demo06 {
public static void main(String[] args) {
//操作比较大的数的时候注意溢出问题
//JDK7新特性,数字间可以用下划线分割
int money=1_000_000_000;
int years=20;
int total=money*years;//-1474836480,计算结果溢出
long total2=money*years;//-1474836480,默认后面两个的乘积为int类型,计算之前已经存在问题了
long total3=money*((long)years);//计算时先把一个数据类型转成long
System.out.println(total);
System.out.println(total2);
System.out.println(total3);
}
}
五、变量(demo08)
-
变量是程序中的最基础的存储单元,要素包括变量名,变量类型和作用域。
-
每个变量都有类型,包括基本类型和引用类型
-
变量名是合法的标识符
-
变量声明是一条完整的语句,每一个声明都需要用 ; 隔开
-
-
变量作用域:类变量;实例变量;局部变量
package com.guang.base;
public class Demo08 {
//属性:变量
//类变量 static 从属于类,可直接输出
static double salary=2500;
//第一:实例变量,从属于对象;如果不自行初始化,这个类型将输出默认值,0或0.0 u000
//布尔值的输出默认值是false
//除了基本类型(8ge),其余的类型输出默认值都是null
String name;
int age;
//main方法
public static void main(String[] args) {
//第二,局部变量,在方法之间,必须声明和初始化值
int i=10;
System.out.println(i);
//实例变量的使用
//变量类型 变量名字 = new com.guang.base.Demo08()
Demo08 demo08 = new Demo08();
System.out.println(demo08.age);//demo08是变量的名字,所以是小写
System.out.println(demo08.name);
//类变量
System.out.println(salary);
}
//其他方法
public void add(){
}
}
六、常量(demo09)
final 常量名=值;(常量名一般用大写字符)
package com.guang.base;
public class Demo09 {
//修饰符static和final,不存在先后顺序
static final double PI=3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
七、运算符
-
算数运算符:+,-,*,/,%(取余数),++,--
package com.guang.operator;
public class Demo01 {
public static void main(String[] args) {
//二元运算符
//ctrl+D 复制单前行到下一行
int a=10;
int b=20;
int c=25;
int d=25;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);//int类型,除出来后去除小数取整,强转一个为double类型
}
}自增++、自减--
package com.guang.operator;
public class Demo04 {
public static void main(String[] args) {
//++ -- 自增,自减,一元运算符
int a=3;
int b = a++;//执行完这代码后,先给b赋值,a再自增
//a++ a=a+1;
System.out.println(a);//4
//a++ a=a+1;
int c = ++a;//++a a=a+1;//执行完这代码后,先自增,再给c赋值
System.out.println(a);//5
System.out.println(a);
System.out.println(b);
System.out.println(b);
System.out.println(c);
System.out.println(c);
//幂运算 2^3; 很多运算会采用工具类来操作;
double pow = Math.pow(2, 3);
System.out.println(pow);
System.out.println("______________");
int e=2;
System.out.println(e);
int f=e++;//执行完这代码后,先给f赋值,e再自增//赋值给f的e是没有自增的,所以f=2;
System.out.println(e);
int g=++e;/*执行完这代码后,e先自增,再给g赋值//赋值给g的e是先进行自增的,
e给f赋值后先自增,然后自增后的e在赋值给g前先自增,在赋值给g,相当于2+1+1=4;*/
System.out.println(e);
System.out.println(f);
System.out.println(g);
System.out.println("______________");
int i=4;
System.out.println(i);
int h=++i;
System.out.println(i);
}
} -
赋值运算符:=
package com.guang.operator;
public class Demo02 {
public static void main(String[] args) {
long a=1234827834948L;
int b=123;
short c=10;
byte d=8;
System.out.println(a+b+c+d);//long
System.out.println(b+c+d);//int
System.out.println(c+d);//int
}
} -
关系运算符:>,<,>=,<=,!=(不等于),instanceof
package com.guang.operator;
public class Demo03 {
//关系运算符返回布尔值,正确,错误
public static void main(String[] args) {
int a=10;
int b=20;
int c=21;
System.out.println(c%a);//c/a 1
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a==b);
System.out.println(a!=b);
}
} -
逻辑运算符:&&(与),||(或),!(非)
package com.guang.operator;
public class Demo05 {
//逻辑运算符,或与非
public static void main(String[] args) {
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));//逻辑非运算,如果是真则为假,如果是假则为真
//短路运算,当与运算第一个条件为假时,则不会判断后续条件。
int c=5;
boolean d=(c<4)&&(c++<7);
System.out.println(d);
System.out.println(c);//c小于4,结果为假,故d未执行c++操作;
}
} -
位运算符:&,|,^,~,>>(右移),<<(左移),>>>(右移且把高位等于0)
-
A=0011 1100 B=0000 1101 A&B=0000 1100 与运算,都是1则为1,否则为0 A|B=0011 1101 位运算,都是0则为0,否则为1 A^B=0011 0001 异或,相同取0,不同取1 ~B=1111 0010 取反,与上述相反,0则为1,1则为0 << 相当于*2 >> 相当于/2 000000 0 000001 1 000010 2 000100 4=2<<1 001000 8=2<<2 010000 16=2<<3
-
-
条件运算符:?,:
public class Demo08 { public static void main(String[] args) { //x?y:z 意思是如果x==ture,则结果为y,否则结果为z int score=80; String type=score<60?"不及格":"及格"; System.out.println(type);//及格 } -
扩展赋值运算符:+=,-=,*=,/=
int a=10; int b=20; a-=b;//a=a-b System.out.println(a);//-10 a+=b;//a=a+b System.out.println(a);//10 //字符串连接符 + , String类型“” System.out.println(""+a+b);//1020,空为字符串类型,后面加上加号表示把所有的当做字符串进行连接; System.out.println(a+b+"");//30,先进行加法,然后进行求和运算; System.out.println(""+(a+b));//30,先进行加法,然后进行求和运算;
八、包机制
-
一般用公司域名倒置进行命名 如:com.baidu.www
-
package pkg1[.pkg2[.pkg3...]];
-
包名在代码的最顶端,导入其他包用“import package pkg1[.pkg2[.pkg3...]]”,导入包的代码放在原始包名下面
九、Java.Doc
-
javadoc命令是用来生成自己API文档的
-
参数信息:
-
@author作者名
-
@version 版本号
-
@since 指明需要最早使用的jdk版本
-
@param参数名
-
@return 返回值情况
-
@throws 异常抛出情况
-
-
通过命令行生成JavaDoc文档:javadoc -encoding UTF-8 -charset UTF-8 Doc.java
-
通过IDEA生成“JavaDoc文档”:Tools——Generate JavaDoc,选择文件夹及对应位置。
package com.guang.base;
/**
* @author Guang
* @version 1.0
* @since 1.8
*/
public class Doc {
String name;
/**
* @author Guang
* @param name
* @return
* @throws Exception
*/
public String test(String name){
return name;
}
} -
浙公网安备 33010602011771号