简单记录Java语言发展史
Java语言是美国Sun公司(Stanford University Network)在1995年推出的计算机语言
Java之父:詹姆斯·高斯林(James Gosling)
2009年,Sun公司被甲骨文公司收购
计算机进制
二级制发现者是莱布尼茨。
计算机存储单位
最小存储单位:字节(Byte)。通常用大写字母”B”表示,字节是由连续的8个位组成。
1 Byte = 8 bit
1 KB = 1024 Byte
1 MB = 1024KB
(位bit :一个数字0或者数字1,代表一位。计算机存储设备的最小信息单元,又称之为“比特位”。通常用小写的字母”b”表示。)
命令提示符常用命令
启动:Win+R 输入cmd回车
切换盘符:盘符名称:
进入文件夹:cd 文件夹名称 (tab可以提示名称)
进入多级文件夹:cd 文件夹1\文件夹2\文件夹3
返回上一级:cd …
直接返回根路径:cd
查看当前内容:dir
清屏:cls
退出:exit
JRE和JDK
JVM(Java Virtual Machine),Java虚拟机
JRE(Java Runtime Environment),Java运行环境,包含了JVM和Java的核心类库(Java API)
JDK(Java Development Kit)称为Java开发工具,包含了JRE和开发工具
总结:开发只需安装JDK即可,它包含了java的运行环境和虚拟机。
JDK的安装目录介绍
目录名称 | 说明 |
---|---|
bin | 该路径下存放了JDK的各种工具命令。javac和java就放在这个目录。 |
conf | 该路径下存放了JDK的相关配置文件。 |
include | 该路径下存放了一些平台特定的头文件。 |
jmods | 该路径下存放了JDK的各种模块。 |
legal | 该路径下存放了JDK各模块的授权文档。 |
lib | 该路径下存放了JDK工具的一些补充JAR包。 |
编译和运行
编译:javac 文件名.java (生成class文件)
执行:java 类名 (执行class文件)
标识符
标识符的命名约定:
小驼峰式命名:变量名、方法名。首字母小写,从第二个单词开始每个单词的首字母大写。如helloWorld
大驼峰式命名:类名。每个单词的首字母都大写。如HelloWorld
数据类型
整数型 byte short int long
浮点型 float double
浮点数默认类型是double,如果一定要使用float类型,需要加上一个后缀F。
整数默认类型是int,如果一定要是使用long类型,需要加上一个后缀L。
类型转换
自动类型转换:把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量。这种转换方式是自动的,直接书写即可。如double num = 10;
强制类型转换:把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量。强制类型转换格式:目标数据类型 变量名 = (目标数据类型)值或者变量;
注意事项:
- 强制类型可能发生精度损失,数据溢出问题。如long类型(超出int范围)强制转换为int类型,则显示Int最大范围,造成数据溢出。
- byte/short/char三种类型在运算的时候,首先会被提升为int类型,然后再计算。如short a = 1,b = 2; int c = a + b; 否则会报错精度损失。
(存在“编译器的常量优化”,如short a = 1 + 2; 则不会报错)
(short a = 1;中编译器自动隐含的帮我们不上了(short)强转,其他两种类型一样)。
运算符
赋值运算符
符号 | 作用 | 说明 |
---|---|---|
= | 赋值 | a=10,将10赋值给变量a |
+= | 加后赋值 | a += 1 --> a = a + 1 |
-= | 减后赋值 | a -= 1 --> a = a - 1 |
*= | 乘后赋值 | a *= 1 --> a = a * 1 |
/= | 除后赋值 | a /= 1 --> a = a / 1 |
%= | 取余后赋值 | a %= 1 --> a = a % 1 |
逻辑运算符
符号 | 作用 | 说明 |
---|---|---|
& | 逻辑与 | a&b,a和b都是true,结果为true,否则为false |
| | 逻辑或 | a|b,a和b都是false,结果为false,否则为true |
^ | 逻辑异或 | a^b,a和b结果不同为true,相同为false |
! | 逻辑非 | !a,结果和a的结果正好相反 |
短路逻辑运算符
符号 | 作用 | 说明 |
---|---|---|
&& | 短路与 | 作用和&相同,但是有短路效果 |
|| | 短路或 | 作用和|相同,但是有短路效果 |
- 逻辑与&,无论左边真假,右边都要执行。
- 短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行。
- 逻辑或|,无论左边真假,右边都要执行。
- 短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。
注意:
- 运算当中有不同类型的数据,结果根据数据类型范围大的来运算。如double + int --> double + double 用double来接收。
- 字符串String,加号相当于链接操作。任何数据类型与字符串链接,结构都会变成字符串。如String + int 用String来接收。
- 复合赋值运算符其中隐含了强制类型转换。如short a = 1; a +=1; 相当于 a = (short) (a + 1)。
选择结构
switch语句
- 多个case后面的数值不可以重复。
- switch后面小括号当中数据类型:
基本数据类型:byte/short/char/int
引用数据类型:String字符串,enum枚举 - case和default顺序可以颠倒,break语句可以省略,具有穿透性,直至遇到break才会整体结束。
循环语句
for循环
for (初始化语句;条件判断语句;条件控制语句) {
循环体语句;
}
while循环
初始化语句;
while (条件判断语句) {
循环体语句;
条件控制语句;
}
do…while循环
初始化语句;
do {
循环体语句;
条件控制语句;
}while(条件判断语句);
三种循环区别
- 如果条件判断从没有满足过,那么for循环和while循环执行0次,但do-while循环至少会执行一次。
- for循环的变量在小括号当中定义,只能在循环内部使用。while循环和do-while循环初始化语句在外面,所以循环外可以继续使用。
跳转控制语句
- (break) 跳出循环,结束循环
- (continue) 跳过本次循环,继续下次循环。 continue只能在循环中进行使用
死循环(无限循环)
1. for(;;){}
2. while(true){}
3. do {} while(true);