《JAVA程序设计入门经典教程.ppt》由会员分享,可在线阅读,更多相关《JAVA程序设计入门经典教程.ppt(85页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、JAVA 程序设计入门教程 第一章 Java 概述n1.1 程序设计语言n1.2 Java 简介n1.3 Java 开发和运行环境n1.4 简单Java 程序示例1.1 程序设计语言n机器语言 由0和1组成,计算机能理解并直接执行。没有形象的意义,难以理解和记忆,效率低,容易出错。n汇编语言 用便于理解和记忆的符号来代替0、1串 面向机器的语言,只要更换或升级机器硬件,就要重新编写程序 n高级语言 采用具有一定含义的数据命名和人们易于理解的执行语句,并屏蔽了机器细节,将这种语言称为高级语言。效率高,易于理解,可维护性,可移植性。1.2 Java 概述nJava 发展史nJava 的特点nJav
2、a 程序运行机制Java 的发展nSun -1995.5.23nOak:Java 的前身,1991年出现n基于C+开发的新语言,主要用于嵌入式设备开发nHotJava 浏览器Java 发展历程Java 主要技术分支三种分支的关系Java 语言特点 1.简单性2.面向对象3.安全性4.平台独立Java 运行机制Java 运行机制1.3 Java 环境搭建n安装JDKn配置Java 开发的环境n掌握path及classpath的作用配置要求n系统要求:系统要求:CPU:奔腾:奔腾166MHZ或者更高或者更高操作系统:操作系统:Windows95/98/Me/2000/XP,WindowsNT4.0
3、,Linux,UNIX等常用操作系统均可等常用操作系统均可内存:内存:64MB或者更高或者更高硬盘:硬盘:70MB(最大化安装),建议至少(最大化安装),建议至少100MB步骤步骤:1、安装、安装JDK2、设置环境变量、设置环境变量3、安装文本编辑器、安装文本编辑器Java 安装n下载:WWW.SUN.COM Latest version:JDK 1.6 Java 配置n编译的Java命令:javac.exen解释的Java命令:java.exe配置好后,表示在WINDOWS 中已经注册好了此文件目录,如果需要直接执行命令,则会从此目录中找到并执行。Classpath 配置简单的JAVA 程序
4、示例npublic class Hellonpublic static void main(String args)n System.out.println(Hello World!);/原样输出nn;通过Javac.exe 编译文件,产生了.Class文件,之后再执行*.class 文件执行流程:Java 命令-要使用一个.CLASS文件(类文件)-通过classpath 找到此文件所保存的真实目录,之后再进行加载执行。总结n1.Path 的主要功能是设置JDK 的可执行命令nClasspath主要是在执行的过程中起作用,告诉JVM 类的保存路径,一般设置成“.”classpath只在jav
5、a命令的时候起做作用,而对于Javac不起任何作用。第2章 Java 基础 本章目标 n掌握public class 与class的区别n掌握Java中的注释使用n掌握Java中的标志符的命名规则n了解Java的关键字n掌握常量及变量的声明程序示例1.public class TestJava2.public static void main(String args)3.int num=10;/定义整型变量4./num=30;/修改变量的内容5.System.out.println(num的内容是:+num);6.System.out.println(num*num=+num*num);7.S
6、ystem.out.println(1);8.System.out.println(1.1);9.10./*11.这是注释,不会被执行12.可以编写多行13.*/14.;15.class A16.17.;18.class B19.20.;n 程序运行的结果:n num的内容是:30n num*num=900Public class 和 class声明的区别Java 的注释n单行注释 /n多行注释 /*/n文档注释 /*.*/标识符nJava语言规定标识符由字母、下划线、美元符号和数字等组成,并且第一个字母不能是数字,不能是Java中的保留关键字n合法的标识符 yourname,li_ly,$n
7、ame 非法的标识符 cla ss,67,w.几个重要的约定n变量名、对象名、方法名、包名等标识符全部采用小写字母,如果标识符由多个单词构成,则首字母大写,其余字母小写 TestJava.n类名首字母必须大写n常量名全部字母大写Java 中的关键字常量和变量n变量:将内存中的每个内存块保留下来以供程序使用,里面的内容是可变的。修饰符 类型标识符 变量名=常量 n常量,一个数字就表示常量,常量的内容不会改变。final 修饰符 类型标识符 常量名=(直接)常量第2章 Java数据类型n目标n掌握Java数据类型的划分n掌握Java中的八种基本数据类型n掌握数据类型见的相互转换Java 数据类型的
8、分类Java 基本数据类型常见问题n数据过长:DataDemo01 一个数据有自己保存范围,超过长度,则编译是就会出现错误n溢出:DataDemo02 当一个数字已经是最大或最小值的时候,再进行增加或减少的操作,就会产生数据溢出 DataDemo01 报错信息DataDemo02(对整型的最大值进行加法操作)对所求的值进行加法操作运行结果溢出的解决方案n扩大数据类型 int-longn(long)max -将int类型扩展成long 字符类型n字符类型在内存中占有2个字节,可以用来保存英文字母等字符。计算机处理字符类型时,是把这些字符当成不同的整数来看待。因此。严格说,字符类型也算是整数类型的
9、一种。字符类型DataDemo05(使用转义字符)浮点数类型与双精度浮点数类型n浮点数:表示数学中的实数,即带小数点的数。n表示方法:标准记数法 科学记数法 浮点数类型所占字节取值范围float4-3.4E383.4E38double8-1.7E3081.7E308DataDemo062个小数相乘布尔类型n布尔类型(boolean)表示逻辑量,也称为逻辑类型。布尔类型只有 true/false 2个值。占一个字节。boolean flag=true;/声明布尔变量flag,并赋值为true。DataDemo07 布尔类型的使用基本数据类型的默认值数据类型的转换nJava的数据类型在定义时就已经
10、确定了,因此不能随意转换成其他的数据类型。但Java允许用户有限度地做类型转换处理。n转换方式:自动类型转换/强制类型转换自动转换n在程序中已经定义好了数据类型的变量,若是想用另一种数据类型表示时,Java会在下列条件成立时,自动做数据类型的转换。1.转换前的数据类型与转换后的兼容 2.转换后的数据类型的表示范围比转换前的类型大DataDemo08 数据类型的转换DataDemo09-定义字符串变量n任何类型的数据都向String 转型nString可以像普通变量那样直接通过赋值的方式进行声明。字符串是使用”“”括起来的。两个字符串之间可以用“+”进行连接。n任何数据类型碰到String类型或
11、常量之后都向String类型转换。DataDemo09-定义字符串变量public class DataDemo09public static void main(String args)String str=“test;/定义字符串变量int x=30;str=str+x;/修改str的内容并将内容重新给str变量System.out.println(str=+str);运行结果 str=test 30DataDemo10-字符串常量操作的问题npublic class DataDemo10npublic static void main(String args)nint i=1;/定义整型
12、变量nint j=2;/定义整型变量nSystem.out.println(1+2=+1+2);nSystem.out.println(1+2=+(1+2);nn;n运行结果 1+2=12 数据类型的强制转换n转换语法 (要转换的数据类型)变量的名称;Demo11:npublic class DataDemo11npublic static void main(String args)nfloat f=30.3f;/浮点型nint x=(int)f;/强制类型转换nSystem.out.println(x=+x);nSystem.out.println(10/3=+(float)10/3);/
13、执行强制转换nn;n运行结果 x=30 10/3=3.3333333第3章 运算符、表达式与语句n目标 掌握赋值运算符的使用 掌握算术运算符的使用 掌握关系运算符的使用 掌握递增与递减运算符的使用 掌握逻辑运算符的使用 掌握括号运算符的使用 掌握位运算符的使用 掌握各个运算符的优先级运算符n对数据进行加工和处理称为运算,表示各种运算的符号成为运算符,参与运算的数据成为操作数。n单目运算符(一元运算符):只对一个操作数运算,出现在操作数的左边或者右边;n双目运算符(二元运算符):对两个操作数进行运算,出现在两个操作数的中间。赋值运算符n变量名=表达式;public class OperateDe
14、mo01public static void main(String args)int num=22;System.out.println(第一次输出:num=+num);num=num-3;/修改变量内容System.out.println(第二次输出:num=+num);n运行结果 第一次输出:num=22 第一次输出:num=19一元运算符public class OperateDemo02public static void main(String args)boolean b=false;int x=10;int y=-30;System.out.println(b=+b+,!b=+
15、!b);/取反System.out.println(x=+x+,-x=+-x);/使用符号System.out.println(y=+y+,+y=+(+y);/使用正号;运行结果 b=false,!b=true x=10,-x=-10 y=-30,+y=-30算术运算符public class OperateDemo03public static void main(String args)int i=10;int j=3;System.out.println(i+j+=+(i+j);/加法操作System.out.println(i+-+j+=+(i-j);/减法操作System.out.p
16、rintln(i+*+j+=+(i*j);/乘法操作System.out.println(i+/+j+=+(i/j);/加法操作System.out.println(i+%+j+=+(i%j);/取模操作;运行结果10+3=1310-3=710*3=3010/3 =310%3=1关系运算符Demo1.public class OperateDemo042.public static void main(String args)3.System.out.println(3 1=+(3 1);/使用大于号4.System.out.println(3 1=+(3=1=+(3=1);/使用大于等于号6
17、.System.out.println(3=1=+(3 2)System.out.println(条件成立:5大于2);if(true)System.out.println(直接写的true);if(3+6)=(3-6)System.out.println(这是不可能成立的!);递增与递减运算符public class OperateDemo06public static void main(String args)int a=3,b=3;/定义两个变量a和bint x=6,y=6;/定义两个变量x和ySystem.out.println(a=+a);System.out.println(t
18、a+=+(a+)+,a=+a);/先计算后自增System.out.println(b=+b);System.out.println(t+b=+(+b)+,b=+b);/先自增后计算System.out.println(x=+x);System.out.println(t x-=+(x-)+,x=+x);/先计算后自减System.out.println(y=+y);System.out.println(t-y=+(-y)+,y=+y);/先自减后计算;逻辑运算符AND 及 OR 结果表Demo 7-验证逻辑运算符1.public class OperateDemo072.public sta
19、tic void main(String args)3.boolean a=true;4.boolean b=false;5.System.out.println(a|b=+(a|b);6.System.out.println(a|b=+(a|b);7.System.out.println(a&b=+(a&b);8.System.out.println(a&b=+(a&b);9.10.;Demo 8 判断多个条件1.public class OperateDemo082.public static void main(String args)3.int score=50;/定义成绩4.if(s
20、core100)5.System.out.println(输入的成绩有错误!);6.7.if(score49)8.System.out.println(成绩不及格,准备补考吧!);9.10.11.;关于“&”与“&”、“|”与“|”Demo 9 代码错误情况1.public class OperateDemo092.public static void main(String args)3.int x=10/0;/定义变量4.System.out.println(x=+x);5.6.;n报错:Exception in thread“main”java.lang.ArtthmeticExcept
21、ion:/by zeroDemo 10-“&”的应用1.public class OperateDemo102.public static void main(String args)3.if(10!=10&10/0=0)4.System.out.println(条件满足);5.6.7.;报错:Exception in thread“main”java.lang.ArtthmeticException:/by zeroDemo 11-“&”的应用1.public class OperateDemo112.public static void main(String args)3.if(10!=
22、10&10/0=0)4.System.out.println(条件满足);5.6.7.;Demo 12-“|”的应用1.public class OperateDemo122.public static void main(String args)3.if(10=10|10/0=0)4.System.out.println(条件满足);5.6.7.;报错:Exception in thread“main”java.lang.ArtthmeticException:/by zeroDemo 13-“|”的应用1.public class OperateDemo132.public static
23、void main(String args)3.if(10=10|10/0=0)4.System.out.println(条件满足);5.6.7.;运行结果 条件满足括号运算符括号可以处理表达式的优先级位运算符Demo 15 位运算举例1.public class OperateDemo152.public static void main(String args)3.int x=3;/3的二进制数据:00000000 00000000 00000000 000000114.int y=6;/6的二进制数据:00000000 00000000 00000000 000001105.System
24、.out.println(x&y);/与:00000000 00000000 00000000 000000106.System.out.println(x|y);/或:00000000 00000000 00000000 000001117.System.out.println(x y);/或:00000000 00000000 00000000 000001018.9.;运行结果:2 7 5为运算操作步骤取反、左移、右移、无符号左移、无符号右移nDemo 16nDemo 17nDemo 18nDemo 19Demo 16 取反1.public class OperateDemo162.pu
25、blic static void main(String args)3.int x=-3;/应该以补码的形式存在,补码=反码+1 4.System.out.println(x);5.6.;Demo 17 左移public class OperateDemo17public static void main(String args)int x=3;/3的二进制数据:00000000 00000000 00000000 00000011System.out.println(x+左移2位之后的内容:+(x2);6.System.out.println(y+右移2位之后的内容:+(y2);7.8.;D
26、emo 19 无符号右移n以上的右移操作属于带符号位的右移操作,在Java中也提供了无符号的右移操作符”,使用此操作将以“0”填充空出来的位。1.public class OperateDemo192.public static void main(String args)3.int x=3;/3的二进制数据:00000000 00000000 00000000 000000114.int y=-3;/-3的二进制数据:11111111 11111111 11111111 111111015.System.out.println(x+右移2位之后的内容:+(x2);6.System.out.p
27、rintln(y+右移2位之后的内容:+(y2);7.8.;运算符的优先级表达式npublic class Demo20npublic static void main(String args)nint a=5,b=8;nSystem.out.println(改变之前的数是:a=+a+,b=+b);na+=b;/等价于a=a+b;nSystem.out.println(改变之后的数是:a=+a+,b=+b);nn;运行结果:改变之前的数是:a=5,b=8 改变之后的数是:a=13,b=8简洁表达式示例Demo21 简洁表达式应用1.public class SimpleExpressDemo022.public static void main(String args)3.int a=10,b=6;4.System.out.println(改变之前的数是:a=+a+,b=+b);5.a-=b+;/等价于a=a-b;b+;6.System.out.println(改变之后的数是:a=+a+,b=+b);7.8.;运行结果:改变之前的数是:a=10,b=6 改变之后的数是:a=4,b=7