注释
// 单行注释
/*
多行注释
*/
/** 文档注释
* @Description helloWorld
* @Author 菜鸟
* */
标识符&关键字
- Java所有的组成部分都需要名字。
- 类名、变量名以及方法名都被称为标识符。
注意:
- 所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始
- 首字符之后可以是字母(A-Z或者a-z),美元符($)、下划线(_)或 数字 的任何字符组合
- 不能使用关键字 作为 变量名或方法名。
- 标识符是大小写敏感的
- 合法标识符举例:age、$salary、_value、__1_value
- 非法标识符举例:123abc、-salary、#abc
- 可以使用中文命名, 但是一般不建议这样去使用, 也不建议使用拼音
数据类型
强类型语言(Java属于强类型语言)
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
弱类型语言
Java的数据类型分为两大类:(默认值)
- 基本类型(primitive type)
- 数值类型
- 整数类型(0) byte占1个字节short占2个字节 int占4个字节 long占8个字节
- 浮点类型(0.0) float占4个字节 double占8个字节
- 字符类型(空格) char占2个字节
- boolean类型(false) 占1位其值只有true和false两个
- 数值类型
- 引用类型(reference type)(null)
- 类
- 接口
- 数组
字节:
- 位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数。
- 字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示,
- 1B(byte,字节)=8bit(位)
- 字符:是指计算机中使用的字母、数字、字和符号
- 1bit表示1位, 1B表示一个字节,1B=8bit. 1024B=1KB 1024KB=1M 1024M=1G
拓展
整数扩展:
进制:
二进制:(0b)
十进制
八进制:(0)
十六进制:(0x)
浮点数扩展:
float\double 有限 离散 舍入误差 大约 接近但不等于
对于比较精确的计算(如银行系统)
可以使用数学工具类(如 BigDecimaL)
类型转换
低------------------------------------->高
byte,short,char->int ->long->float->double
强制转换 : (类型)变量名 高-->低
自动转换 : 自动转换 低-->高
运算中,不同类型的数据先转化为同一类型,然后进行运算。
注意:
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量的时候,强制转换
- 转换的时候可能存在内存溢出,或者精度问题!
自动类型转换:将 小数据类型数据 存储到 大数据类型 中
自传表:
byte
short int long float double
char
-低--------------------------------------高-->
1.纵向之间不能转换,横线之间可以转换
2.小类型数值可以直接存储到大数据类型中
强制类型转换:将 大数据类型数据 存储到 小数据类型 中
char a = 'a';
int b = (int) a;
System.out.println(b);
输出结果:97
所有字符的本质还是数字(Unicode表)
'A'-'Z' :65~90
'a'-'z' :97~122
'0'-'9' :48~57
注意!!!:强制转换会降低数据的精确度
转义字符
转义字符 | 字符值 |
---|---|
\' | 一个单撇号(') |
\'' | 一个双撇号(") |
\? | 一个人问号(?) |
\\ | 一个反斜杠(\) |
\b | 退格 |
\n | 换行 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
··· |
对象 从内存分析:
String sa = new String("hello");
String sb = new String("hello");
System.out.print("sa=sb:");
System.out.println(sa == sb);
String sc = "hello";
String sd = "hello";
System.out.print("sc=sd:");
System.out.println(sc == sd);
输出结果:
sa=sb:false
sc=sd:true
变量、常量、作用域
变量
变量:可以变化的量!
变量是一个数据存储空间的表示
Java是一种强类型语言,每个变量都必须声明其类型。
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
type varName [=value][{,varName[=value]}]
数据类型 变量名=值:可以使用逗号隔开来声明多个同类型变量。
特点:
- 唯一性 : 数据的存储名字是唯一的
- 随机性 : 数据的存储地址是随机的
注意:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
- 局部变量必须初始化值
变量作用域
- 类变量
- 实例变量
- 局部变量
//1类变量 static
static double salary = 2500;
//2实例变量:从属于对象
int age;
//main方法
public static void main(String[] args) {
//3局部变量:局部变量必须声明和初始化值!!!
int i = 10;
System.out.println(i);
//变量类型 变量名字 =new Demot08();
Demo demo = new Demo();
System.out.println(demo.age);
}
//其他方法
public void add(){
}
常量
常量:初始化后不能再改变值!不会变动的值。
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
final 常量名 = 值;
final double PI = 3.14;
常量名一般使用大写字符。
final static double Pi = 3.14;
static final double Pi2 = 3.14;
//修饰符不区分先后
命名规范
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名:首字母小写和驼峰原则:run0,runRun0
运算符
- 算术运算符:+,-,*,/,%,++,--
- 赋值运算符:=
- 关系运算符:>,<,>=,<=,==,!=, instanceof
- 逻辑运算符:&,‖,!
- 位运算符:&,|,^,~,>>,<<,>>>(了解)
- 条件运算符: ?:
- 扩展赋值运算符:+=,-=,*=,/=
运算符的优先级:
包机制
- 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。
- 包语句的语法格式为: package pkg1[.pkg2[.pkg3...]];
- 一般利用公司域名倒置作为包名:
- 为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用"import"语句可完成此功能 import package1[.package2...].(classname|*);
JavaDoc
-
javadoc 命令是用来生成自己API文档的
-
参数信息
- @author作者名
- @version版本号
- @since指明需要最早使用的jdk版本
- @param参数名
- @return返回值情况
- @throws异常抛出情况
使用IDEA输出javadoc:
-
在IDEA中选择工具(Tool)并选择Generate JavaDoc(生成javaDoc)
-
配置各种参数
- 选择生成JavaDoc文档的范围。
- 输出目录最好新建一个文件夹。
- 区域设置: 简体中文就是zh_CN、 繁体(台湾)zh_tw、 繁体(香港)zh-hk、 英语(香港)en-hk、 英语(美国)en-us、 英语(英国)en-gb、 英语(全球)en-ww
- 其他命令行参数:中国,参数一般为: -encoding UTF-8 -charset UTF-8
- 设置完成后点击确定(OK)即可生成Doc文档