Presentation is loading. Please wait.

Presentation is loading. Please wait.

声明 本PPT讲述了JAVA的基础知识 由于JAVA和C本身很接近,所以本PPT主要侧重于说明两者的区别

Similar presentations


Presentation on theme: "声明 本PPT讲述了JAVA的基础知识 由于JAVA和C本身很接近,所以本PPT主要侧重于说明两者的区别"— Presentation transcript:

1 声明 本PPT讲述了JAVA的基础知识 由于JAVA和C本身很接近,所以本PPT主要侧重于说明两者的区别

2 内容 第一章 初识 JAVA 第二章 JAVA的基本元素 第三章 类 第四章 其他操作

3 第1章 初识JAVA

4 第1章 初识JAVA JAVA 简介 JAVA 程序的执行 JAVA 的安装 第一个JAVA 程序

5 JAVA 简介 JAVA 是一种完全面向对象的程序 JAVA 程序中只有类,而C++中可以没有类 JAVA 程序分类 JAVA 应用程序
JAVA Applet

6 JAVA程序的执行 JAVA程序的执行原理是:先将源代码编译为字节代码(.class文件)
然后字节代码可以在JAVA虚拟机(JVM Java Virtual Machine)上解释执行

7 JAVA 的安装 JAVA 的安装 JAVA 环境变量的设置

8 下载安装 JDK 官方下载地址 http://java.sun.com/javase/downloads/index.jsp
TIPS:安装的时候会提示您选择安装在什么目录下, 建议安装路径不要有空格, 所以不宜安装在\Program Files目录下

9 环境变量设置 安装完JDK 之后需要进行系统环境变量的设置 右键点我的电脑,选择属性->高级->环境变量
假如JDK安装的目录是C:\jdk1.6 添加一个名为JAVA_HOME的系统变量,值为C:\jdk1.6 然后在PATH这个变量的最后 加入 ;%JAVA_HOME%\bin 加入CLASSPATH这个变量 其值为空的 需要设置这个环境变量,不过它的值是空的!不然可能运行的时候会出错.

10 第一个JAVA程序 现在可以用记事本敲一个JAVA程序了,先来个HelloWorld程序 代码如下: (HelloWorld.java)
public class HelloWorld { public static void main(String [] args) System.out.println("Hello World"); }

11 第一个JAVA程序 运行方法: 开始菜单->运行->cmd 去到JAVA文件的目录下(例如我的电脑是C:\java)
执行以下命令: C:\java>javac HelloWorld.java C:\java>java HelloWorld 一切正常的话,您将可以看到Hello World 这行字 如果出现任何异常, 请看本PPT下一页的建议

12 说明 JAVA程序中, 类名要与文件名一致 例如HelloWorld 程序中,类的名字是HelloWorld,那么保存文件的时候,就应该保存为HelloWorld.java 执行的时候需要使用javac将源代码转化为字节代码,其执行语句是 javac 类名.java (执行结果将产生.class文件) 真正执行程序的语句是 java 类名 (该句将执行该类的main函数)

13 第2章 JAVA基本元素

14 第2章 JAVA基本元素 大家可以看到JAVA 程序与C++程序非常相似,只是一些细节上的不同。由于大家对C++都已经非常熟悉,所以下面主要讲述的是他们的区别 本章讲述的内容有: JAVA 程序框架 JAVA 数据类型 JAVA 表达式 JAVA 对象和引用变量 JAVA 的String类 JAVA 的输入输出 JAVA 中的方法 JAVA 的方法中的参数传递方式 JAVA 数组 JAVA 包的使用

15 JAVA 程序框架 如何才能创建一个JAVA应用程序呢? 我们先来看看 HelloWorld 程序的意义
第一行public class HelloWorld 它定义了一个类,public表示可以被外部访问,它的意义以后还会解释 第二行public static void main(String [] args) 这是这个类的主函数,程序将从这个地方开始执行 main中的语句是输出一个字符串

16 JAVA 程序框架 一个java文件只能有一个声明为public的类,而且这个类的类名应该与主文件名一致
类中必须有一个 public static void main 方法 这是程序执行的起点 注:以上都是针对只有一个java源代码文件的程序而言的, 多个源代码文件的情况以后再做说明

