目录
注意本部分内容仅囊括较为基础的部分,如果需要查看扩展内容请查看Java Expansion 1,主要内容是数据的二进制、八进制、十六进制表示法,字面值表示拓展,不同平台数据的内存占用情况,无符号数据,浮点数的十六进制表示法,特殊的浮点数值,转义序列。
链接如下:Java Expansion 1:不同进制表示、内存占用、浮点数十六进制表示、特殊浮点数、转义序列
前言
命令提示符常用命令
command | operation |
盘符切换命令 | 盘符名: |
查看当前文件夹 | dir |
进入文件夹命令 | cd 文件夹名 |
退出文件夹命令 | cd.. |
退出到磁盘根目录 | cd\ |
清屏 | cls |
开发环境搭建
Java虚拟机-JVM
- JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是Java程序的运行环境,编写的Java代码,都运行在 JVM 之上。
- 跨平台:任何软件的运行,都必须要运行在操作系统之上,用Java编写的软件可以运行在任何的操作系统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,程序运行在JVM上,而JVM 运行在操作系统上。
- Java的虚拟机本身不具备跨平台功能的,每个操作系统下都有不同版本的虚拟机。
JRE、JDK
- JRE (Java Runtime Environment) :是Java程序的运行时环境,包含 JVM 和运行时所需要的核心类库 。
- JDK (Java Development Kit):是Java程序开发工具包,包含 JRE 和开发人员使用的工具。
- 运行一个已有的Java程序,那么只需安装 JRE 即可。 开发一个全新的Java程序,那么必须安装JDK 。
- JDK>JRE>JVM
环境搭建
- 在高级系统设置的环境变量菜单下,新建系统变量JAVA_HOME,变量值为JDK安装目录
- 在系统变量中找到Path变量,在其最前面添加“%JAVA_HOME%\bin;”
- 在cmd下输入javac检查是否配置成功
关键字
关键字指在程序中,Java已经定义好的、具有特殊含义的单词,都为小写,如public、static等。
标识符
- 标识符是指在程序中,我们自己定义内容。比如类的名字、方法的名字和变量的名字等等,都是标识符。
- 命名规则:标识符可以包含英文字母26个(区分大小写) 、0-9数字 、$(美元符号) 和 _(下划线),不能以数字开头,不能是关键字。
- 命名规范:
- 类名规范:首字母大写,后面每个单词首字母大写(大驼峰式),MyClass
- 方法名规范:首字母小写,后面每个单词首字母大写(小驼峰式),myMethod
- 变量名规范:全部小写,my_variable
常量
- 整数常量:所有的整数
- 小数常量:所有的小数
- 字符常量:单引号引起来的单个字符(Java允许是中文),必须有内容
- 字符串常量:双引号引起来的多个字符,也可以不写
- 布尔常量:只有true,false两个值
- 空常量:只有null一个值
变量
- 程序中可以变化的量称为变量,Java中要求一个变量每次只能保存一个数据,且必须要明确保存的数据类型。
- 定义格式:数据类型 变量名 = 数据值,long类型建议数据后加L表示、float类型建议数据后加F表示。
- 注意:在同一个大括号范围内,变量的名字不可以相同,定义的变量,不赋值不能使用。
基本数据类型
基本数据类型(primitive type):包括 整数 、 浮点数 、 字符 、 布尔 。
数据类型 | 关键字 | 内存占用 | 取值范围 |
字节型 | byte | 1 | -128~127 |
短整型 | short | 2 | -32768~32767 |
整型 | int(默认) | 4 | -2^31~2^31-1 |
长整型 | long | 8 | -2^63~2^63-1 |
单精度浮点数 | float | 4 | 1.4013E-45~3.4028E+38 |
双精度浮点数 | double | 8 | 4.9E-324~1.7977E+308 |
字符型 | char | 2 | 0-65535 |
布尔类型 | boolean | 1(争议) | true,false |
数据类型转换
自动转换
- 将取值范围小的类型自动提升为取值范围大的类型
- 转换规则:byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double
public static void main(String[] args) {
int i = 1;
double d = 2.5;
//int类型和double类型运算,结果是double类型
//int类型会提升为double类型
double e = d+i;
System.out.println(e);
}
Tips:值得注意的是,System.out.println()打印完括号内的内容会自动换行,如果System.out.println()中什么也不加,那么会打印出一个空行,如果希望不换行可使用System.out.print()进行打印。
强制转换
- 强制类型转换将取值范围大的类型强制转换成取值范围小的类型 。
- 格式:数据类型 变量名 = (数据类型)被转数据值(损失掉被丢弃的字节内的数据,如int->byte则损失前两个字节内储存的数据)
- 注:浮点转成整数,直接取消小数点,可能造成数据损失精度。
运算符
算术运算符
operator | function |
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 取余 |
++、-- | 自增、自减 |
- 计算结果精度与操作数最高精度一致
- 当++、--参与混合运算时,v++表示先将原数值v带入计算式计算后v本身再自增,++v则表示v先自增再参与运算
public static void main(String[] args) {
int a = 1;
int b = a;
System.out.println(b + a++);//计算结果是2
System.out.println(++a + 1);//计算结果是3
}
赋值运算符
= | 右边值赋给左边变量 |
op= | 右边值与左边值进行op运算后赋给左边变量,op为运算符,包括+、-、*、/、%,例如:a+=1等价于a=a+1 |
比较运算符
== | 是否相等 |
!= | 是否不相等 |
> | 是否大于 |
>= | 是否大于等于 |
< | 是否小于 |
<= | 是否小于等于 |
- 比较运算符,是两个数据之间进行比较的运算,运算结果都是布尔值 true 或者 false
逻辑运算符
&& | 短路与,两边为true才为true,否则为false |
|| | 短路或,两边为false才为false,否则为true |
! | 取反,!true为false,!false为true |
- 逻辑运算符,是用来连接两个布尔类型结果的运算符,运算结果都是布尔值 true 或者 false
- 在短路与和短路或操作符中,如果能根据第一个表达式判断最终结果,那么不再计算第二个表达式的值
int a = 1;
System.out.println((++a == 2) || (++a == 3));//结果为true,a值为2,++a == 3不执行
三元运算符
- 格式:数据类型 变量名 = 布尔类型表达式?结果1:结果2
- 计算方式:布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。 布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。
public static void main(String[] args) {
int i = (1==2 ? 100 : 200);
System.out.println(i);//200
int j = (3<=4 ? 500 : 600);
System.out.println(j);//500
}
注释
Java支持注释,注释内容不参与程序运行,仅用作代码说明
单行注释
单行注释格式为“//...”
//这是一个单行注释
多行注释
多行注释格式为“/* ... */”
/* 这是一个多行注释
可以书写很多行注释内容
IDEA快捷键为Ctrl+Shift+/
选中多行后按下快捷键可以快速注释选中代码段,再按一次快捷键便可取消
*/
Tips:“/* ... */”不支持嵌套结构,这意味着注释内的内容不可包括“/*”和“*/”