第一章 Java概述 一、Java语言概述 Java语言是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言;是一种面向Internet的编程语言;随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言;是简单易学,完全面向对象,安全可靠,与平台无关的编程语言
1.1Java语言的三种技术架构 J2EE(Java 2 Platform Enterprise Edition)企业版 J2SE(Java 2 Platform Standard Edition)标准版
J2ME(Java 2 Platform Micro Edition)小型版
Java5.0版本后,更名为 JAVAEE JAVASE JAVAME 1.2Java语言的特点:跨平台性 概念:通过Java语言编写的应用程序在不同的系统平台上都可以运行 原理:只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVMJava Virtual Machine)即可。由JVM来负责 Java程序在该系统中的运行。 图解:
因为有了JVM,所以同一个Java程序在三个不同的操作系统中都可以执行。这样就实现了Java程序的跨平台性。也称为Java具 有良好的可移植性 二、Java语言的环境搭建 2.1相关概念 JRE:JavaRuntime Environment Java运行环境 包括Java虚拟机(JVMJava Virtual Machine)和Java程序所需的核心库等,如果想要运行一个开发好的Java程序,计 算机中只需要安装JRE即可。
JDK:JavaDevelopment Kit Java开发工具包
JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装 JRE了。其中的开发工具:编译工具(javac.exe) 打包工具(jar.exe)等
简单而言:使用JDK开发完成的java程序,交给JRE去运行。 2.2配置环境变量path 根据windows系统在查找可执行程序的原理,可以将java工具所在路径定义到path环境变量中,让系统帮我们去找运行执行 的程序。 2.2.1临时配置方式通过dos命令中set命令完成 set:用于查看本机的所有环境变量的信息。 set 变量名 :查看具体一个环境变量的值。
set 变量名=:清空一个环境变量的值。
set 变量名=具体值 :给指定变量定义具体值。
注意:这种配置方式只在当前dos窗口有效。窗口关闭,配置消失。
2.3配置classpath JVM查找类文件的顺序:如果没有配置classpath环境变量,JVM只在当前目录下查找要运行的类文件。如果配置classpath 环境。JVM会先在classpath环境变量值的目录中查找要运行的类文件。 值的结尾处如果加上分号,那么JVM在classpath目录下没有找到要指定的类文件,会在当前目录下在查找一次。
值的结尾出如果没有分号,那么JVM在classpath目录下没有找到要指定的类文件,不会在当前目录下查找,即使当前目
录下有,也不会运行。三、编写 Hello world 小程序
class Demo//定义一个类。
{
//主函数。
public static void main(String[] args)
{
//输出语句。
System.out.println("hello haha");
}
}
编写代码,将文件保存成Demo.java,这个文件是存放java代码的文件,称为源文件。 编译,如果程序没有错误,没有任何提 示,但在当前目录下会出现一个Demo.class文件,该文件称为字节码文件,也是 可以执行的java的程序。运行。
第二章 Java语言基础一、常见概念 1.1关键字
1.2标识符 由26个英文字母大小写,数字: 0-9 符号: _ $ 组成
定义合法标识符规则:1,数字不可以开头。
2,不可以使用关键字。Java中严格区分大小写。
注意:在起名字的时,为了提高阅读性,要尽量有意意义。
1.3常量与变量 常量表示不能改变的数值。 Java中常量的分类:整数常量、小数常量、布尔型常量、字符常量、字符串常量、null常量。 变量:内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型),该区域的数据可以在同一类型 范围内不断变化。
1.3.1定义变量的格式: 数据类型 变量名=初始化值;
二、运算符 包含:算数运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三元运算符 2.1算数运算符
2.2赋值运算符 符号:=,+=,-=,*=,/=,%= 2.3比较运算符 符号:== ,!=,<,>,<=,>= 2.4逻辑运算符 “&”和“&&”的区别:单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。
异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。 2.5位运算符 2.6三元运算符 格式:(条件表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1; 如果条件为false,运算后的结果是表达式2;
示例:获取两个数中大数。 int x=3,y=4,z;
z = (x>y)?x:y;//z变量存储的就是两个数的大数三、程序流程控制 3.1判断结果 if语句三种格式 if语句特点:a,每一种格式都是单条语句。
b,第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以写在其他表达式中。
c,条件表达式无论写成什么样子,只看最终的结构是否是true 或者 false; 3.2 switch语句 格式:
switch语句特点:a,switch语句选择的类型只有四种: byte, short, int , char。
b,case之间与default没有顺序。先执行第一个case,没有匹配的case执行default。
c,结束switch语句的两种情况:遇到break,执行到switch语句结束。
d,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句, 直到遇到break或者switch结尾结束 3.3 for循环 格式: 注意:a,for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件为真就执行循环体,然后再执行循 环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。 b,while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while循环使 用的变量在循环结束后还可以继续使用。
c,最简单无限循环格式: while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些 条件,来控制循环。 3.4 break(跳出)、continue(继续) break语句:应用范围:选择结构和循环结构。
continue语句:应用于循环结构。
注:a,这两个语句离开应用范围,存在是没有意义的。
b,这个两个语句单独存在下面都不可以有语句,因为执行不到。
c,continue语句是结束本次循环继续下次循环。
d,标号的出现,可以让这两个语句作用于指定的范围。四、函数 4.1定义 函数就是定义在类中的具有特定功能的一段独立小程序。函数也称为方法。 函数的格式:
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2, )
{
执行语句;
return 返回值;
}
返回值类型:函数运行后的结果的数据类型。
参数类型:是形式参数的数据类型。
形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。
实际参数:传递给形式参数的具体数值。
return:用于结束函数。
返回值:该值会返回给调用者 4.2 函数的特点 定义函数可以将功能代码进行封装,便于对该功能进行复用,函数只有被调用才会被执行,函数的出现提高了代码的复用 性,对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省 略不写。 注意:函数中只能调用函数,不可以在函数内部定义函数。
定义函数时,函数的结果应该返回给调用者,交由调用者处理。五、数组 概念: 同一种类型数据的集合。其实数组就是一个容器。
数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素。
格式1: 元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
示例: int[] arr = new int[5];
格式2:
元素类型[] 数组名 = new 元素类型[]{元素,元素, ……};
int[] arr = new int[]{3,5,1,7};
int[] arr = {3,5,1,7};