Java讲授要点1基础.docx
- 文档编号:14039260
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:21
- 大小:87.41KB
Java讲授要点1基础.docx
《Java讲授要点1基础.docx》由会员分享,可在线阅读,更多相关《Java讲授要点1基础.docx(21页珍藏版)》请在冰点文库上搜索。
Java讲授要点1基础
一、Java基础
1.1特点
*面向对象、平台无关性、分布式、可靠和安全、多线程。
*Java是一种跨平台的语言,同时也是既编译又解释的语言。
Java可以运行在网络不同的计算机上,但运行的计算机上必须装有相应的Java解释器。
这种解释器被称为JVM(Java虚拟机)。
1.2Java运行流程
(1)先应该创建源程序,Java源程序一般用java作为扩展名,是一个文本文件,用Java语言写成,可以用任何文本编辑器创建与编辑;
(2)源程序完成后,就可以进行编译,需要使用Java编译器“javac”,读取源程序并翻译成Java虚拟机能够明白的指令集合,且以字节码的形式保存在文件中。
通常,字节码文件以class作为扩展名;(3)Java解释器即“java”,读取字节码,取出指令并且翻译成计算机能执行的代码,完成运行过程;该字节码运行的平台是Java虚拟机。
只要计算机上装有Java虚拟机,无论采用那种操作系统,硬件配置情况如何,运行的结果都是一样的
1.3JVM
Java语言的一个非常重要的特点就是与平台的无关性。
而使用Java虚拟机是实现这一特点的关键。
一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。
而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。
Java语言使用模式Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。
1.4下载和安装JDK6.0
*Java不仅是编程语言,还是一个开发平台,Java技术给程序员提供了许多工具:
编译器、解释器、文档生成器和文件打包工具等等。
*XX“JDK下载”,很容易下载到安装文件。
*运行jdk-…….exe文件,即可安装。
*FTP资料下载文件夹中的安装文件jdk…,下载后直接安装即可。
*java环境变量配置:
(1)XP:
鼠标右击“我的电脑”->属性->高级->环境变量
系统变量->新建->变量名:
JAVA_HOME变量值:
C:
\ProgramFiles\Java\jdk1.6.0
注意:
填写的是JDK的安装路径
系统变量->新建->变量名:
CLASSPATH变量值:
.;%JAVA_HOME%\lib
系统变量->编辑->变量名:
Path在变量值的最前面加上:
%JAVA_HOME%\bin;
CLASSPATH中有一英文句号“.”后跟一个分号,表示当前路径的意思)
(2)WIN7
右键单击计算机,然后选择属性,然后->高级系统设置->环境变量
后面的设置同XP
如果安装时选择的默认设置,JDK的安装路径很可能是
C:
\ProgramFiles(x86)\java\jdk1.6.0_10,因此JAVA_HOME变量值应该是C:
\ProgramFiles(x86)\java\jdk1.6.0_10
1.5Javaapplication和Javaapplet
Java语言可以编写两种类型程序,一种是Javaapplication应用程序,一种是Javaapplet小应用程序(只能在www浏览器环境下运行,因此还必须建立一个HTML文件来调用Applet程序)。
一个Javaapplication由一个或者多个class文件组成。
其中有一个class定义了main()方法,该类被称为主类,即该类可以独立运行。
1.6一个简单的java程序实例
publicclassHello
{
publicstaticvoidmain(String[]args)
{
System.out.println("欢迎学习Java");
}
}
*可以使用记事本来编辑,也可以使用开发工具软件,如Eclipse、JBuilder等。
*程序以类(class)的形式存在;一个类要能被解释器直接启动运行,必须有main方法;通常把含有main方法的类称为主类。
*源文件的名称一定要和主类的名称保持一致;
*源文件的扩展名为java;
*Java语言区分大小写;
*运行:
(1)在MS-DOS界面下,首先进入保存了文件Hello.java的目录;
(2)javacHello.java;(3)javaHello
1.7注释
为了使编写的程序便于阅读,常常在代码中插入注释。
*文档注释,对整个程序的功能等进行说明/**开头,*/结束,可以跨行
*单行注释//
*多行注释/*开头,*/结束,可以跨行
例:
在上面的Hello.java程序代码中插入如下的注释,运行结果不变。
/**
*2008itzcn
*版权所有
*/
publicclassHello//对类进行声明
{
publicstaticvoidmain(String[]args)
/*下面是方法的内容,注意花括号和分号的使用*/
{
System.out.println("欢迎学习Java");
System.out.println("这是我的第一个Java程序");
}
}
注意:
如果使用System.out.print,则在屏幕输出时不换行。
System.out.println("欢迎学习Java")等效于System.out.print("欢迎学习Java\n");
参见教材P13表2-2转义字符。
二、语法基础
2.1数据类型
2.1.1基本数据类型
Java可将数据类型分为两类,一种是面向对象的类型,而另一种则是非面向对象的基本数据类型。
在本节将详细介绍Java的基本数据类型和类型转换。
类型
关键字
占用内存
取值范围
字节型
byte
一个字节
-128~127
短整型
short
两个字节
-32768~32767
整型
int
四个字节
-2147483648~2147483647
长整型
long
八个字节
-9223372036854775808L~9223372036854775807L
单精度浮点型
float
四个字节
1.4E-45~3.4028235E38
双精度浮点型
double
八个字节
4.9E-324~1.7975931348623157E308
字符型
char
两个字节
0~65535或\u0000到\uFFFF
布尔型
boolean
一个字节
true或false
(上面的表参见教材P12表2-1,注意有4种整型,2种浮点型)
publicclassDemoType1
{
publicstaticvoidmain(String[]args)
{
chara='A';/*字符型,用单引号括起来的一个字符,Unicode集;用双引号把字符串括起来,则为string类,但已经不属于基本数据类型,而是面向对象的数据类型*/
byteb=044;//8进制
shortc=0x44;//16进制
longd=0x100ffL;//长整型,后面要加L
floate=1.01f/0.3f;//含小数的数,后面加f为float型
doublef=1.0/3.0;//含小数的数,默认为double型;若把0取消呢?
booleang=true;
System.out.println("a="+a);
System.out.println("b="+b);
System.out.println("c="+c);
System.out.println("d="+d);
System.out.println("e="+e);
System.out.println("f="+f);
System.out.println("g="+g);
}
}
2.1.2类型转换
用常量、变量或表达式给另一个变量赋值时,两者的数据类型必须一致,即所赋值的类型必须是能被变量接受的数据类型。
如果不一致,则需要进行类型转换,即从一种数据类型转换到另一种数据类型。
类型转换可以分为隐式转换(自动类型转换)和显式转换(强制类型转换)两种。
*隐式转换:
不同类型的数据混合运算时,自动按照低级类型数据转换成高级类型数据的规则进行。
byte__short__int__long__double;char__int
例如:
在doublea=3.14*5中,Java会自动把5转换为double型的数据,然后和double型数据3.14进行运算;如果把3.14*5的结果保存为int型,即inta=3.14*5,则会出现损失精度的问题,这种情况下需要用到强制转换。
*强制转换:
publicclassDemoType2
{
publicstaticvoidmain(String[]args)
{
inta=(int)3.14*5;//用括号加数据类型来实现强制转换
System.out.println("a="+a);
}
}
教材P16例2.3
publicclassConversion
{
publicstaticvoidmain(String[]args)
{
byteb;inti=266;b=(byte)i;
System.out.println("bytetointis"+""+b);
}
}
2.2变量和常量
*变量:
用字母命名(一般第一个单词的首字母为小写,第二个单词的首字母大写),必须定义之后才能使用;可以则定义的同时赋初值。
如:
inta,b=3,c=4;
doubled=3.14;
变量的命名规则
*常量:
若要将字母或者单词(一般全部用大写字母)定义为常量,需用final来声明。
例:
从键盘输入r的值,然后以此为半径的圆的面积和球的体积。
importjava.util.Scanner;//导入Scanner类
classDemoCircle
{
publicstaticvoidmain(String[]args)
{
finaldoublePAI=3.14159;
doubler,mj,tj;
System.out.println("请从键盘上输入圆的半径:
");
Scannersc=newScanner(System.in);//定义一个名叫sc的对象
r=sc.nextDouble();//使用对象的方法
mj=PAI*r*r;tj=4*PAI*r*r*r/3;
System.out.println("圆的面积为:
"+mj);
System.out.println("圆的体积为:
"+tj);
}
}
2.3运算符
2.3.1算术运算符
*自加++和自减--,特别注意运算符号在数的前面和后面的区别。
publicclassDemoAdd
{
publicstaticvoidmain(Stringargs[])
{
intx=1;
inta=++x;//x先增加1,然后赋值给a
intb=x++;//x先赋值给b,然后再增加1
System.out.println("a="+a);
System.out.println("b="+b);
System.out.println("x="+x);
}
}
2.3.1关系运算符
*返回true或false
*等于符号是==,不等于是!
=
2.3.1逻辑运算符
!
&&||
2.3.1条件运算符
inta=10,b=23
intmax=(a>b)?
a:
b;//满足条件为a,不满足条件为b
2.4程序控制语句
程序控制语句分为三类:
(1)条件语句(分支语句),包括if语句和switch语句;
(2)迭代语句(循环语句),包括for循环语句、while循环语句和do-while循环语句;(3)跳转语句,包括break语句、continue语句和return语句。
2.4.1条件语句
*单向分支(if)
importjava.util.Scanner;
publicclassDemoIf1
{
publicstaticvoidmain(String[]args)
{
System.out.println("输入一个学生成绩:
");
Scannersc=newScanner(System.in);
intiScore=sc.nextInt();//使用sc对象的方法
if(iScore<0||iScore>100)
System.out.print("你的输入有错误!
");
System.out.print("该学生得分为:
"+iScore+"谢谢使用!
");
}
}
*双向分支(if-else)
importjava.util.Scanner;
publicclassDemoIf2
{
publicstaticvoidmain(String[]args)
{
System.out.println("输入一个学生成绩:
");
Scannersc=newScanner(System.in);
intiScore=sc.nextInt();
if(iScore<60)
System.out.print("该学生得分为:
"+iScore+"不及格!
");
else
System.out.print("该学生得分为:
"+iScore+"及格了!
");;
}
}
*嵌套
importjava.util.Scanner;
publicclassDemoIf3
{
publicstaticvoidmain(String[]args)
{
System.out.println("输入一个学生成绩:
");
Scannersc=newScanner(System.in);
intiScore=sc.nextInt();
if(iScore<60)
System.out.print("该学生得分为:
"+iScore+"不及格!
");
else
if(iScore<75)
System.out.print("该学生得分为:
"+iScore+"及格!
");
else
if(iScore<90)
System.out.print("该学生得分为:
"+iScore+"良好!
");
else
System.out.print("该学生得分为:
"+iScore+"优秀!
");
}
}
*多向分支(switch)
importjava.util.Scanner;
publicclassDemoIf3
{
publicstaticvoidmain(String[]args)
{
System.out.println("输入一个学生成绩:
");
Scannersc=newScanner(System.in);
intiScore=sc.nextInt();
intc=iScore/10;
switch(c)
{case6:
System.out.print("该学生得分为:
"+iScore+"及格!
");
break;
case7:
if(iScore<75)
System.out.print("该学生得分为:
"+iScore+"及格!
");
else
System.out.print("该学生得分为:
"+iScore+"良好!
");
break;
case8:
System.out.print("该学生得分为:
"+iScore+"良好!
");
break;
case9:
System.out.print("该学生得分为:
"+iScore+"优秀!
");
break;
case10:
System.out.print("该学生得分为:
"+iScore+"优秀!
");
break;
default:
System.out.print("该学生得分为:
"+iScore+"不及格!
");}
}}
2.4.2循环语句
*确定的循环次数(for循环)
例:
输入一个正整数,计算出它的所有因子
importjava.util.*;//调入util包中的所有类,包括了scanner类
publicclassDemoFor1
{
publicstaticvoidmain(String[]args)
{
System.out.println("输入一个数:
");
Scannerscan=newScanner(System.in);
inta=scan.nextInt();
System.out.print(a+"的所有因子是:
");//注意print和println的区别
/*下面是循环体*/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 讲授 要点 基础
![提示](https://static.bingdoc.com/images/bang_tan.gif)