Java基础知识
一,几个问题
1.什么是面向过程的程序设计的特点?
面向过程(Procedure Oriented)是一种以过程为中心的编程思想,面向过程也可称之为面向记录编程思想,他们不支持丰富的面向对象特性(比如继承、多态),并且它们不允许混合持久化状态和域逻辑。就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
2.什么是面向对象的程序设计的特点?
面向对象(Object Oriented)是软件开发方法,面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。
3.什么是类和对象?
类(class)和对象(object)是两种以计算机为载体的计算机语言的合称。对象是对客观事物的抽象,类是对对象的抽象。类是一种抽象的数据类型。它们的关系是,对象是类的实例,类是对象的模板。
4.什么叫引用变量?
变量的实质是一小块内存单元。这一小块内存里存储着变量的值,比如int a = 1;a就是变量的命名,1就是变量的值。而当变量指向一个对象时,这个变量就被称为引用变量比如A a =new A();a就是引用变量,它指向了一个A对象,也可以说它引用了一个A对象。我们通过操纵这个a来操作A对象。 此时,变量a的值为它所引用对象的地址。
5.什么叫OOP的封装性、抽象性、继承性、多态性?
封装:就是把抽象的数据和对数据进行的操作封装在一起,数据被保存在内部,程序的其他部分只有通过被授权的操作(成员方法)才能对数据进行操作。
抽象:我们在定义一个类的时候,实际上就是把一类事物的公有的属性和行为提取出来,形成一个物理模型,这种研究问题的方法称为抽象。
继承:继承可以解决代码复用问题,让我们编程更加靠近人类的思维,当多个类存在相同的属性(变量)和方法时,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,所有的子类不需要重新定义这些属性和方法。
多态:所谓多态,就是指一个引用(类型)在不同情况下的多种状态,你也可以这样理解:多态是指通过指向父类的指针,来调用在不同子类中实现的方法。
二,基本认识
·
Java语言特点: 简单性、 面向对象、 平台无关、可移植、解释型、高性能、动态性、 可靠、安全、 多线程、 分布式处理等。
Java类库: Java类库也称作Java API (Application Programming Interface)。 在学习Java时,实际上学习内容分成两部分。 第一部分是Java语言本身,以便编写自己的类; 第二部分学会扩展Java类库的类。
Java中的包:Java为编写应用程序提供了丰富的预定义类库,这些预定义类库按相关类的范畴进行了分组,这些分组被称作包(package)
Java版本:
JDK针对不同的的应用,提供不同的服务,分成了JSE、JEE、JME三种类型的版本。 JSE(Java Standard Edition) ,开发标准的PC应用。 JEE(Java Enterprise Edition) ,开发企业级的应用服务。 JME(Java Micro edtion),开发移动设备、嵌入式设备上的应用。
Java程序有四种基本类型: 应用程序(application)、 小应用程序(applet)、 Servlet bean。 这四种类型程序的区别很小,一种类型的程序,都要运行在Java虚拟机JVM上。
案例展示:
1.application
package ch1;//自定义的包名 public class SecondApp { public static void main(String args[]) { System.out.printf("You %s\n%s\n","print","Two lines!"); System.out.println("This is the first Java Application!!!"); } }
2.applet
//绘制字符串 package ch2; import java.awt.Graphics; import javax.swing.JApplet; public class AppletTextLine extends JApplet{ public void paint( Graphics g ) { super.paint(g); g.drawLine(15, 10, 180, 10); g.drawLine(15, 30, 180, 30); g.drawString("欢迎进入applet程序设计",30,23); } }
//Subtraction package ch2; import javax.swing.JOptionPane; //导入类JOptionPane public class InputDialog { public static void main( String[] args ) { String firstNumber; String secondNumber; int number1; int number2; int sub; firstNumber = JOptionPane.showInputDialog( "输入第一个数 " ); secondNumber = JOptionPane.showInputDialog("输入第二个数 "); number1 = Integer.parseInt( firstNumber ); number2 = Integer.parseInt( secondNumber ); sub = number1 -number2; JOptionPane.showMessageDialog( null,"结果是 " + sub, "结果",JOptionPane.PLAIN_MESSAGE ); System.exit( 0 ); } }
package ch2; import java.util.Scanner; public class ScannerUsing { public static void main(String[] args ) { int a,b,sum; Scanner input = new Scanner(System.in); a = input.nextInt(); b = input.nextInt(); System.out.printf("%d\n%d\n%d",a,b,sum= a+b); } }
3.Servlet
4.bean
持续更新中。。。
//FileStructure.java
package ch3; //包名
import javax.swing.JOptionPane; //导入类JOptionPane
public class FileStructure {
public static void main( String args[] )
{
JOptionPane.showMessageDialog( null, "欢迎你学习Java程序基础!");
System.exit( 0 ); // 终止应用程序}
}
}
显示结果
java字符集:大小写字母,数字,特殊符号,和C语言没有发现有什么差别。
关键字有:
abstract break byte boolean catch case class char continue default double
do else extends false final float for finally final if import implements int interface
instanceof long length native new null package private public protected return
switch synchronized short static super try true this throw throws thread safe
transient void while 比C语言多了许多
Java标识符 : 以字母、下划线(_)或美元符$开始 其他的要求和C语言的一样。
Java数据类型:
基本数据类型:
整数:byte,short,int,long
浮点类型: float,double
字符类型: char
布尔类型: boolean
引用数据类型:
类类型:
数组:
接口类型:interface
常量声明:
final 数据类型 常量名=缺省值;
运算符:
比C语言多了 >>>运算符号,表示无符号右移(位运算):
ppt44页