单行注释、多行注释、文档注释
//我是以//开头的单行注释
/*
我是多行注释
我是多行注释的第二行
我是第三行
我累了
*/
/**
我是文档注释
我可太牛逼了
*/
平时写代码要注意规范 阿里巴巴Java开发手册
不能用关键字来命名
Java所有的部分都需要名字
所有的标识符都应该以字母、美元符、或者下划线开始
首字母之后可以是字母、美元符、或者下划线或者数字的任意组合
标识符大小写敏感
一般不使用中文命名,也不用拼音
要求变量的使用严格符合规定,所有变量都需要先定义后才能使用
基本类型
引用类型
1字节=8位 1B=8bit
//整数的表示方式:
int num1 = 1;
byte num2 = 2;
short num3 = 3;
long num4 = 4L;//long类型的数字定义的时候要在后面加上L
//小数的表示方式:
double num5 = 3.1415926;
float num6 = 3.12765F;
//字符的表达方式:
char name1 = ‘情‘;//只能定义一个字
//字符串的表达方式:
String name2 = ‘天若有情天亦老‘;
//布尔值的表示方式:
boolean flag = true;
boolean flag2 = false;
//字符内容的拓展,还有一些常见的转义字符\n \t
char c1 = ‘a‘;
char c2 = ‘中‘;
char c3 = ‘\u0061‘;//一种编码格式
System.out.println("------------------------------------------------------------------");
//内存分析
String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa == sb);//false
String sc = "hello world";
String sd = "hello world";
System.out.println(sc == sd);//true
System.out.println("------------------------------------------------------------------");
//精简代码
if (flag==true){}
if(flag){}
System.out.println("------------------------------------------------------------------");
//强制转换_part01
char c = ‘a‘;
int p = c+1;
System.out.println(p);
System.out.println((char)p);
//强制转换_part02:
//强制转换的表达式是 (类型)变量名
//注意:大容量转换为小容量时使用强制转换,可能出现内存溢出或者精度问题。
//不能对布尔值进行强制转换,且不能将对象转换为不相干的类型。
int i = 128;
byte b = (byte)i;//内存溢出
double c = i;
System.out.println(i);
System.out.println(b);
System.out.println(c);
System.out.println((int)23.7); //23
System.out.println((int)-45.89f); //-45
//JDK7中的新特性:数字内部可以用下划线表示
int money = 10_0000_0000;
int year = 20;
int total = year*money;//计算溢出 计算结果默认是int 没有转换类型也会是int
long total2 = money*((long)year);//将一个数字转换成long之后再计算的结果就会默认成long类型了
System.out.println(total);
System.out.println(total2);
System.out.println("------------------------------------------------------------------");
PS:在运行时遇到的第一个bug:解析时已达到文件结尾——出现了括号的缺失
//进制一般包括:二进制0b 十进制 八进制0 十六进制0x
int i1 = 10;
int i2 = 010;
int i3 = 0x10;
//在应用不同的变量类型的时候,尽量要避免浮点数之间的比较。因为浮点数能表示的数字是有限的、离散的、存在舍入误差的大约数,接近但不等于。
不建议在一行中定义多个变量,变量可以是基本型也可以是引用类型。
合法、完整语句、变量名基本规则、变量作用域
命名规范:见名知意原则——参考《阿里巴巴Java开发手册》
类变量/局部变量首字母小写+驼峰原则 除了第一个单词之外 后面的单词首字母大写
常亮:大写字母和下划线
类名:首字母大写和驼峰原则
方法名:首字母小写和驼峰原则
实例变量、类变量、局部变量
public class DEMO07{
String name;
int age;
//实例变量:从属于对象,如果不自行初始化,会自定义为这个类型的默认值:0 0.0 u0000 false 其他类型对应的默认值都是null
static double salary = 2500;
//类变量 static
public static void main(String[] args){ //main方法
int i = 10;
System.out.println(i);
//局部变量的有效期仅仅局限在这个方法内,且在使用之前必须声明并初始化。
DEMO07 demo07 = new DEMO07();//调用类
//其他方法
public void add(){
}
}
}
一般使用大写字符定义
static final double PI = 3.14;
final static double PI2 = 3.154;
//final作为修饰符 其位置不存在先后顺序的要求
public static void main(String[] args){
System.out.println(PI);
System.out.println(PI2);
}
算术运算符+-*/%++--
//二位运算符
//计算除法的时候要注意类型转换
//小技巧:ctrl+D 将当前代码复制到下一行
int a = 10;
int b = 20;
System.out.println(a/(double)b);
System.out.println("------------------------------------------------------------------");
long a = 12312311L;
int b = 123;
short c = 10;
byte d = 8;
System.out.println(a+b);//long 有long 结果就会成为long类型
System.out.println(b+c+d);//int 自动变成int类型
System.out.println(c+d);//int 自动变成int类型
System.out.println("------------------------------------------------------------------");
//自增 自减运算符 Math库的调用
int a = 3;
int b = a++;// 执行完这局代码后,先给b赋值,再自增 a = a+1在这句后面 被隐藏了
int c = ++a;// 执行完这局代码前,先自增,再给c赋值 a = a+1在这句前面 被隐藏了
double pow = Math.pow(3,2);
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(pow);
赋值运算符
关系运算符== != instanceof
//关系运算符的返回值是true false
int a = 10;
int b = 20;
int c = 21;
System.out.println(c%a);//取余 模运算
System.out.println(a>b);
System.out.println(a==b);
System.out.println(a!=b);
逻辑运算符 &&与, ||或, !非
boolean a = true;
boolean b = false;
System.out.println("a && b: "+(a && b));//与运算 and
System.out.println("a || b: "+(a || b));//或运算 or
System.out.println("!(a && b): "+(!(a && b)));//取反 not
//短路运算
int c = 5;
boolean d = (c<4)&&(c>1);
System.out.println(d);
位运算符 了解即可
/*
A = 0011 1100;
B = 0000 1101;
A&B = 0000 1100;
A/B = 0011 1101;
A^B = 0011 0001;异或运算 全为0得1
~B = 1111 0010;
2*8 = 16 2*2*2*2 让2*8的运算更加高效
<<左移 >>右移 位运算的效率高
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
左移一次相当于乘以2
*/
条件运算符
// x? y : z
//如果x = true,则结果为y,否则结果为z
int score = 80;
String type = score<60?"不及格":"及格";
System.out.println(type);
扩展赋值运算符
int a = 10;
int b = 20;
a += b;//a=a+b
a -= b;//a=a-b
System.out.println(a);
//字符串连接符 + 两侧有一个string类型 则会转换成string类型
System.out.println(a+b);
System.out.println(""+a+b);
System.out.println(a+b+"");
包的本质就是文件夹
一般利用公司域名倒置作为包名 com.baidu.www
视图上面的小齿轮 compack middle packages取消后可以使用.功能建立子包
导入包文件,import 包的地址
.*导入这个包下所有的类
生成参考的的API文档
IDEA内部可以使用Tools下面的Generate JavaDoc生成
原文:https://www.cnblogs.com/YabinWang/p/13175647.html