注释、标识符、关键字
注释
- 单行注释://
- 多行注释:/* */
- 文档注释:/** */
标识符
Java所有的组成的部分都需要名字。类名、变量名、方法名都成为标识符。
public class helloworld{
public static void main(String[] arges){
String teacher = "jrj"
}
}
/*
helloworld是类名
main是方法名
teacher是变量名
*/
标识符的注意点
- 标识符必须是由字母(A-Z或者a-z)、美元符号($)、下划线(_)开始
- 首字符之后可以是由字母(A-Z或者a-z)、美元符号($)、下划线(_)和数字组成
- 不能使用关键字作为变量名或者方法名
- 标识符是大小写敏感的
大小写敏感:大小写不一样表示的也不一样
关键字
数据类型
Java是一个强类型语言,所有变量只有定义后才可以使用。
数据类型拓展
整数进制
- 二进制:0b+数字
- 十进制
- 八进制:0+数字
- 十六进制:0x+数字
浮点数
- 最好不要使用浮点数进行数据比较
基本类型(primitive type)
数值类型
整数类型
- byte占一个字节范围:-128~127
- short占两个字节范围:-32768~32767
- int占四个字节范围:-2147483648~2147483647
- long占八个字节范围:-9223372036854775808~9223372036854775807 //定义时需要在数字后加加一个L
浮点数类型
- float占四个字节范围 //定义时需要在数字后加加一个F
- double占八个字节范围
字符类型
- char占两个字节
Boolean类型:占一位只有true或者false两个
引用类型(reference type)
- 类
- 接口
- 数组
类型转换
低------------------------------------------------------------------------------>高
byte,short,char,int,long,float,double
运算中,不同类型得数据先转化为同一类型,然后进行运算
强制类型转换:(类型)变量名 //高---->低
自动类型转换:低---->高
注意点:
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干得类型
- 转换的时候可能会出现精度问题和内存溢出
变量、常量、作用域
- 类变量:加static,后面直接引用就可以
- 实例变量:从属于对象, 如果不自行初始化,这个类型的默认值,布尔值的默认是false;除了基本类型,其余的默认值都是null;
- 局部变量:存在方法里的变量,使用之前必须声明和初始化值
常量
final定义常量
变量的命名规范
- 所有的变量、方法、类名:见名知意
- 类成员变量:除了第一个单词意外后面的单词首字母大写+驼峰原则
- 常量:全部使用大写字母和下划线
- 类名:首字母大写和驼峰原则
- 方法名:首字母小写+驼峰原则
运算符
算数运算符:+,-,*,/,%,++,--
赋值运算符:=
关系运算符:<,>,<=,>=,==,!=,instanceof
逻辑运算符:&&,||,!
位运算符:&,|,^,~,>>,<<,>>>
条件运算符:?:
扩展赋值运算符:+=,-=,/=
自加自减
public class demo{
public static void main(String[] ages){
int a = 1;
int b = a++;
int c = ++a;
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
输出结果:
3
1
3
a++:执行代码先给b赋值1,然后自加1,这时候a=2
++a:执行代码先自家再给C赋值,这是a=3故c=3
自减相同原理
幂运算
使用工具类,math包来进行计算
import Math;//引用包
double pow = Math.pow(3, 2);//3的2次方
System.out.println(pow);
逻辑运算符
boolean a = true;
boolean b = false;
System.out.println(a&&b);//与:两个值都为真才是真
System.out.println(a||b);//或:一个为真则结果为真
System.out.println(!(a&&b);//非,真为假,假为真
输出结果:
false;
true;
true;
位运算
A = 0011 1100;
B = 0000 1101;
A&(与)B = 0000 1100;
A/(或)B = 0011 1101;
A^(异或)B = 0011 0001;
~(取反)B = 1111 0010;
<<左移:*2 >>右移/2
三元运算符
x ?y : z//如果x为真结果为y否则为z
字符串连接符
int a = 10;
int b = 20;
System.out.println(""+a+b);
System.out.println(a+b+"");
输出结果
1020
30
原则
- 如果在运算当中有long型,则最后是long型
- 如果没有long型,则返回int
- 优先级()
包机制、JavaDoc
包机制
- 一般利用公司域名倒置作为包名
- 导入包需要用import +包名指令
- 不要让包名字重复
- 如果类很多,可以使用包名+* 星号为通配符
JavaDoc
cmd:javadoc 参数 doc.java(Java文件名)
javadoc常用标识
@author 作者
@version 版本号
@param 参数名 描述 方法的入参名及描述信息,如入参有特别要求,可在此注释。
@return 描述 对函数返回值的注释
@deprecated 过期文本 标识随着程序版本的提升,当前API已经过期,仅为了保证兼容性依然存在,以此告之开发者不应再用这个API。
@throws异常类名 构造函数或方法所会抛出的异常。
@exception 异常类名 同@throws。
@see 引用 查看相关内容,如类、方法、变量等。
@since 描述文本 API在什么程序的什么版本后开发支持。
{@link包.类#成员 标签} 链接到某个特定的成员对应的文档中。
{@value} 当对常量进行注释时,如果想将其值包含在文档中,则通过该标签来引用常量的值。
在工具栏中找到 Tool,然后再子菜单中找到 Generate JavaDoc。
第二步:在生成文档上进行配置。
- 参数说明
- Whole project:整个项目都生成文档
2.Custom scope 自定义范围。如下:
(1)project files 项目文件,
(2)project production files 项目产品文件,
(3)project test files 项目的测试文件, 未知范围,class hierarchy 类层
3.include test source 包含测试目录
4.include JDK and … 包含jdk和其他的第三方jar
5.link to JDK documentation…链接到JDK api
6.output directy 生成的文档存放的位置
(1)private、package、protected、public 生成文档的级别(类和方法)
(2)右边的Generate…是选择生成的文档包含的内容,层级树、导航、索引..
(3)再右边是生成的文档包含的内容信息,作者版本等信息
7.Locale 语言类型,zh-CN
8.Other command line arguments 其他参数
9.Maximum heep… 最大堆栈
说明:IntelliJ IDEA作为Java流行的编辑器, 其生成一些Javadoc会对中文乱码, 使用UTF-8编码即可. 这个常见的问题, 则需要生成时设置参数即可.
在 “Tools->Gerenate JavaDoc” 面版的 “Other command line arguments:” 栏里输入 :
传入JavaDoc的参数,一般这样写
-encoding UTF-8 -charset UTF-8 -windowtitle "文档HTML页面标签的标题" -link https://docs.oracle.com/javase/8/docs/api/不然的话会报可能会报错误: 编码GBK的不可映射字符。