一、java跨平台原理
1、jvm跨平台2、JRE和JDK 二、path环境变量配置
1、为什么需要配置2、如何配置 三、java程序开发运行流程四、java基础知识
1、java的注释:2、关键字3、常量4、数据类型5、标识符
两种常见的命名方法: 6、类型转换。
(1)自动类型转换(2)强制类型转换 7、java的运算
(1)算术运算(*)
字符的"+"操作:字符串的"+"操作: (2)赋值运算(3)自增自减运算符(4)关系运算符(5)逻辑运算符(6)三元运算符 五、java语法
1、数据输入
输出语句与换行 2、流程控制
(1)顺序结构(2)分支结构
ifif...else...if...else if...else...switch结构 (3)循环结构
for()while()do...while...跳出循环的语句 3、Random生成随机数4、数组
定义格式:初始化: 六、内存分配七、方法
1、方法(函数)的定义格式2、方法重载
一、java跨平台原理 1、jvm跨平台
跨平台是指java语言可以在多种平台上正常运行,而不同平台的底层是不一样的,它们要识别同样的java语言就需要一个翻译——jvm(java虚拟机)。
就像一种语言需要让多个国家的人听懂,只需要有一个翻译将该语言翻译成对应国家的语言即可。
JRE是java程序的运行环境,包括jvm和运行时所需要的核心类库。
如果只是单纯想运行某个现成的java程序的话,只需要有JRE就足够了,但是如果想要开发一个全新的java程序的话,那必须还要一些额外的开发工具。
JDK包括java运行环境JRE和java开发工具
JDK所提供的的开发工具在bin目录下,java.exe和javac.exe
不进行环境变量配置之前,想使用java或者javac命令必须使用绝对路径,但是在path环境变量配置之后,可以直接输入java/javac命令执行。
为了更方便地使用java和javac命令,因此,我们进行path环境变量配置。
2、如何配置 打开环境变量——新建系统变量
将刚刚新建的系统变量添加到当前用户的path变量中
javac + 文件名.java//编译java + 文件名//运行
四、java基础知识 1、java的注释: 2、关键字 3、常量 4、数据类型 java是强类型语言,对于每一种数据都给出了明确的数据类型,不同的数据类型也分配了不同的内存空间,所以它们所能表示的数据大小也是不一样的。
标识符就是给类、方法、变量等起名字的符号
定义规则:
两种常见的命名方法: 大驼峰是类,小驼峰是方法或者变量。
把一个表示数据范围小的数值或者变量 赋值 给另一个表示数据范围大的变量。
这个是在编译过程中自动完成的,由小范围向大范围类型转换不会发生精度丢失。
将大范围类型赋值给小范围类型,会导致精度丢失,故普通编译是无法通过的,若是用户确定需要执行,则需要使用强制类型转换。(由用户自己承担数据精度丢失问题)
字符和数值相加是用字符在底层中的数据和数值相加,最终结果会发生自动转换类型,向范围大的类型转换。
在“+”两边若有字符串则是字符串的拼接,否则就是普通的算术运算。
短路逻辑运算符:
短路逻辑符和普通逻辑符的逻辑结果是一样的,但是短路逻辑符“&&”若左边为假,右边不执行,“||”左边为真,右边不执行。(在这种情况下,短路逻辑符会将右边的式子运算给短路掉,不执行)。
import java.util.Scanner;//导包,导入Scanner包...Scanner sc = new Scanner(System.in)//创建了一个叫sc的Scanner对象int i = sc.nextInt();//这句的作用就相当于c语言中的scanf(),会等待输入
面向对象语言中最大的特色就是封装,Scanner是java库中封装的一个功能包,里面提供nextInt()方法来操作。
import java.util.Random;//导包...Random r = new Random();//创建了一个叫r的Random对象int number = r.nextInt(10);//在规定范围内生成一个随机数
4、数组 定义格式: 初始化:int[] arr = new int[3];//动态初始化int[] arr = {1,2,3};//静态初始化
六、内存分配 方法中定义的变量会被保存在栈内存中,当方法运行完毕后,会立即消失;new创建出来的对象(实例化)会被保存在堆内存中
方法重载是指在 同一个类中 定义的多个方法之间的关系,需要满足以下条件:
多个方法在同一个类中多个方法的方法名相同多个方法的参数不相同,参数类型不同或者参数数量不同方法重载的特点:
重载是就方法的定义层面而言的,对方法的调用方面没有要求重载仅仅针对同一类中的方法的名称与参数进行识别,与方法返回值无关,不能由方法的返回值来判断两个方法是否相互构成重载判断两方法间是否重载:
是否同类是否同名是否存在参数差异(参数类型、参数个数)