java的基础知识.doc_第1页
java的基础知识.doc_第2页
java的基础知识.doc_第3页
java的基础知识.doc_第4页
java的基础知识.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章 关于程序设计语言的学习 学习编程最好的方法之一就是阅读源代码; 学习编程的秘诀是:编程,编程,再编程; 不要放过任何一个看上去很简单的小编程问题他们往往并不那么简单,或者可以引伸出很多知识点; 看得懂的书,请仔细看;看不懂的书,请硬着头皮看; 别指望看第一遍书就能记住和掌握什么请看第二遍、第三遍; 经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去; 记录下在和别人交流时发现的自己忽视或不理解的知识点; 保存好你写过的所有的程序那是你最好的积累之一; 请不断的对自己写的程序提出更高的要求,哪怕你的程序版本号会变成Version 100.XX Java “一次编译 到处运行”JAVA开发平台Sun公司将Java的开发工具和运行环境所涉及的应用程序和相关文件放在一起,称为Java开发工具包,简称JDK. 根据所要开发的Java程序运行环境的不同提供了三种不同场合下的JDK版本: J2SE: Standard Edition针对桌面计算机开发(主要有Java Applet和Java Application应用程序 J2EE: Enterprise Edition用来开发企业应用的平台,基于组件技术的应用开发框架 J2ME: Mirco Edition针对嵌入式技术,用于手机等消费类电子产品第二章 Java编程基础一、JAVA基础知识 JAVA程序的类型 JAVA程序的组成 JAVA基本语法1.Java程序类型1)Java Application (Java应用程序) 应用程序从命令行上运行的程序,其主类为包含main方法的类。2)Java Applet (Java小程序) 小程序不是一类可以独立运行的程序,它的字节码文件必须嵌入到另一种语言HTML的文件中,并由负责解释HTML文件的WWW浏览器作其解释器。其主类是一个系统类Applet的子类。2.JAVA程序组成Java源程序是由类定义组成的, 每个程序中可以定义若干个类,但只有一个类是主类,(即包含有main方法的类或继承Applet的类)。主类是Java程序执行的入口点。3.Java程序基本语法(续)1)Java代码的写法 Java的代码必须放在类中,类定义不能嵌套;一个程序中可以有一个或多个类,但其中只能有一个public 类;源程序编写完毕,应该以主类名作为文件名,再加后缀.java存储。2) Java语句的分类 结构定义语句; 功能执行语句;必须以分号结束。3) Java语言的特点 对大小写敏感(java中的关键字均是小写字母,如:public private protected; class ; static ; int float long short ) Java是一种自由格式的语言 一条语句可以不放在一行书写,将语句中的每个单词用空格、回车换行符、tab制表符、()等分割,但是不可以将一个单词进行分割; 字符串作为一个单元,也不可以分行写。4) Java程序的注释注释的作用:说明程序代码的功能; 调试程序去掉某些语句。 / 用于注释一行 /* */ 多行注释 /* */ 专门用于生成Java程序文档说明:在/* */中不可以嵌套/* */, 可以嵌套/5) Java中的标识符 Java中的变量、方法、类、参数、包的名字,均为Java标识符。标识符的命名规则 标识符可由任意顺序的大小写字母、数字、下划线(_)、美元符号($)组成,开头字母可以是字母、数字、下划线和美元符号,但不能以数字开头,也不可以为关键字。 合法的标识符identifier userName User_Name_sysval $change A98_23 _abc 非法的标识符2mail 和3_1数字开头 room# 无# class 为关键字 A- 4不是下划线 the 没有此外1.类名和接口名首字母大写,若标识符由多个单词组成,则中间单词首字母大写,其余字母小写,如StudentInformation2.变量名和方法名首字母小写,若标识符由多个单词组成,则中间单词首字母大写其余字母小写,如 studentName3.包名采用全小写形式,如java.lang.math4.常量名采取全大写形式,如由多个单词组成则用下划线分隔,如MAX_COUNT4. Java输入输入:需要导入包java.util.Scanner Scanner sc = new Scanner (System.in); String str=sc.next(); int i=sc.nextInt(); float f=sc.nextFloat(); double d=sc.nextDouble(); boolean b=sc.nextBoolean();Java输入(续)Scanner输入的缺点:类似c+中cin输入,以空格、换行等分隔符作为数据输入的结束,当输入的字符串中包含这些分隔符时不能得到正确的输入。 需要导入包:java.io 需要处理异常 InputStreamReader input=new InputStreamReader(System.in); BufferedReader buf= new BufferedReader(input); String inputStr=buf.readLine(); int i = Integer.parseInt(inputStr);5.Java输出System.out.print();System.out.println();可以输出各种类型的常量、变量。二、常量与变量1. Java基本数据类型基本类型包括: 整型 byte,short,int和long 浮点型 float和double 字符型 char 布尔型 boolean基本数据类型 数据类型名占用内存空间数值范围缺省值说明byte1字节(-128)1270整型short2字节(-32768)327670int4字节(-2147483648)21474836470long8字节(-9223372036854775808)92233720368547758070float4字节琰茞0.0F浮点型double8字节琰茞0.0Dchar2字节琰茞u 0000字符型boolean1字节true或falsefalse布尔型缺省值:指默认情况下的值,布尔类型默认状态下是false,2. 常量 复习:在C+中,定义常变量时加上关键词const,或如const float Pi=3.14;或#define Pi 3.14;注意const int a;a=3; 是错误的在java中,常量是指在程序运行过程中其值不变的量。定义常量的方法有两种: (1)在定义变量的类型前面加final关键字,并同时进行初始化,如下所示:final int aFinalVar=0;final double PI=3.14159;(建议此方式) (2)在定义变量的类型前面加final关键字,不进行初始化。通过另外的语句进行赋值。如下所示:final int aFinalVar aFinalVar=0;常量与变量之间最根本的区别是:常量在经过定义并给它一个值之后,不能再对它进行修改。而变量则无此限制。 对于常量a,进行如下的操作是错误的: final int a=1; . a=2;X 而对于变量a,如下这段代码则是正确的。 int a=1; a=2;1)整型常量 没有小数部分的数据类型 整型常量默认情况下的类型为int. 若要表示为long型,在常量后面加后缀L或l (小写字母) Java各整数类型有固定的表示范围和字段长度,而不受具体操作系统的影响,以保证Java程序的可移植性 。 (整型数有三种表示方式) 十进制:25,-58,0 八进制:015,056 十六进制: 0xf, 0x12 2)浮点型常量 浮点型是带有小数部分的数据类型,包括两种不同的数据类型:float和double。 float类型的变量占用4个字节(32位) double类型的数据则需要8个字节(64位)内存。 在许多程序中,就其表示的数值范围而言,使用float类型来存储浮点数已经足够了。 浮点数据有两种表示形式 十进制数形式,必须含有小数点,例如:3.14 314.0 .314 科学记数法形式,如3.14e2 3.14E-12 Java浮点数据默认为double型,如要声明一个常量为float型,则需在数字后面加f或F,如: double d = 3.14;float f = 3.14f;3)布尔型常量(boolean) 布尔数据类型用于表达两个逻辑状态之一的值:true(真)或false(假)。 布尔型数据只有两个值true和false,且它们不对应于任何整数值。 4)字符型常量(char) 字符型数据类型用于存放单个字符,每个字符占用2个字节(16位)区别C+中的字符型常量,占1个字节的存储空间。 将一个字符放到一个字符变量中,实际上并不是把该字符本身放到内存单元中去,而是将该字符的相应的Unicode代码放到存储单元中。char c1=t; char c2=3; char基于Unicode编码,u前缀标志着这是一个Unicode值。例如:u0061代表字符a。区别C+中的字符常量Char c; c=a;1) 用单引号括起来的一个字符就是字符常量2) 字符常量只包括一个字符 AB是错误的;3) 字符常量区分大小写;4) 是定界符,不属于字符常量的一部分; 转义字符表示在程序中一些无法正常显示的特殊字符(见21页) java C+ 字符形式含义含义 a 响铃 b 退格 退格 n 换行 换行 t 水平制表 水平制表 r 回车 回车 f 换页 换页 v 竖向跳格 反斜杠字符 反斜杠字符 单引号 单引号 双引号 双引号 0 空字符 add 1-3位八进制数 1-3位八进制数 xhh 1-2位十六进制数5)字符串常量 字符型数据类型用于存放单个字符,每个字符占用2个字节(16位)的存储空间。 将一个字符放到一个字符变量中,实际上并不是把该字符本身放到内存单元中去,而是将该字符的相应的Unicode代码放到存储单元中。char c1=t; char c2=3; char基于Unicode编码,u前缀标志着这是一个Unicode值。例如:u0061代表字符a。 转义字符表示在程序中一些无法正常显示的特殊字符6)null常量 表示对象的引用为空,其值用null表示。2变量 (属性)变量是用来存放指定类型的数据,其值在程序运行过程中是可变的。 在使用Java中的每个变量之前,都必须对它进行声明,(即先声明后使用的原则)。变量的声明形式如下: 类型 变量名;如 int a; double x,y,z; 变量声明包括指明变量的数据类型、变量名和作用域其中数据类型说明了这个变量能存放什么样的数据。变量名是用来标识该变量的,我们存取变量的内容(变量的值)都是通过变量名来实现的。1)变量的数据类型a)基本数据类型 数值型(整数类型、浮点类型) 字符型 布尔型b)引用数据类型 类、 接口(interface)、数组2)变量的初始化(同C+) 赋予变量一个初值,称为变量的初始化。可在定义变量的同时进行变量的初始化,如:int anIntVar=1; char aCharVar=A;float aFloatVar=1.23f; boolean aBooleanVar=true;也可定义变量后再单独初始化,如int anIntVar;char aCharVar;float aFloatVar;boolean aBooleanVar;anIntVar=1;aCharVar =A;aFloatVar=1.23f; aBooleanVar=true;例子public class Assign public static void main (String args) int x; int y; /定义x,y两个整型变量 float z = 1.234f ; /指定变量z为float型,且赋初值为1.234 double w = 1.234 ; /指定变量w为double型,且赋初值为1.234 boolean flag = true ; /指定变量flag为boolean型,且赋初值为true char c ; /定义字符型变量c String str ; /定义字符串变量str String str1 = Hi ; /指定变量str1为String型,且赋初值为Hic = A ; /给字符型变量c赋值Astr = bye ; /给字符串变量str赋值byex = 12 ; /给整型变量x赋值为12y = x; /给整型变量y赋值为12 3)变量类型转换复习C+: 运算时的转换doublefloatint(long)short ,char类型转换方式在使用基本数据类型时要注意类型所占字节数及有效取值范围!(见第4页)分析以下语句:byte b = 129; float f = 3.5; 应为f=3.5f;不同类型数据间的优先关系如下:低-高byte,short,char- int - long - float - double 类型自动提升:byte,short,char -int 高级数据类型要转换成低级数据类型,需要用到强制类型转换。其一般形式为: (类型名)(表达式) 一般使用强制类型转换可能会导致数值溢出或精度的下降,应尽量避免。类型转换方式 短类型 长类型:默认 byte b = 123; int x = b; 长类型 短类型:强制 int x = 266; byte b = (byte)x; System.out.println(b); / result ?类型转换实例分析分析下列两条语句输出的结果: System.out.println(a+1); System.out.println(“ ”+a+1);4)变量的作用域 变量要先定义,后使用,但不是在变量定义后的语句一直都可以使用前面定义的变量。 变量的作用域:变量的使用范围。 假定在某代码段中能够使用一特定变量,则此段代码即是该变量的作用域。 在类中声明的类成员变量,可在该类的各个成员方法中使用; 在某个方法体中或参数表中声明的变量,只能在该方法体中使用; 在某个语句块中声明的变量,只能在该语句块中使用。public class VariableLifeTimepublic static void main(String args)int sum=0;int A=10;for(int x=1;x等 三元运算符:?: 基本的运算符按功能划分,有下面几类:1、算术运算符: +,*,/, %,+,- 例:3+2; a-b; i+; -i; 说明!整数相除与小数相除; 分析:int x = 5, y; y = x/2; float f = x/2; f = (float)x/2; !取余运算,模数为负,其负号可以忽略 y = x%2; y = x%-2; y 的值均为1运算符思考:int x = 3500; x = x/1000*1000 ; result?算术运算符的应用技巧:产品装箱,每箱装9件,共x件产品,用公式表示需要箱子的个数。(X+8)/9 让变量x 的值在09之间循环变化,写出程序代码。 X%10运算符思考:int x = 3500; x = x/1000*1000 ; result?为30002、关系(比较)运算符: ,=,3; I=0; n!=-1; =易误写为= 切记!切记! 关系运算的结果为boolean类型。例子:a=3,b=4,c=5;则abb是ture,与数字3无法比较在C+中上面的例子不报错3、布尔逻辑运算符: !,&(短路与),| (短路或),&与 , | 或。 !只能操作boolean型数据: if (!x右移,&,|,。(了解) 例:a=10011101; b=00111001;则有如下结果: a3 =11110011;后三位100去掉,前面补111a3=00010011; a&b=00011001; a|b=10111101;a=01100010; ab=10100100相异为一,相同为0运算符位运算说明:a. 为直观看到数据位操作的结果,可以用函数Integer.toHexString()将十进制数转换为十六进制形式;b.位运算适用的数据类型:byte,short,int,char,longc .对低于int型操作数,先转化为int型再进行移

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论