第一章 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虚拟机(JVM Java Virtual Machine)即可。 由JVM来负责 Java程序在该系统中的运行。
图解:
因为有了JVM,所以同一个Java程序在三个不同的操作系统中都可以执行。这样就实现了Java程序的跨平台性。 也称为Java具 有 良好的可移植性
二、Java语言的环境搭建
2 .1相关概念
JRE:Java Runtime Environment Java运行环境
包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心库等,如果想要运行一个开发好的Java程序,计 算机中只需要安装JRE即可。
JDK:Java Development 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};