作为一个合格的程序员,需要养成良好的编程书写规范,在日常的代码编写过程中需要多做注释,保证代码的易读性,合作时能偶保证他人读懂代码,回过头来看自己的代码不至于出现看不懂的尴尬情况。
三种注释方法:单行注释、多行注释、文档注释
-
单行注释 //
// 单行注释 在idea中,可以通过ctrl+/来快速注释一行
-
多行注释
-
文档注释: 在方法上输入
-
命令行生成Api文档:javadoc -encoding UTF-8 -charset UTF-8 xx.java
参数解释
- javadoc 生成API文档的命令
- -encoding UTF-8 指定解码方式
- charset UTF-8 指定字符集
- xx.java 需要生成API文档的文件
-
IDEA生成Api文档:Tools-Generate JavaDoc-Generate
同样可以通过调整参数来生成和上面一样的
-
2、标识符和关键字
Java所有的组成部分都需要名字。类名,变量名以及方法名都被称为标识符。其中关键字是java已经用掉的具有特殊含义的标识符,不能再被作为标识符使用。
标识符必须以字母,美元符,下划线开始,并且标识符大小写敏感。不能使用关键字作为变量名或者方法名。
平时命名的时候尽量见名知意,使用单词去作为标识符,考虑到兼容性,不要使用中文命名,也不要用拼音,容易产生歧义。
标识符命名规范
- 所有变量、方法、类名需要见名知意
- 类成员变量:首字母小写和驼峰原则,如mySalary
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线,如MAX_COUNT
- 类名:首字母大写和驼峰原则,如Man,GoodMan
- 方法名:首字母小写和驼峰原则,如run().runFast()
良好的命名规范很重要
3、数据类型
数据类型大致分为基本类型与引用类型,除了基本类型(int,char等)之外都是引用类型(String等)
-
基本类型
-
整型 二进制 0b 十进制 八进制 0 十六进制 0x 0-9 A-F
- byte 占一个字节 -128 - 127
- short 占两个字节 -32768 - 32767
- int 占四个字节 -2^32 - 2^32-1
- long 占8个字节 -2^64 - 2^64-1 在后面加L表示
-
浮点类型 长度有限,遇到除不完的情况回舍掉超出部分,尽量避免使用浮点数进行比较。需要进行非常精细的运算是使用BigDecimal数学工具类
- float 占4个字节 在后面加F表示
- double 占8个字节
-
字符类型 占两个字节
本质为数值对应字符表Unicode 范围:U0000-UFFFF
常用转义字符 t制表符 n 换行
-
boolean类型 占1位 只有true和false两个
-
-
引用类型
- 类
- 接口
- 数组
4、类型转换
低-------------------------------------高
bytes,short,char-int-long-float-double
类型转换分为强制转换与自动转换两种
-
自动转换:在运算中,不同类型的数据首先按照从低到高的转换规则进行转换为同一类型再进行运算。
int a = 10; flaot b = 20F; System.out.println(a+b); //输出结果为30.0
-
强制转换 (强制转换类型) 变量;
int a = 10; float b =20.5F; System.out.println(a+(int)b); //输出结果为30
-
不能对boolean进行转换
-
不能把对象类型转换成不相干的类型
-
高转低 强制转换 低转高 自动转换
-
转换的时候可能存在内存溢出或者精度问题。
-
浮点型转成整形直接丢掉小数位,不会进行四舍五入。
5、变量、常量、作用域
变量,顾名思义,可以变化的量。常量,值固定的量。作用域,变量与常量的作用范围。
// 数据类型 变量名 = 值; 可以使用逗号隔开来声明多个同类
// 型变量,但不推荐使用,影响可读性。
// type varName [=value] [{,varName[=value]}];
public class Demo {
// 属性:变量
// 修饰符不区分前后顺序
static final double PI = 3.14; // 常量
// 类变量
static String name = "Www";
// boolean类型的默认初始值为false
// 基本类型之外的默认值为null
boolean sex;
int age;
// main方法
public static void main(String[] args) {
// 声明变量时尽量不要一行声明多个,保证代码的可读性
// 局部变量:必须声明和初始化
int num = 10;
System.out.println(num); // 10
// 变量类型 变量名 = new Demo();
// 实例变量:从属于对象,如果不初始化,自动赋初值 0 0.0
Demo t = new Demo();
System.out.println(t.age); // 0
System.out.println(t.sex); // false
// 类变量
System.out.println(name); // www
System.out.println(PI); //3.14
}
}
6、运算符
算术符优先级
| 运算符 | 描述 |
|---|---|
| ++,–,! | 自加,自减,取反 |
| *,/,% | 乘,除,模运算 |
| +,- | 加,减 |
| <<,>> | 按位左移,按位右移 |
| <.>,<=,>=,instanceof | 小于,大于,小于等于,大于等于,左边对象是否为其右边类的实例 |
| ==,!= | 等于,不等于 |
| & | 按位与 |
| ^ | 按位异或 |
| | | 按位或 |
| && | 逻辑与 |
| || | 逻辑或 |
| ? : | 三目运算符, |
| =,+=,=,*=,/=,&=,|=,^=,~=,<<=,>>=,>>>= | 赋值 |
示例
int x = 10; int y = 20; // 双目运算符 // 基本运算符 System.out.println(x+y); //30 System.out.println(x-y); //-10 System.out.println(x*y); //200 System.out.println(x/y); //0 System.out.println(x%y); //10 System.out.println(x>y); //false System.out.println(x7、包机制 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间(简单理解为文件夹)。
在工作中,一般使用公司域名倒置作为包名
使用import语句可以导入包的成员
// 导入包下所有的类 import com.Www.operator.*;【狂神说Java】Java零基础学习视频通俗易懂



