目录
常见DOS命令
磁盘操作系统:
-
cd 目录路径 进入指定目录
-
cd .. 进入上一级目录
-
dir 查看本目录下的文件和子目录列表
-
cls 清除屏幕命令
-
上下键 遍历敲过的命令
-
Tab建 自动补齐命令(很好用!)
补充:可以直接从文件夹导航里输入cmd直接进入当前目录的命令行
常用的Java开发工具
入门
-
Notepad++
-
Sublime
-
EditPlus
学习开发
-
VS code 下载地址:Visual Studio Code - Code Editing. Redefined
-
eclipse 下载地址:The Community for Open Collaboration and Innovation | The Eclipse Foundation
eg:
熟悉System.out.println()打印多行
注释
注释不会出现在字节码文件中,即Java编译时会跳过注释语句
注释又分为单行、多行注释
单行注释
使用"//"开头
多行注释
使用"/* " 开头 " */"结尾
文档注释
使用 " /** "开头" */ " 结尾
包含一些说明性的文字及一些JavaDoc标签,写项目时,可以生成项目的API
标识符、关键字
标识符
给变量、类、方法及包命名
四大规则
-
必须以字母、下划线_ 、$ 开头
-
其他部分可以是字母、下划线_ 、"_" 、$ 和数字的任意组合
-
大小写敏感,且长度无限制
-
不可以是Java的关键字
使用规范
-
表示类名--首字母大写,eg: Zy 、 ChenTao
-
表示方法和变量--第一个单词小写,第二个单词大写("驼峰原则"),eg: eat() 、eatFood()
Java不采用Unicode字符集,所以字母的含义不仅仅是英文,还包括汉字
eg:
合法的标识符
int a = 3; int _123 = 3; int $a = 3; int 变量 = 3; // 不建议使用
不合法的标识符
int 123 = 3; // 不能以数字开头 int a# = 3; // 不能有#这种特殊符号 int int = 3; // 不能用关键字命名
关键字
不需要死记硬背!!!!
abstract | boolean | break | byte | case | catch |
---|---|---|---|---|---|
char | class | continue | default | do | double |
else | extends | flase | final | finally | float |
for | if | implement | import | instanceof | int |
interface | long | native | new | null | package |
private | protected | public | return | short | static |
super | switch | synchronized | this | throw | throws |
transient | true | try | void | volatile | while |
变量(variable)
分类和作用域
三种类型:局部变量、成员变量(实例变量)、静态变量
-
局部变量:在方法或语句块内部 ---属于方法/语句块
-
成员变量:在类内部,方法外部 ---属于对象
-
静态变量:在类内部,static修饰 ---属于类
常量(Constant)
用关键词final定义一个常量,一旦被初始化(赋值)再也不能更改
格式:final type varName = value;
常量的命名,如果全是大写字母,最好用下划线_隔开,好区分。eg: final MAX_SIZE = 100;
一般为了区分,final修饰的varName叫做符号常量,后面赋值如'1'、'a'、'false'成为字符常量
命名规范
-
所有变量、方法、类名:见名知义
-
类成员变量:首字母小写和驼峰原则:monthSalary
-
局部变量:首字母小写和驼峰原则
-
常量:大写字母和下划线:MAX_SIZE
-
类名:首字母大写和驼峰原则:WOMAN、GoodMan
-
方法名:首字母小写和驼峰原则:run()、runTime()
小例子
计算圆的周长、面积
基本数据类型(primitive data type)
引用数据类型占 4 个字节
整型
范围
byte -- 1个字节 ,范围 -2^7 ~ 2^7 - 1 (-128 ~ 127)
short -- 2个字节 ,范围 -2^15 ~ 2^15 - 1 (-32768 ~ 32767)
int -- 4个字节 ,范围 -2^31 ~ 2 ^32 - 1 (-2147483648 ~ 214783647)(21亿左右)
long -- 8个字节 ,范围 -2^63 ~ 2^63 - 1
四种整型常量的表示形式
-
十进制:99,-66,0
-
八进制:015
-
十六进制:0x或0X开头,0x15
-
二进制:0b或0B开头,0b00000010
整型常数默认为int型,声明long型要在后面加'l'、'L'
浮点型
float -- 4个字节 ,范围 -3.403E38 ~ 3.403E38 单精度类型
double -- 8个字节,范围 -1.798E308 ~ 1.798E308 双精度类型
两种常量的表示方式
-
十进制数:3.14 314.0 0.314
-
科学计数法: 3.14e0 3.14E2 --(3.14 * 10^2) 3.14E - 1
浮点型不精确,存在舍入误差,一般不用于比较
浮点数默认是double,声明float在后面加'f'、'F'
字符型
在内存中占2个字节,用但因后表示字符常量,'A'与"A"是不一样的
char类型用来表示Unicode编码表中的字符
注:以后所学的String类,本质是字符序列,是char字符组成的数组
转义字符
转义符 | 含义 | Unicode值 |
---|---|---|
\b | 退格(backspace) | \u0008 |
\n | 换行 | \u000a |
\r | 回车 | \u000d |
\t | 制表符(tab) | \u0009 |
\ " | 双引号 | \u0022 |
\ ’ | 单引号 | \u0027 |
\ | 反斜杠 | \u005c |
布尔型
boolean类型有两个常量值,true、false
在内存中占 1 个或 4 个字节,不可以使用 0 或非 0 的整数代替true 和 false(与c不同)
运算符(operator)
算术运算符 | 一元运算符:+、-、*、/、% |
---|---|
二元运算符:++、-- | |
赋值运算符 | = |
扩展运算符 | +=、-=、*=、/= |
关系运算符 | >、<、>=、<=、!=、instanceof |
逻辑运算符 | &&、||、!、^ |
位运算符 | &、|、^、~、>>、<<、>>> |
条件运算符 | ?: |
字符串连接符 | + |
instanceof ---判断某一个对象是不是某一个类的实例对象
算术运算符
一元运算符:+、-、*、/、% (取余)
二元运算符:++ (自增)、-- (自减)
二元运算符规则:
-
整数运算
-
如果两个操作数有一个为long,那么结果为long
-
没有long,结果为int,即使操作数全为short,byte,结果仍然是int
-
-
浮点运算
-
如果两个操作数有一个为double,结果为double
-
只有两个操作数都为float,结果才是float
-
-
取模运算
-
其操作数可以为浮点数,一般是整数,结果是余数,余数符号和左边操作数相同,eg:7 % 3 = 1,-7 % 3 = -1 , 7 % -3 = 1
-
赋值及其扩展赋值运算符
运算符 | 用法举例 | 等效的表达式 |
---|---|---|
+ = | a + = b | a = a + b |
- = | a - = b | a = a - b |
* = | a * = b | a = a * b |
/ = | a / = b | a = a / b |
% = | a % = b | a = a % b |
关系运算符
用于比较运算,结果是布尔值:true / false
运算符 | 含义 | 示例 |
---|---|---|
== | 等于 | a == b |
!= | 不等于 | a != b |
> | 大于 | a > b |
< | 小于 | a < b |
>= | 大于等于 | a >= b |
<= | 小于等于 | a <= b |
注:
-
"=" 是赋值运算符 "=="才是比较运算符
-
==、!= 所有基本和引用数据类型都可以使用
-
">"、">="、"<"、"<=" 仅针对数值类型(byte/short/int/long,float/double/char) --char值位于0~65536之间
逻辑运算符
运算符 | 说明 | |
---|---|---|
与 | & | 只要有一个为false,则false |
短路与 | && | 只要有一个为false,则false |
或 | | | 只要有一个为true,则true |
短路或 | || | 只要有一个为true,则true |
非 | ! | 取反 |
异或 | ^ | 相同为false,不同为true |
短路与和短路或采用短路的方式,从左至右计算,如果只通过运算符左边的操作数就能确定该逻辑表达式的值,则不会计算运算符右边的操作数。
位运算符
指的是进行二进制位的运算
位运算符 | 说明 |
---|---|
~ | 取反 |
& | 按位与 |
| | 按位或 |
^ | 按位异或 |
< < | 左移运算符,左移1位相当于乘2 |
> > | 右移运算符,右移一位相当于除2取商 |
字符串连接符
"+" 运算符两次的操作数只要有一个是字符串(string)类型,系统会自动将另一个操作数转为字符串然后进行连接
条件运算符
x ?y:z x为true返回y,为false返回z
运算符优先级
优先级 | 运算符 | 类 |
---|---|---|
1 | () | 括号运算符 |
2 | !、+(正号)、-(负号) | 一元运算符 |
2 | ~ | 位逻辑运算符 |
2 | ++、-- | 递增与递减运算符 |
3 | *、/、% | 算术运算符 |
4 | +、- | 算术运算符 |
5 | <<、>> | 位左移、右移运算符 |
6 | >、>=、<、<= | 关系运算符 |
7 | ==、!= | 关系运算符 |
8 | & | 位、逻辑运算符 |
9 | ^ | 位、逻辑运算符 |
10 | | | 位、逻辑运算符 |
11 | && | 逻辑运算符 |
12 | || | 逻辑运算符 |
13 | ?: | 条件运算符 |
14 | =、+=、-=、*=、/=、%= | 赋值、扩展运算符 |
-
逻辑非 > 逻辑与 > 逻辑或
-
a || b && c的运算结果是:a ||(b && c),而不是 (a || b) && c
数据类型转换
自动类型转换
容量小的数据类型可自动转换成容量大的数据类型(容量表示的是范围而非字节)
实线表示无数据丢失的自动转换,虚线表示可能会有精度损失
强制类型转换
又称为造型(cast),强制转换数值的类型,可能损失精度
语法格式:(type) var
常见错误及问题
-
操作比较大的数时,要留意是否溢出,尤其是整数
-
L 和 l 的问题
-
不要命名为 l 的变量,字母 l 容易与 数字 1 混淆
-
long类型使用L,不使用l
-
ok啦~这就是基本知识合集~有点长,但有用~0.o~