17 数据类型 JAVA 的数据类型分为两大类 简单数据类型(共8种) 除了上面的几种外,JAVA中只存在类,类对象的定义全部是引用变量 (注:我在后面的描述中,把除了简单数据类型之外的数据类型称为“对象数据类型”) 它们有着本质的区别,主要是内存分配方式不不同. 它们的区别将在本章的 “JAVA 对象和引用变量” 一节中进行叙述

18 简单数据类型 简单数据类型有3个大类 分别是: 整数数据类型 浮点数据类型 布尔数据类型

19 整数数据类型 char 0 ~ 65535 byte -128 ~ 127 short -32768 ~ 32767
int -2^31 ~ 2^31-1 long -2^63 ~ 2^63-1 char类型对应的是Unicode 字符集,其中 对应了我们常用的ASCII码.该类型C++中的使用方法在Java中是可行的,只是它在JAVA中可以覆盖更多的字符

20 boolean 其值为true 或者 false
浮点数据类型 float E+38 ~ 3.4E+38 double E+308 ~ 1.7E+308 布尔类型 boolean 其值为true 或者 false 简单数据类型就只有上面介绍的3大类共8种

21 表达式及表达式计算 表达式计算的优先顺序,运算符的优先顺序,类型强制转换及隐式转换的规则与C++完全一样。 举例: (4+7)*(45/7)
(4+7)*((double)45/7)

22 JAVA 对象和引用变量 简单数据类型只有前面那8种,和C++很类似 对象数据类型定义的变量则是“指向类对象的引用”,这种变量是“引用变量”
简单数据类型与对象数据类型有本质的区别 简单数据类型定义的是一个“变量”,它的内存空间是在定义的时候就分配的 对象数据类型定义的是某个类的一个“引用变量”,它仅仅是一个指针. 该类变量需要使用new运算符进行内存分配. 在分配空间以后, 该“引用变量”就指向了这片申请的空间的地址。

23 例子 先用一个例子来说明 简单数据类型中有int类型 JAVA系统中还定义了一个与之对应的类: Integer 考虑以下语句: int x;
Integer y; y=new Integer(67);

24 X X 30 地址 Integer对象 2700 2700 67 Y X的值

25 int x; 在定义的时候,就为x分配了内存空间 x=30 语句是对x进行赋值 对象数据类型
简单数据类型 int x; 在定义的时候,就为x分配了内存空间 x=30 语句是对x进行赋值 对象数据类型 Integer y; 这句话声明的是一个指向Integer 对象的引用。它定义时并不分配内存,其实它的变量只是一个指针(即该变量存储的只是一个地址) 执行y=new Integer(67); 一句时才为它分配指向Integer类型的内存空间 在这里y是“引用变量” 补充:有人说,JAVA是一种没有指针的语言 我想正确的理解应该是:JAVA是有指针的,只是它在 内部为你工作,对程序员是透明的。但是由于程序员 不能直接进行指针操作,所以JAVA数据处理的灵活性 要低于C++

26 几种对象数据类型 与8种基本数据类型相对应,java系统中定义了8种相应的对象数据类型,分别为: Character Byte Short Integer Long Float Double Boolean

27 String类 String 类是JAVA最重要的类之一 在输入输出等很多地方都需要用到它 定义 String name;
name=“Rhode”; 以上第2行等价于 name=new String(“Rhode”); 因为String类中定义了一个“=”赋值运算符,所以使用String类的时候,可以不使用new运算符

28 String 类的用法 String 类重载了很多运算符,使用方便 一些特殊的例子 n1=12; n2=3; String str;
String s1 , s2 , t; s1=“My”; s2=“Book”; t=s1+s2; // MyBook int i=3; t=s1+i; // My3 一些特殊的例子 n1=12; n2=3; String str; str=“Sum : ”+n1+n2; // 执行后 str=“Sum : 123”; str=“Sum : ”+(n1+n2); // 执行后 str=“Sum : 15”; str=n1+n2+”is the Sum” // 执行后 str=15+“is the Sum”; 执行顺序从左向右,加法执行是整数相加

