一、注释、标识符和关键字
1、注释
什么是注释?
-
平时我们写代码的时候,因为代码量不大我们自己还可以看懂,但是一旦项目结构复杂起来了,可能我们过几天就不知道他是干嘛的了,又要去一句一句代码的读他,这就很浪费时间了,这个时候我们就需要用到注释了,注释可以理解为笔记,用来帮我们记录代码的的作用。
-
注释不会被执行,是给我们人看的。
-
注释是一个非常好的习惯
-
Java有三种注释
//我是单行注释
/* 我是多行注释 */
/*
*@Description 描述
*@Author 作者
* **/
2、标识符
- 关键字
- Java的所有组成部分都需要名字。类明、变量名、方法名都被称为标识符!
标识符规范
- 所有的标识符都应该以字母(A ~ Z或者a ~ z)、美元符($)、或者下划线(_)开始
- 首字符之后可以是字母(A ~ Z或者a ~ z)、美元符($)、或者下划线(_)或数字的任何字符串组合
- 不能使用关键字作为变量名或方法名
- 标识符是大小写敏感的
- 可以使用中文和拼音命名,因为很Low
二、数据类型
Java是强类型语言:要求变量的使用要严格符合规定,所有变量都要先定义后才能使用。
Java的数据类型分为两大类
- 基本类型
- 引用类型
扩展:
punlic class Extend{
public static void mian(String[] args){
System.out.println("整数扩展***************************************************************");
//扩展: 进制 二进制0b 十进制 八进制0 十六进制0x
int i1 = 0b10;
int i2 = 10;
int i3 = 010;
int i4 = 0x10;
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
System.out.println(i4);
System.out.println("整数扩展***************************************************************");
System.out.println("浮点数扩展***************************************************************");
float f = 0.1f; //等于0.1
double d = 1.0/10; //等于0.1
System.out.println(f = d); //输出false
float f1 = 123456f;
float f2 = f1 + 1;
System.out.println(f1 = f2); //输出true
//为什么会是这样子的结果?
//因为浮点数是:有限 离散 有舍入误差 大约 接近当不等于
//所以我们应完全避免使用浮点数去进行比较
System.out.println("浮点数扩展***************************************************************");
System.out.println("字符扩展***************************************************************");
char c1 = 'a';
char c2 = '甜';
System.out.println(c1); //输出a
System.out.println((int)c1); //97
System.out.println(c2); //输出甜
System.out.println((int)c2); //输出\u751c
//所有的字符本质还是数字
//编码 Unicode 2个字节 65536
//常见转义字符: /t 制表符 /n 换行
System.out.println("字符扩展***************************************************************");
System.out.println("布尔扩展***************************************************************");
boolean b = true;
if(b == true){} //菜鸟
if(b){} //老司机
//代码尽量精简易理解
System.out.println("布尔扩展***************************************************************");
}
}
三、类型的转换
- 因为Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
- 运算中,不同类型的数据先转化为同一类型,然后进行运算。
- 类型转换有两种
- 强制类型转换 --(类型)变量名 高 --》 低
- 自动类型转换 --低 --》 高
public class Test_01 {
public static void main(String[] args) {
int i = 128;
byte b = (byte) i;//内存溢出了 强制转换
double d = i; //自动转换
/*
* 强制转换 (类型)变量名 高 --》 低
* 自动转换 低 --》 高
* */
System.out.println(i);//128
System.out.println(b);//-128
System.out.println(d);//128.0
/*
* 注意点:
* 1、不能对布尔值转换
* 2、不能把对象类型转换为不相干的类型
* 3、把高容量转低容量的时候,强制转换
* 4、转换的时候可能存在内存溢出的情况或者精度问题
* */
}
}
四、变量、作用域、常量
1、变量
- 什么是变量:就是可以改变的量!
- Java是强类型语言,每个变量都必须声明其类型。
- Java变量是程序中最基本的存储单元,其中包括变量名、变量类型、作用域
定义变量的方式:
int i = 128;
//变量类型 变量名 = 值;
- 注意点:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
2、作用域
- 类变量
- 实例变量
- 局部变量
public class Test_02 {
static int i = 128;//类变量
String s = "qwer";//实例变量
public void test(){
double d = 128.0;//局部变量
}
}
3、常量
- 常量(Constant):初始化(initialize)后不能再改变值!恒古不变的值。
- 所谓的常量可以理解为一个特殊的变量,他的值被设定后,在程序运行过程中不允许改变。
定义常量的方式:
final int I_01 = 128;
//final 类型 变量名 = 值;
常量名一般使用大写字符,用下划线分割
- 命名规范:
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则: monthSalary除了第一个单词以外,后面的单词首字母大写lastname lastName
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则: Man, GoodMan
- 方法名:首字母小写和驼峰原则: run(), runRun()
五、运算符
- 位运算符
- & 符号,x & y ,会将两个十进制数在二进制下进行与运算
- | 符号,x | y ,会将两个十进制数在二进制下进行或运算
- ^ 符号,x ^ y ,会将两个十进制数在二进制下进行异或运算
- (<< 符号,x << y 左移操作,最右边用 0 填充)
- (>> 符号,x >> y 右移操作,最左边用 0 填充)
- ~ 符号,~x ,按位取反操作,将 x 在二进制下的每一位取反
- 算数运算符:+、-、*、/、%、++、–
- 赋值运算符:=
- 关系运算符:>、<、>=、<=、==、!=
- 逻辑运算符:&&(与)、||(或)、!(非)
- 条件运算符:?、:
- 扩展赋值运算符:+=、-=、*=、/=
六、包机制、JavaDoc
1、包机制
- 为什么会有包机制:为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。
- 包语句的语法格式为:
package pkg[.pkg1[pkg2]...]
包机制就是一层一层的文件夹
- 一般利用公司域名倒置作为包名;
- 为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用"import"语句可完成此功能
import package1[.package2...].(classname|*);
2、JavaDoc
- javadoc命令是用来生成自己API文档的
- 参数信息
- @author作者名
- @version版本号
- @since指明需要最早使用的jdk版本
- @param参数名
- @return返回值情况
- @throws异常抛出情况
- cmd创建doc文档:javadoc -encoding UTF-8 -charset UTF-8 文件名.java