1、编译(javac命令,编译器)-java类文件(.class,字节码文件)-解释执行(JVM,解释器,java命令)-机器代码(发送给操作系统执行) java类文件,后缀是.class , 也称为字节码文件。因为在类文件中都是字节码。 字节码是比较像二进制的机器编码。可以由java的解释器执行。 JVM : java虚拟机。就是.class文件运行时的一个环境。 二个命令: 1 javac 编译 2 java 执行4 JDK与JRE JDK开发工具包。 jdk = jre+工具+类库 JRE 开发时环境。jre = jvm + 解释器5 配置环境变量path 安装完成JDK之后都会选择配置环境
2、变量path path是在dos环境下指定辅助路径。 配置方案: 1 JAVA_HOME : C:Program FilesJavajdk1.8.0_25 2 Path : %JAVA_HOME%bin;. 测试: 在dos环境 java -version6 编写第一个java源文件注意大小的编写,注意空格。注意字符。注意标点符号。java源文件:使用java语言编写的文件。后缀是.java。只使用文本编辑软件开发。6.1 在目录中创建一个叫Test.java的源文件6.2 编写Test.java文件的内容public class Test public static void main(St
3、ring args) System.out.println(我叫PeterSUN!); public class Test :public 是一个关键字,表示公有。在任意位置可以访问。class 是一个关键字,表示类的标识。Test 是一个类名。这个名称是我们自己起的。首字母大写,与文件名称一致。public static void main(String args) public static void 不解释,固定格式,main 是java程序的入口方法。(String args) 固定格式,表示 是一个字符串类型的数组。System.out.println(System.out.prin
4、tln() java中标准输出方法。 是一个字符串,输出的内容。在java中一行语句的结束用;号表示。6.3 编译这个Test.java的源文件编译的命令:javac Test.java的文件位置在:E:no1.20170711testno1.20170711testjavac Test.java编译完成之后会出现.class文件。6.4 解释执行.class文件命令: java格式: java 类名7 使用MyEclipse工具创建java工程 1 先创建工程(java project) 2 在工程的src目录(源文件目录)创建类(Class) 3 保存时工具自动编译 4 运行时run as
5、 - java application8 在工具中配置JDKwidnow - 最后一项9 注释 注释是写在源文件中的提示信息。在编译时不起作用。 在java中有三种: 1 单行注释 /单行注释的内容 2 多行注释 /* 多行注释的内容 */ 3 文档注释 /* 参数标记 单行注释和多行注释 都是给当前这个类的开发人员看的。 文档注释是这个类的使用者看的。9.1 文档注释的使用 文档注释只能放到两个位置 1 类的上面/* * 这是一个叫Test的类。 * author peterSun * version jdk8 */public class Test .author 作者version 版本
6、号 2 方法的上面 /* * 这一个计算两个数和的方法 * param i 第一个操作数 * param j 第二个操作数 * return 两个数的和,i+j public int add(int i ,int j) return i+j;param 参数的说明return 返回值的说明9.2 javadoc命令使用javadoc命令从源文件中抽取文档注释生成API帮助文档1 在dos环境下使用javadoc命令。javadoc -d api Test.java-d api 表示在当前目录位置创建一个叫api的目录,保存输出的内容Test.java 是源文件。所有文档注释只在源文件中有效2
7、在dos环境下使用javadoc命令,带-version和-author。javadoc -d api -version -author Test.java9.2.3 使用工具导出API文档注释10 配置工具中的中文编码(utf-8)11 包(package)package包,作用组织java源文件。与windows操作系统的文件夹是一个相同的概念。11.1 使用包的关键字:package 和import11.2 使用package关键字为java源文件打包 格式 : 在源文件的最上面 package 包名; package 包名.包名;11.3 使用import 导包 导包,实际上是导入包中
8、的类。 格式: import 包名.包名.类名; 在当前类中导入对应的包中的类,可以在当前类中使用包中的类。 特殊格式:(最好不用) import 包名.*; 导入这个包中的所有类。package com.no1.biz;public class Biz * 计算两个数字和的方法 * param i 操作数1 * param j 操作数2 * return 两个数的和package com.no1.test;import com.no1.biz.Biz; public static void main(String args) Biz biz = new Biz(); int k = biz.
9、add(10, 20); System.out.println(k);11.4 带包类的编译和执行package no1; System.out.println(这是一个输出内容!编译带包类Testjavac -d . Test.java-d . 表示指明带包类输出类文件的位置执行时:使用类的完整名称(全限命名)包名.类名java no1.Test11.5 两个类之间有关系时的执行java -cp ./biz;. com.no1.test.Testjava 执行com.no1.test.Test 是要执行的类-cp 指定class文件的位置-cp ./biz;. 说明执行Test类时class
10、文件在二个不同的位置12 变量12.1 什么是变量? 变量就是一个容器。 变量就是一个保存数据的容器。 程序运行过程中会产生或使用大量的数据、程序运行时这些数据保存到内存。 变量就是一个在内存中保存数据的容器。 根据保存数据的不同将变量进行相应分类。 变量分类就是变量的数据类型。12.2 数据类型 根据变量中保存数据的不同,将变量进行了类型的划分。 数据类型表示一个变量可以保存什么样的数据。 java中数据类型分为二个大类:基本数据类型和引用数据类型 在基本数据类型中只有8个数据类型。 其他全是引用数据类型:类(class) 接口(interface)数组 基本数据:char,boolean,
11、byte,short,int,long,float,double String是一个什么数据类型?引用。 char 字符类型:只能保存一个字符。在java可以保存一个汉字,支持编码格式。 boolean 布尔类型:只有二个值,true(真) 和 false(假) byte 字节类型 : 一个字节大小,8位,取值范围 -128到127 short,int,long 整型:保存一个没有小数位的整数。 float,double 小数型:double类型比float类型可以保存更大的小数位。12.3 变量的声明 在java中,使用变量时,必须先进行变量声明的操作。 声明格式: 数据类型 变量名; 变量
12、名是个标记,就表示了内存中的一块保存数据的空间。12.4 变量的初始化 在变量声明完成之后,第一次赋值称为初始化。 在使用变量之前必须进行初始化操作。 赋值运算符: = 初始化的格式: 变量名 = 字面量 ; 字面量 : 可以保存到变量的数据。 在声明变量的同时进行初始化操作 类型 变量名 = 字面量 ; int i = 10;12.5 类型的字面量 /char类型可以支持一个汉字 c = 汉 System.out.println(c);u5c65 所有小数都默认为double 类型。 不能直接使用小数给float 类型赋值。 在小数后面加一个f做为后缀。 float f = 3.14f;12
13、.6 变量的生命周期和作用域 生命周期:生存的范围。时间。变量从什么时间创建到什么时间销毁。 作用域范围:在哪些位置可以使用变量。 生命周期基本以 为标准。 在同一个作用域范围里,同名变量不能被声明多次。 int i = 10;/ 在方法中定义的变量称为局部变量。 System.out.println(i); / int i = 10;/同一个作用域中的重复声明,不可以 int j = 20; System.out.println(i); / System.out.println(j);/超出了变量j的作用域和生命周期 public static void dis() int i = 20;1
14、2.7 变量的类型转换 在java中变量的类型转换分为二种情况: 1 自动类型转换。(隐式) 2 强制类型转换。(显示) 变量有数据类型区分。每种数据类型可以存储的数据的大小不一样的。 不同的数据类型占用的内存的大小不一致。 int 4byte 32位 long 8byte 64位 类型之间的比较大小 byte short int long float = = != 逻辑运算符 & & | | ! 赋值运算符 = += -= *= .13.1 算术运算符 加(+) 减(-) 乘(*)除(/)取余(%) 算术运算符主要针对的是数值类型。 int float double 在一个算术运算符的表达式
15、中如果所有数据的类型一致。结果必然也一样。 int / int 结果一定是一个 int 5 / 2 在java中结果一定为 2. 如果表达式中有float数据类型,结果一定是float数据类型。 如果表达式中有double数据类型,结果一定是double数据类型。 如果表达式中有float和double , 结果一定是double数据类型。 表达式的运算结果最小是int类型。13.2 比较运算符= = =(横等) ! 比较运算符结果一定是一个boolean类型数据。 = 在基本数据类型时就是单纯的进行数值的比较相等。13.3 逻辑运算符 与 并且关系,true 与 true 结果为true 或
16、 只要有一个条件为true结果就为true; 非 取反。 1 与运算符有二个。(短路与)开发时经常使用。(逻辑与) 2 或运算符有二个 |(短路或)开发时经常使用。 |(逻辑或) 3 非 ! if(!true) 逻辑表达式 A & B 叫逻辑与,A表达式和B表达式都必须经过计算得到结果,确定整个表达式的结果。 叫短路与,当A表达式已经可以确定整个表达式结果时,B表达式不用计算。 A | B 当A表达式为true时,已经能确定整个表达式的结果为true,B表达式就不用计算。13.4 位运算符 位运算符主要针对整形数值进行操作的运算符。 按位进行操作运算符。 位:二进制的每一位。13.4.1 位移
17、运算符 左移 (无符号)(有符号),当数值为负数时,在右移时的第一位符号位不参与移动。(无符号),当数值为负数时,在右移时的第一位符号位参与移动。 int i = 4;/100 System.out.println(i 10000 System.out.println(i 1/无符号右移。 int j = -4;/一个int占4个字节,32位,其中第一位是符号位,第一位如果是0表示正数,1表示负数。 System.out.println(j /很大的数/-113.4.2 位运算符 按位与(&) 按位或(|) 按位异或() 按位取反()按位与运算:将两个数字转换成二进制,每一位进行与运算。与运算
18、:两位必须都为1时,结果才为1。 int j = 5;/101 & /100 4 System.out.println(i & j);/将两个数字转换成二进制,每一位进行与运算。按位取反12 - -13-12 - 11A- -A-1 System.out.println(i);/12 = -13 System.out.println(-12);/-12 = 11 /负数在计算机是以补码。 /补码:取反+1. /-12 1000 0000 1100 1111 1111 0100 /-12 0000 0000 1011 /12 0000 0000 1100 /12 1111 1111 0011 /
19、-1 1111 1111 0010 /取反 1000 0000 1101 -1313.5 赋值运算符 *= += -= . int k = 2; k *= 5;/k = k * 5;13.6 单元运算符 + - int i = 1; i+; int j = i;14 标准输入 标准输出 : System.out.println(); System.out.print(); 标准输入 : 后期开发时基本不用。import java.util.Scanner; Scanner scanner = new Scanner(System.in);/标准输入对象的创建 /使用scanner对象来输入基本
20、信息请输入你的年龄: int age = scanner.nextInt(); scanner.nextLine();/清空缓冲区 System.out.println(age); /使用scanner对象来输入字符串请输入地址: String address = scanner.nextLine(); System.out.println(address);类名: java.util.Scanner创建Scanner类对象方式Scanner scanner = new Scanner(System.in);System.in 标准输入流int age = scanner.nextInt();
21、 /用于接收一个int类型的数值。scanner.nextLine();String address = scanner.nextLine(); /用于接收一行文本nextLine可以接收空格。15 简单方法调用 String类:字符串类。 赋值很方便,比较像基本数据类型。 String name = peterSun 比较两个字符串是否相等: 1 不能使用横等(=)进行比较。 2 调用String类中的方法(equals)进行比较。 address.equals(北京) 用address变量的值与进行比较。如果相等返回true Math类:算术类,封装了大量关于数学运算的方法。 int i
22、= (int) Math.pow(2,3);16 流程控制语句16.1 分类 1 顺序流程语句 2 分支流程语句 3 循环流程语句16.2 关键语法 分支:if switch 循环:while do-while for(foreach) 流程控制语句:break16.3 顺序流程 就是程序从上向下顺序执行。 程序中一般有开始,结束,处理,输入输出 begin请输入半径: int r = scanner.nextInt(); double zc = (2*r*Math.PI); double mj = (Math.PI*r*r);周长是:+zc);面积是:+mj);end流程图: 开始和结束 处理 输入输出 条件判断 16.4 分支流程语句(选择流程语句)分支流程语句就二个:if和switch。16.4.1 if语句是分支流程中使用最多 1 基本格式: if(条件表达式) 语句块; 执行原理: 当 条件表达表 结果为true时
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2