29 String 类常用的方法 举例 str=“The book”; char charAt (int index) 取第index个字符
int compareTo (String str1); 与str1比较大小,返回 比较的值,功能与 C++中strcmp类似 String concat (String str1); 把str1加到原字符串上 boolean equals (String str1); 比较两个字符串是否相同,返回 值为true 或者 false int length (); 返回字符串的长度 String substring(int s, int l) 返回从第s个字符到第l 个字符的子串 String toUpperCase(); 返回全部转化为大写字母 的字符串 String toLowerCase(); 返回全部转化为小写字母 的字符串

30 1300 Rhode String 对象的理解 这是类的对象,它的变量是“引用变量” 是指向String对象的指针 地址 String对象
name name的值

31 加深理解 比较两个字符串是否相等 现在有定义如下: String str1=new String(“abc”);
String str3=str1; 语句1:if (str1==str2) 语句2:if (str1.equals(str2)) 语句3:if (str1==str3) 以上2个语句是不同的,我们说过str1,str2叫引用变量,这样的变量是只是一个“引用”,它的内涵你可以理解为指针,也就是地址。 由于str1,str2分配不同的空间,他们地址不同,所以语句1返回false 真正的字符串内容的比较用的是语句2,他的值是true 由于str1,str3他们指向了同一个对象(即他们的地址相同),所以语句3返回true

32 String类常用的转换 将String 类转化为int 或者 double 等类型的方法:使用Integer类或者Double类的静态方法来转化,举例: 转化为 int int x = Integer.ParseInt(“45”); // 执行后 x=45 转化为 double double x = Double.ParseDouble(“7.5”); // 执行后 x=7.5 将int或者double 转化为String 比较简单,可以利用 String类提供的运算符来巧妙的转化: 例如:将int装化为String 可以用下面的语句 int x; String str = “”+x;

33 JAVA的输入输出 JAVA写控制台程序的输入需要自己处理JAVA提供的只是输入的字符流处理
我们需要定义一个InputStreamReader对象和一个BufferdReader 对象,这样我们可以获得需要的字符串,如果需要再将字符串转化为整数或者浮点数。Scanner in=new Scanner(System.in); in.nextLine(); 具体做法如下:

34 JAVA的输入 首先定义一个InputStreamReader对象和一个BufferdReader对象如下:
InputStreamReader charReader= new InputStreamReader(System.in); BufferdReader keyboard= new BufferdReader(charReader); 以上两句可以合并写为下面这一句: BufferedReader keyboard =new BufferedReader (new InputStreamReader(System.in));

35 有了上面的定义后,就可以进行以下操怍 读入单个字符 ch=(char)keyboard.read();
读入整行的字符串 str=keyboard.readLine(); 读入整数 num=Integer.parseInt (keyboard.readLine()); 读入浮点数 dbnum=Double.parseDouble (keyboard.readLine()) 可以看出,输入操作只能得到字符流 如果要获得数字的输入,还需要自己转换

36 scanner java.util.Scanner是Java5的新特征,主要功能是简化文本扫描。这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java API文档中列举了大量的API方法,但是都不怎么地。

37 JAVA输出 输出的语句是 输出举例 System.out.println(String str);
System.out.print(String str); System.out.flush(); // 清空缓冲区 输出举例 字符串输出: System.out.println(“Hello”); 整数变量输出: System.out.println(“”+i);

38 综合例子 输入一个数字,输出它的2倍,并输出它个位的数字 (ReadWrite.java)
import java.util.Scanner; public class ReadWrite { public static void main(String [] args) Scanner in=new Scanner(System.in); String st=in.nextLine(); int num=Integer.parseInt(st); System.out.println("它的两倍是:"+num*2); System.out.println("个位是: "+st.charAt(st.length()-1)); }

39 java数组 1、数组的创建 var arrayObj = new Array(); //创建一个数组
var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度 var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 

40 创建一个数组并赋值     要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。

41 2、数组的元素的访问 var testGetArrValue=arrayObj[1]; //获取数组的元素值 arrayObj[1]= "这是新值"; //给数组元素赋予新的值 arrayObj. Push();// 将新元素添加到数组结尾,并返回数组新长度 arrayObj.unshift();// 将新元素添加到数组开始,数组中的元素自动后移,返回数组新长度 arrayObj.splice();//将新元素插入到数组的指定位置,插入位置的元素自动后移,返回""。


Download ppt "声明 本PPT讲述了JAVA的基础知识 由于JAVA和C本身很接近,所以本PPT主要侧重于说明两者的区别"

Similar presentations


Ads by Google