编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。在Java中,这种供虚拟机理解的代码叫做字节码(ByteCode)(class文件的内容),它不面向任何特定的处理器,只面向虚拟机。每一种平台的解释器是不同的,但是实现的虚拟机是相同的。
Java源程序经过:1.编译器编译后变成字节码,
2字节码由虚拟机解释执行,
3虚拟机将每一条要执行的字节码送给解释器,
4.解释器将其翻译成特定机器上的机器码,
5.然后在特定的机器上运行。
如下图:
Java开发工具包(Java Development Kit),是一套用户给 Java 编程人员的开发套件,其中包含了:JRE (Java Runtime Envoirment):Java 运行时环境,其中最重要的部件是 JVM;Java 开发工具:编译工具 javac、API 生成工具 javadoc......;
核心类库 (Java API)
JDK的配置:需要在电脑的环境变量中加入:
1、 JAVA_HOME = d:\xx\xx\jdk1.8
2、在 Path 中追加目录%JAVA_HOME%\bin
3、CLASSPATH = .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
编程的两种方向:
面向过程编程:通过一个函数去完成一件事情,而且这件事情完成之后,不会留下任何的遗产。或者理解为:一次性。面向对象编程:在完成一件事情时,会将事情中的实体对象抽象出来,形成「类」的概念,事情的完成是通过类的对象之间发生关系去实现的。
类和对象概念: 类是一群对象的特征母版,对象是类的实现。 特征(类)包含的内容有:基本属性(属性)、行为(方法) 注释: 文档注释:/** * 相关的注释内容,甚至可以使用 HTML 标签 * */ 单行注释:// 单行注释 多行注释:/* 第一行注释 第二行注释 */ 算术运算符: + - * / % ++ -- 其中++与--在数据的前面和后面代表不同的意思,在前面先执行++或者 --语句,在执行其他语句, 在后面则是先执行其他语句,在执行++或者--语句 赋值运算符:= += -= \= *= %= 比较运算符:> < <= >= == != 用于判断两个变量或者常量的大小,返回结果为 true/false; 左右两边的操作数只能是数值 逻辑运算符: 与 && 或者 || 非 ! 运算符两边必须是 boolean 类型的变量、常量、表达式; 与:只要有一个假就是假; 或者:只要有一个真就是真三目运算符:
例如:int age = 16; String strage = age > 18 ? "成年" : "未成年"; System.out.println(strage); //输出结果为:未成年 流程控制 顺序结构:程序是一个自上而下运行的过程。 分支选择结构:Java 中的分支选择结构有 if 结构、switch 结构例如:if结构:int age2 = 65;
if(age2 <= 10 ){ System.out.println("结果为:少年"); } else if (age2 < 18 ){ System.out.println("结果为:青少年"); }else if (age2 <= 60 ){ System.out.println("结果为:成年"); }else{ System.out.println("结果为:老年"); } switch结构:String color = "white"; switch(color){ case "pink":{ System.out.println("粉色"); break; //break的作用是执行完输出语句后跳出当前循环 } case "red":{ System.out.println("红色"); break; } case "blue":{ System.out.println("绿色"); break; } default :{ System.out.println("没有匹配项"); break; } }
循环结构:
循环语句可能包含的部分有: 初始化语句(init_statement):一条或多条语句,这些语句用于完成一些初始化的工作。 循环条件(test_expression):是一个 boolean 类型的表达式,这个表达式决定是否继续执行循环体。 循环体(body_statement):如果条件允许,循环体会被反复执行。 迭代语句(iteration_statement):在一次循环体执行结束后,对循环体条件进行求值,通常用于控制循环条件中的变量,使得循环在合适的时候结束。while 结构:int sum = 0;
int i =1; while (i<=5) { sum = sum + i; i++; } System.out.println(sum);do-while 结构:无论如何都会执行一次循环体内容
int sum1 = 0; int i1 = 11; do{ sum1 = sum1 +1; i1++; }while(i1<=10); System.out.println(sum1); // 输出结果为:1 for 循环: int sum = 0; for(int i=1;i<=5;i++){ sum = sum +i; } System.out.println(sum);