Java基础语法
1. DOS常用命令
- 盘符切换命令:盘符名:
- 查看当前文件夹:dir
- 进入文件夹命令:cd 文件夹名
- 退出文件夹命令:cd…
- 退出到磁盘根目录:cd\
- 清屏:cls
2.JVM,JRE,JDK
1.JVM:Java Virtual Machine,
Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境
2.JRE:Java Runtime Environment,
是Java程序的运行时环境,包含JVM和运行时所需要的核心类库
3.JDK:Java Development Environment,
是Java程序开发工具包,包含JRE和开发人员使用的工具
- 我们想要运行一个已有的Java程序,只需安装JRE即可
- 我们想要开发一个全新的Java程序,必须安装JDK
- 三者关系:JDK>JRE>JVM
3.编译和运行
1.编译:是指将我们开发的Java源文件翻译成JVM认识的class文件,javac会帮我们检查所写的程序是否有误,有误就提示出来,无误则编译成功
2.运行:是指将class文件交由JVM去运行,JVM将执行所开发的文件
3.javac Demo.java;java Demo
4.Java数据类型
- 基本数据类型:整数、浮点数、字符、布尔
- 引用数据类型:类、数组、接口
5.数据类型转换
1.自动转换,转换规则:范围小的类型向范围大的类型提升,byte、short、char运算时直接提升为int,byte、short、char–>int–>long–>float–>double,如int+char=int
2.强制转换,将范围大的类型强制转换成小范围的类型。相比之下,自动转换是自动进行的,强制转换需要手动进行。如int i=(int)1.5
3.浮点转成整数,直接取消小数点,可能造成数据损失精度。int强制转换成short砍掉两个字节,可能造成数据丢失
6.运算符
1.变量在独立运算中,前++和后++没有区别。变量在混合运算中,和其他变量放在一起,前++和后++就产生了不同。如a=1,b=++a,变量a自己加1,将加1后的结果赋值给b,a先计算,a和b结果都是2。再如a=1,b=a++,变量a先把自己的值赋给b,此时变量b值为1,变量a再自加1,结果a=2,b=1
2.+号在字符串中操作表示连接、拼接
3.赋值运算符,=,+=,-=,*=,/=,%=。如+=,i+=5表示为i=i+5
4.比较运算符,==,<,>,<=,>=,!=,两个数据间的比较运算,运算结果都是布尔值TRUE或FALSE
5.短路运算符,&&短路与,||短路或,!取反
三元运算符,数据类型 变量名 = 布尔表达式? 结果1:结果2。计算方式,布尔表达式为TRUE,整体结果为 结果1,布尔表达式为FALSE,整体结果为 结果2
7.流程控制语句
- if else判断语句
- switch选择语句
- for循环语句
- while循环语句
- do while循环语句
- 跳出语句break,continue
1.case穿透性,如果case后面不加break,将出现穿透现象,也就是不会在判断下一个case值,直接向后运行,直至遇到break,或者整体switch语句结束
2.break使用场景:终止switch或循环。continue使用场景:结束本次循环,继续下一次循环
8.方法
- 方法重载
- 定义:指在一个类中,允许存在多个同名方法,只要他们的参数列表不同即可,与修饰符和返回值类型无关
- 参数列表:个数不同,数据类型不同,顺序不同
- 重载方法调用:JVM通过方法参数列表,调用不同的方法
2.方法的参数为基本类型时,传递的的是数据值。参数为引用类型时,传递的是地址
9.数组
1.三种数组定义
- 方式一:数据类型 数组名[] = new 数据类型[长度]
- 方式二:数据类型 数组名 = new 数据类型{元素1,元素2,…}
- 方式三:数据类型 数组名 = {元素1,元素2,…}
2.Java虚拟机的内存划分
- 为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式
- 寄存器,给CPU使用
- 本地方法栈,JVM在使用操作系统的时候使用
- 方法区,存储可以运行的class文件
- 堆内存,存储对象或数组,new来创建的,都存在堆内存
- 方法运行时使用的内存,比如main方法的运行,进入方法栈中执行