Java基础1
常见提示符命令
位(bit):一个数字0或者数字1,代表一位
字节(byte):每8位是一个字节,这是数据的最小单位。
1 Byte = 8bit
1 KB = 1024 byte
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
1EB = 1024PB
1ZB = 1024EB
命令提示符(cmd:command) :
启动: Win+R ,then 输入cmd回车
切换盘符 盘符名称 例 d: or D:
进入文件夹 cd 文件夹名称(tab快捷键切换提示)
进入多级文件夹 cd directory1\directory2\directory3
返回上一级 cd ..
直接返回根路径 cd \
查看当前内容 dir
清屏 cls
退出 exit
Java语言跨平台性
1.JVM(Jvaa Virtual Machine): Java虚拟机,简称jVm,是运行所有java程序的假想计算机,是java程序的运行环境是java语言最具吸引力的特性治理,我们编写的java代码,有运行在JVM上
如图所示,Java虚拟机本身不具备跨平台的功能,每个操作系统下都有不同版本的虚拟机。
JRE和JDK
-
JRE(Java Runtime Enviroment):是Java程序的运行时环境,包含JVM和运行时所需要的核心类库。
-JDK(Java Development Kit):是Java程序开发工具包,包含JRE和开发人员使用的工具。
我们想要运行一个已有的java程序,那么只需要安装JRE即可。
我们想要开发一个全新的Java程序,那么必须安装JDK.
屏幕快照 2019-12-02 下午3.49.30.png
屏幕快照 2019-12-02 下午3.50.14.png
例:
编译:javac HelloWorld.java
运行: java HelloWorld
类型装换
1.自动类型转换(隐式)
1)特点:代码不需要特殊处理,自动完成
2)规则:数据范围从小到大
2.强制类型转换
1)特点:代码需要进行特殊的格式处理,不能自动完成
2)格式:范围小的类型,范围小的变量名 = (范围小的类型)原本范围大的数据
int num = (int)100l;
注意事项
1.强制类型转换一般不推荐使用,因为有可能发生精度损失,数据溢出。
// long强制转换为int类型
int num2 = (int)6000000000l
System.out.println(num2);// 1705032704
// double转int
int num3 = (int)3.99;
System.out.println(num3);// 3 ,小数位会被舍掉。
2.byte/short/char这三种类型都可以发生数学运算,例如加法"+"
3.byte/short.char这三种类型在运算的时候都会被提升为int类型,然后再计算
byte num4 = 40;
byte num5 = 50;
// byte + byte ---> int + int --> int
int result1 = num4 + num5;// 结果90
short num6 = 60;
// byte + short --> int + int --> int
int result2 = num4 + num6;
ASCII码表:American Standard Code for Information Interchange:美国信息交换标准代码
Unicode码表:万国码
编译器优化
对于byte/short/char三种类型来说,如果右侧赋值的数值没有超过范围,那么javac编译器会自动隐含的为我们补上一个(byte)(short)(char).
1.如果没有超过左侧的范围,编译器补上强转
2.如果右侧超过了左侧范围,那么直接编译器报错
// 右侧是一个int数字,没有超过左侧的范围,就是正确的
byte num1 = /*(byte)*/30;//右侧没有操作左侧的范围
byte num2 = 128;// 右侧炒作左侧,编译会报错
在给变量进行赋值的时候,如果右侧的表达式当中全都是常量,没有任何变量,那么编译器javac将会直接将若干常量表达式计算得到结果
short result = 5 + 8; //等号右边全都是常量,没有任何变量参与运算
short result = 13;// 编译之后,得到的.class字节码文件当中相当于这个
// 以上被称为"编译器常量优化"
// 这个有变量参与,就不能进行这种优化
short result2 = 5 + a + 8;// 报错
集成开发工具IDE
IDE: Integrated Development Environment ,集成开发环境
idea常用快捷键(mac)
Alt+Enter : 导入包,自动修正代码
Command + Option + L 格式化代码
Command + delete 删除一行
Command + alt + / 注释多行 /**/
Command + N 生成setter/getter,toString 。etc