Java中的注释
//单行注释
/*多行注释*/
/**
* 文档注释
*/
(有趣的代码注释)
关键字
标识符
- 以字母(AZ或az)、美元符号($)、下划线(_)开头
- 首字符之后可以是字母、美元符号、下划线、数字的任意字符组合
- 不能使用关键字作为变量名或方法名
- 大小写敏感
数据类型
//八大基本数据类型,int byte short long float double char boolean
//引用数据类型,类 接口 数组
//整数
int num1=10;
byte num2=20;
short num3=30;
long num4=40L;//long类型要在数字后加L
//浮点数
float num5=10.1F;//float类型要在数字后加F
double num6=10.2;
//字符
char name='a';
//string字符串不是关键字
//布尔值,true false
boolean flag=true;
数据类型拓展
//整数拓展:进制
int i=10;//十进制
int i2=010;//八进制0,8
int i3=0x10;//十六进制0x,16
//浮点数拓展
//float 有限 离散 舍入误差 大约 接近但不等于
float f=0.1f;//0.1
double d=1.0/10;//0.1
System.out.println(f==d);//false
float f1=11111111111111111111f;
float f2=f1+1;
System.out.println(f1==f2);//true
//字符拓展
char c='a';
char c2='中';
System.out.println(c);//a
System.out.println((int)c);//97,强制转换,所有的字符本质是数字
System.out.println(c2);//中
System.out.println((int)c2);//2003,强制转换
//转义字符
// \t制表符
// \n换行
类型转换
//类型转换
/*
* 低(容量)---------------------->高(容量)
* byte,short,char,int,long,float,double
*
* 强制类型转换 (类型)变量名 高-->低
* 自动类型转换 低-->高
*
* 不能对布尔值进行转换
* 不能把对象类型转换为不相干的类型
* 转换的时候可能存在内存溢出或者精度问题
* */
int a=128;// 128
byte b=(byte)a;// -128,内存溢出
double dou=a;// 128.0
double dou1=11.1;
int a1=(int)dou1;// 11,精度问题
char c1='a';// a
int a2=c1+1;// 98
char a3=(char)a2;// b
变量
public class Variable {
//属性 方法
//实例变量
//如果不自行初始化,默认值为0 0.0,布尔值默认值为false
//除了基本数据类型,其他默认值都是null
String name;
int age;
//类变量 static
static double salary=2500;
public static void main(String[] args) {
//局部变量 必须声明和初始化值
int i=10;
System.out.println(i);// 10
Variable variable = new Variable();
System.out.println(variable.name);// nunll
System.out.println(variable.age);// 0
System.out.println(salary);// 2500.0
}
}
常量
public class Constant {
//常量 final修饰符,修饰符不存在先后顺序,常量名大写
static final double PI=3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
变量的命名规范
- 类名:首字母大写和驼峰原则 GoodMan Man
- 类成员变量:首字母小写和驼峰原则 monthSalary
- 局部变量:首字母小写和驼峰原则 monthSalary
- 方法名:首字母小写和驼峰原则 run() runMan()
- 常量:大字字母和下划线 MAX_VALUE
运算符
public class Operator {
public static void main(String[] args) {
/*
* 运算符
* */
//算术运算符 +,-,*,/,%(取余,模运算),++,--
int a=10;
int b=20;
System.out.println(a+b);// 30
System.out.println(a-b);// -10
System.out.println(a*b);// 200
System.out.println(a/b);// 0
System.out.println(a/(double)b);// 0.5
int c=1;// c=1
int d=c++;// d=1,c=2,先把c赋给d,c再加1
int e=++c;// c=3,e=3,c加1后赋值给e
System.out.println(c);// 3
System.out.println(d);// 1
System.out.println(e);// 3
//幂运算
double pow = Math.pow(3, 2);
System.out.println(pow);// 9.0
//赋值运算符 =
//关系运算符 >,<,>=,<=,!=instanceof
//逻辑运算符 &&,||,!
//位运算符 &,|,^(异或,同0非1),~(取反),>>(右移),<<(左移)
/*
* 0000 0000 0
* 0000 0001 1
* 0000 0010 2
* 0000 0011 3
* 0000 0100 4
* 0000 1000 8
* 0001 0000 16
* */
System.out.println(2<<3);// 0000 0010(2) 0001 0000(16)
//条件运算符 ?:
int score=90;
String type=score < 60 ? "不及格":"及格";
System.out.println(type);// 及格
//扩展赋值运算符 +=,-=,*=,/=
//字符串连接符 +
int f=10;
int g=20;
int h=30;
System.out.println(f+g+h);// 60
System.out.println("~"+f+g+h);// ~102030
System.out.println(f+"~"+g+h);// 10~2030
System.out.println(f+g+"~"+h);// 30~30
System.out.println(f+g+h+"~");//60~
}
}
包机制
包语句的语法命名格式 eg:package com.yang.base;
一般利用公司域名倒置作为包名
使用某个包的成员时,需在java程序中导入该包eg : import com.baidu.www.*;
*为通配符,表示导入该包下所有的类
(阿里巴巴java开发手册)
(jdk帮助文档)
JavaDoc
javadoc命令用来生成自己的API文档
参数信息
- @author 作者
- @version 版本号
- @since 指明需要最早使用的jdk版本
- @param 参数名
- @return 返回值情况
- @throws 异常抛出情况
-
通过命令行生成JavaDoc文档
-
IDEA生成JavaDoc文档