Java核心逻辑第1章
第1章Java 语言基础知识
2
目录
1.1 Java语言与面向对象的程序设计 1.2 Java5和Java6的新特色 1.3 Java程序概述 1.4 基本数据类型与表达式 1.5 数组的概念 1.6 数组的创建和引用 1.7 本章小结
3
1.1 Java语言与面向对象的程序设计
• Java语言是一个面向对象的程序设计语言。 • 除了面向对象的特点以外,Java语言还在安全性、
19
1.3.1 Java开发环境(续)
• Java 平台
Java 程序 Java APIs
Java 虚拟机
计算机系统
• Java APIs (应用程序接口)
▫ 经过编译的,可在程序中使用的Java代码标准库。
• Java VM(虚拟机)
▫ Java 程序由Java虚拟机程序执行(或解释执行)。
1.3 Java程序概述
}
1.1 Java语言与面向对象的程序设计
8
1.1.1 面向对象的程序设计思想(续)
• 面向对象技术给软件发展带来的益处
▫ 可重用性 ▫ 可靠性
• 面向对象语言的基本特征
▫ 抽象和封装 ▫ 继承性 ▫ 多态性
1.1 Java语言与面向对象的程序设计
9
1.1.2 Java语言的特点
• 面向对象 • 安全性
▫ Servlet用到的包在J2EE的API中能找到 ▫ 所有的servlet都必须实现Servlet接口
1.3 Java程序概述
36
1.3.4 Servlet举例(续)
——例1-3
程序首先构建HttpServletRequest,并建立一个数据表 单;点击submit按钮后,servlet再次被调用,并产生一个 含有表单的网页。
Java章节重点回顾(第一部分)
辨别你要用的是哪一个类,系统会默认为裸体类。
Import: 简单方法,直接在需要用到包里面的类时,直接在这个类的首行
把需要引用的类全名写出来。如: import com.bjsxt.java.Cat; 或者:import com.bjsxt.java.*。 包括需要引用的类文件名
(.class)
Байду номын сангаас
类的概念: 类是用于描述同一类型的对象的一个抽象的概念,类中定 义了这一类对象所因具有的静态和动态属性。
属性=成员变量 实例=对象 方法=函数
关联关系:有那么点关联的关系。是最弱的一种关系。 继承关系:**是一种**。 聚合关系(聚集关系、组合关系):一个整体和一个部分的关系。**是 **的一部分。 实现关系:父类与子类之间的关系。
包: 为便于管理大型软件系统中数目众多的类,解决类的命名冲突问 题,而引入的一种机制。提供类的多重类命名空间。
Package 语句作为JAVA源文件的第一条语句, 指明该文件中定义的类 所在的包。(若缺省该语句,则指定为无名包)
格式: packeage pkg1[.pkg2[.pk3....]];
Package: 如果要把一个类放到包里面,第一句话写package,package后面
引用的基本概念:Java语言中除基本类型之外的变量类型都称之为引 用类型。Java中的对象是通过引用对其操作的。
通过引用调这个对象的方法,才能永远有效的对这个对象产生作用。
方法的返回值是存在一个临时的区域里面。 所有的方法来说是针对某一个对象来调用(使用这个对象的引用加上 点)。 弄清楚了内存 = 弄清了一切
This 是对当前对象的引用。 当一个参数你不能确定它指的是哪一个变量的时候,找离它最近的声 明(就近声明原则)。
java语言第1章
Mankind person1=new Mankind(); Mankind person2 =new Mankind(); =“张三”; person1.sex=1; person1.age=21; person1.song(“两只蝴蝶”); person1.dance(“拉丁舞”); =“李静” person2.sex=0; person2.age=20; person2. song(“丁香花”); person2. dance(“华尔兹”);
只有将创建的实例赋值给引用变量,这两个实 例才能象上述那样,可以使用各自的属性和方法,来
描述各自具体的特点,显示两个对象的具体差异。
下面是可以运行调试的java程序
public class Mankind {
String name; int sex; int age; void song(String x) { System.out.println(“My song is x”); } void dance(String x) { System.out.println(“My dance name is ”+x); }
=“张三”; person1.sex=1; person1.age=21; person1.song(“两只蝴蝶”); person1.dance(“拉丁舞”); 兹”);
=“李静” person2.sex=0; person2.age=20; person2. song(“丁香花”); person2. dance(“华尔
例题:Mankind.java
类
底片
对象(或实例)
洗好的照片
橡皮图章 建房方案
印好的图案 建好的房子
5.类的实例变量与类的实例的关系
JAVA编程思想笔记
客户/服务器计算技术大概占了所有程序设计行为的一半。 2、Web 就是一台巨型服务器 Web 发展过程:1、简单单向过程(对服务器产生一个请求,它返回一个文件,浏览器软 件根据本地机器的格式解读文件);2、客户可以将信息反馈给服务器;3、客户机执行运算任 务 客户端浏览器运行程序的能力,这被称为“客户端编程” 1.13.2 客户端编程 Web 最初的“服务器-浏览器”设计是为了能够提供交互性的内容,但是交互性完全由服 务器提供。服务器产生静态页面,提供给只能解释并显示它们的客户端浏览器。HTML 包含有 简单的数据收集机制:文本输入框、复选框、单选框、列表和下拉式列表以及按钮——它只 能被编程来实现复位表单上的数据或提交表单上的数据给服务器。这种提动作通过所有的 Web 服务器都提供的通用网关接口(common gateway interface,CGI)传递。提交内容会告诉 CGI 应该如何处理它。 可以通过 CGI 做任何事情。CGI 程序复杂而难以维护,并同时响应时间过长的问题。响 应时间依赖于所必须发送的数据量的大小,以及服务器和 Internet 的负载。 问题的解决方法就是客户端编程。意味着:Web 浏览器能用来执行任何它可以完成的工 作,使得返回给用户的结果各加迅捷,而且使得网站更加具有交互性。 客户端编程的问题是:它与通常意义上的编程十分不同,参数几乎相同,而平台却不同。 Web 浏览器就像一个功能受限的操作系统。 1、插件(plug-in) 插件的价值在于:它允许专家级的程序员不需经过浏览器生产厂家的许可,就可以开发 某种语言的扩展,并将它们添加到服务器中。提供了一个“后门”,使得可以创建新的客户端 编程语言。 2、脚本语言(scripting language) 通过使用脚本语言,可以将客户端程序的源代码直接嵌入到 HTML 页面中,解释这种语言 的插件在 HTML 页面被显示时自动激活。优点是易于理解,因为它只是作为 HTML 页面一部分 的简单文本,当服务器收到要获取该页面的请求时,它们可以被快速加载。缺点是代码会暴 露给任何人去浏览(或窃取)。 JavaScript 语言优缺点。用于创建更丰富、更具有交互性的图形化用户界面(graphic user interface,GUI)。 3、Java Java 是通过 applet 以及使用 Java Web Start 来进行客户端编程。 4、备选方案 Macromedia 的 Flex,允许创建基于 Flash 的与 applet 相当的应用。ActionScript 语言 是基于 ECMAScript 的,Flex 使得在编程时无需担心浏览器的相关性,因此远比 JavaScript 要吸引人得多。值得考虑的备选方案。 5、.NET 和 C# 它要求客户端必须运行 Windows 平台。 6、Internet 和 Intranet
chap1Java与面向对象程序设计
2. 面向对象的设计 形成OOD模型 • 在OOA模型基础上引入界面管理、任务管理和
数据管理三部分内容。
• 界面管理负责整个系统的人机界面的设计
• 任务管理负责处理并行操作之类的系统资源管 理功能的工作
• 数据管理负责设计系统与数据库的接口。 3. 面向对象的实现 • 选择一种合适的编程语言 • 实现各个类 • 集成 • 维护
对象的操作1 对象的操作2
打开
关闭
对象的操作n
对象的状态 静态属性 (变量)
颜色大小开 启
对象的操作3 换台
对象的操作
……
方法一方面把对象内部的变量包裹封 装保护起来,一方面与外部交互
• 对象的标志,一般是指对象名,用于区别同一类 的各个对象
• 由于对象是类的实例化,因此在程序中通常是先 定义类即定义同类对象的公共属性包括变量和方 法,然后再用对象名创建类的实例对象
现实世界
计算机世界 对象
映射
实体
抽象 实例化
抽象 概念世界
类
抽象数据向对象技术的核心概念之一。如上图所示, 对象就是现实世界中某个具体的物理实体在计算机 中的映射和体现。对象拥有各自的静态属性和相关 的操作。比如,现实世界中的电视机是一个实体, 有品牌、尺寸、颜色、开关、控制器等。
,最终形成一个广泛联系的可理解扩充维护更接近 问题本来面目的动态对象模型系统
• 对象:是现实世界的实体或概念在计算机中 的抽象表示。用来模拟组成或影响现实世界 问题的一个或一组因素。(下一节详细介绍)
• 面向对象程序设计的优点:
1. 对数据的封装提高了程序的可复用和可维护性 封 2. 由于封装,保护私有数据
第三阶段 面向对象的实现
进行具体的编程、 模块连接及测试
第一章-Java基础笔记
第⼀章-Java基础笔记Java语⾔的概述Java是⼀门⾯向对象的语⾔,Java相对于C语⾔来说学习相对简单,它主要的三⼤特点就是:封装、继承、多态,并且只需要进⾏⼀次源码编译,在任何装有对应版本的JVM 虚拟机环境的计算机下运⾏;Java的三个版本JavaSE主要⽤于桌⾯应⽤的开发JavaME主要⽤于嵌⼊式系统的开发JavaEE主要⽤于企业级的WEB端开发和服务器开发Java环境介绍JDK - 提供了开发者的⼀些⼯具包,并包含了[JRE和JVM]JRE - Java的运⾏环境,提供了运⾏时需要的类库,并包含了[JVM]JVM - Java的虚拟⼀块内存区域,⽤于执⾏Java的代码Java跨平台交互图Java代码的运⾏机制后缀点java的⽂件会通过 javac命令进⾏⽂件的编译成⼀个能够被JVM读懂的字节码⽂件,通过加载、校验、初始化的过程都内存中,通过JVM寄存器读取⽂件中的⾏号,进⾏执⾏相关代码;注释注释是为了在编写程序时对某个类、⽅法或是⼀段代码进⾏功能作⽤的说明,它不会被编译成代码执⾏,只是起到⼀个描述作⽤,便于对代码的理解;Java中的注释分为3种:单⾏注释://多⾏注释:/* */⽂档注释:/** */对注解的内容⽣成JavaDoc⽂档DOS命令进⼊到要⽣成Doc⽂档的层级⽬录,执⾏:javadoc -encoding UTF-8 -charset UTF-8 ⽂件名称/*** @Author JavaCat7* @Description 这是⼀个⽂档注释*/public class Demo{/*** @Parameter args 对参数的描述* @Description 这是⼀个⽂档注释*/public static void main(String[] args){//这是⼀个单⾏注释System.out.println("Hello Java");/*这是多⾏注释这是多⾏注释*/}}标识符每个⼈都有名字,⽽标识符是为了给代码中的类、接⼝、⽅法、变量取⼀个名字,但它们的明⽩是有着严格规范的;规范:每个⼈都有名字,⽽标识符是为了给代码中的类、接⼝、⽅法、变量取⼀个名字,但它们的明⽩是有着严格规范的;**规范:**1.严格区分⼤⼩写;2.开头可以是$ 或 _ 或 A-Z a-z的字母组成,也可以汉字(不会这么⼲);3.可以由数字、字母或者是 $ 或 _ 组成,但数字不能⽤于开始;4.不可以包含特殊字符;5.不能以Java语⾔中的保留字作为命名;6.类名采取⼤驼峰命名法;7.⽅法和变量采取⼩驼峰命名法;8.常量采取⼤学加_进⾏命名;基本数据类型Java是强类型计算机语⾔,所有的变量必须先定义才能使⽤,对于强类型⽽⾔主要就是指的数据安全,强类型的语⾔有很多,⽐如C、C++、python...计算机存储单位换算bit(位) - 是计算内部数据存储的最⼩单元,通过8个⼆进制位进⾏表⽰;byte(字节) - 是计算机中数据处理的基本单位,通常使⽤B来表⽰;8个bit(位) = 1B(字节)1024个B(字节) = 1KB1024个KB = 1MB1024个MB = 1GB....//整数类型byte a = 1;short b = 2;int c = 3;long d = 4L;//⼩数类型float e = 5.0f;duble f = 6.0d;//字符类型char g = 'a';//布尔类型boolean h = true;boolean i = false;数据类型的转换各数值相关数据类型⽀持类型上的转换,既可以把排序级别较低的类型转换成排序级别较⼤的类型,也可以把排序级别较⾼的类型转换成级别较低的类型(但会造成数据的丢失);数据的转换强制类型转换 - 在要转换的变量前使⽤:要转换的对应数据类型如- (int)⾃动类型转换 - 在不同的数值数据类型运算中,它会以排序级别较⾼的数据类型作为基础⾃动转换int number1 = 128;//正常byte的值是 -128 - 127,强制把int类型转换成byte会造成数据的不精确byte number2 = (byte)number1;int number3 = 519;float number4 = 1.0f;//在运算过程中因为float的排序级别⽐int⾼,那么它会⾃动转换成float类型在完成运算float number5 = number3 + number4;变量,静态变量,常量及作⽤域变量是指可以变化的值,通过数据类型和变量名可以在内存中申请⼀块存储的空间,通过内存的引⽤地址可以设置改变内存中存储的值或者修改值,所有的变量必须先赋值才可以使⽤;成员变量成员变量是指在类中与⽅法同级的位置中定义的成员变量,在该位置定义的变量可以不⽤设置值就可以使⽤,因为它会对类进⾏初始化,并完成初始化赋值,就算不给他们赋值也会有默认的初始值,他们的默认初始值都是最⼩的单元;作⽤域成员位置的变量,可以在⾮静态⽅法的所有位置使⽤,如果要在静态⽅法中使⽤,需要先创建对象;public class Variable{int a; //默认为:0float b; //默认为:0.0char c; //默认为:''boolean d; //默认为:false}局部变量局部变量是指在⽅法内部定义的变量,必须要先完成初始化后,才可以被使⽤;作⽤域局部位置的变量,外部⽆法使⽤,只能在⽅法内部使⽤,可以和外部的变量名称相同;public class Variable{int number;public void method(){int number = 3;//可以和成员位置的变量名称相同}}静态变量静态变量是指被static关键字修饰的变量,被修饰的变量⼜称为类变量;作⽤域静态变量可以作⽤域与所有⽅法中,静态变量只能定义在类的成员位置;public class Variable{static int number ;public static void main(String[] arags){System.out.println(number);}public void method(){System.out.println(numbe);}}常量常量是指不能被改变的值,它在创建到成员位置必须要先完成赋值,⼀旦被创建它的值是不允许被更改的;作⽤域它的作⽤域和成员变量相同public class Variable{final int NUMBER = 3.1415926;}静态常量静态常量是指从属于类的常量,在完成初始化以后是不可以被修改的,并且被public所进⾏修饰;作⽤域它的作⽤域和静态变量相同运算符算术运算符int a = 5;int b = 2;int number = a + b; //number = 7;int number = b - a; //number = 3;int number = a * b; //number = 10;int number = a / b; //number = 2,只取整数;double number = a / (double)b; //number = 2.5int number = a % b; //number = 1;⾃增⾃减运算符int a = 1;int b;b = a++; //b = 1; 先把a的值赋值给b,后a进⾏ +1 操作;b = a--; //b = 2; a前⾯进⾏了⾃增那么就是2,先把2赋值给b,然后进⾏ -1 操作;b = ++a; //b = 2; 前⾯a进⾏了⾃减那么就是1,先对a进⾏⾃增加1,然后在赋值给b;b = --a; //b = 1; 前⾯a是2,先对a进⾏⾃减1,在赋值给b;赋值运算符int a = 5;//把 5 赋值给 a;int b = 2;//把 2 赋值给 b;a += b; // a = 7(a+b的结果在赋值给a);a -= b; // a = 3;a *= b; // a = 10;a /= b; // a = 2;a %= b; // a = 1;关系运算符int a = 5;int b = 2;a > b; //truea < b; //falsea >= b; //falsea <= b; //truea == b; //falsea != b; //true逻辑运算符boolean a = true;boolean b = false;a &&b = false;//都true则true,第⼀个条件为false就不会在看第⼆个条件,直接返回falsea ||b = true;//⼀个条件为true则true,第⼀个条件为tre就不看第⼆个条件,直接返回true! a = false;//取反a &b = false;//2个条件都要执⾏a |b = true;三元运算符int a = 5;int b = 5;a ==b ? "等于":"不等于"; //为true返回第⼀个,为false返回第⼆个流程控制语句If语句if语句就是判断条件是否成⽴,成⽴就执⾏if中的代码,不成⽴就不进⼊;boolean flag = true;if(flag){System.out.println("...");}if...else语句if...else语句就是根据判断的条件是否成⽴,成⽴⾛if语句,不成⽴⾛else语句;boolean flag = true;if(flag){System.out.println("成⽴");}else{System.out.println("不成⽴");}if...else if语句if...else if⽀持多条件的判断,只会进⼊⼀个匹配的条件;boolean flag = true;boolean fail = false;if(flag){System.out.println("条件匹配");}else if(fail){System.out.println("条件匹配");}else{System.out.println("条件都不匹配");}switch条件控制语句witch语句从JDK1.7开始可以⽀持匹配:String字符串;注意事项:每个case 后⾯必须跟⼀个数值常量或字符串常量⽤于匹配;匹配的语句后⾯需要加上break关键字,防⽌case穿透;String week = "星期⼀";switch(week){case "星期⼀":System.out.println("今天是星期⼀");break;case "星期⼆":System.out.println("今天是星期⼆");break;case "星期三":System.out.println("今天是星期⼆");break;default:System.out.println("今天星期⼏都不是");}循环控制语句for循环语句for(初始值,条件表达式,更新)for(int i = 1 ; i <= 10 ; i++){System.out.println(i);}增强for循环for(接收类型的变量,表达式)int [] arrays = {1,2,3,4,5,6,7,8,9,10};for(int i : arrays){System.out.println(arrays);}while循环语句while(条件表达式)int number = 1;while(number <= 100){System.out.println(number);number ++;}do...while循环语句do{先把语句执⾏⼀遍}while(条件表达式);boolean flag = true;do{System.out.println("先执⾏⼀遍");flag = false;}while(flag);break和continue关键字break关键字结束循环的意思;for(int i = 1; i <= 100; i++){if(i == 10){System.out.println("打印10后结束循环");break;}}continue关键字跳过当前循环,进⼊下⼀次循环;for(int i = 1 ; i <= 10; i ++){if(i % 2 == 1){continue;}System.out.println("打印:"+i);}⽅法概述:⽅法就相当于使⽤多⾏代码进⾏组合去实现的⼀个功能⽚段,对代码进⾏封装利⽤,可实现多次调⽤;⽅法的定义修饰符返回值⽅法名称(形参形参名称){⽅法体}public class Function{public static void main(String[] arags){}public void method1(){}public void method2(String name,int age){}public static void method3(){}public int method03(){int a = 3;return a;}public int method04(int a,int b){if(a == b){System.out.println(a + "和" + b + "相等");return -1;}return a > b ? a : b;}}⽅法的重载⽅法的重载是指⽅法名称相同,传递的参数类型不同,个数不同,顺序不同与返回值⽆关;这样的⽅法被称为⽅法的重载;public class Function{public int max(int a,int b) {return a > b ? a : b;}public double max(double a,double b){return a > b ? a : b;}}形参和实参形参是指在()内部的参数,实参是指被真实传递的参数;public class Function{public static vid main(String[] args){Function function = new Function();function.max(3,5);}public int max(int a,int b) {return a > b ? a : b;}}可变参数在⽅法的()中我们有时候不知道要传递多少参数,那么我们可以传递⼀个数据类型紧跟后⾯加上...来表⽰;但需要注意的是⼀个⽅法中指允许⼀个可变参,如果有其他类型的参数,那么可变参数需要写在最后⾯;可变参数本质上就是⼀个数组;public class Function{public void method(String name,int... numbers){for(int num : numbers){System.out.println(num);}}}递归递归的本质就是⾃⼰调⽤⾃⼰,它可以解决⼀些业务,但效率和开销较⼤,对⼀些⽐较⼩的运算可以使⽤;//递归求3的阶乘public class Founction{public static void main(String[] args){}public int founction(int number){int result = 1;if(number == result){return result;}return number * founction(number - 1);}}数组数组就是⼀组数据的集合,Java中的数组必须存储和数据类型相符合的值,不允许与定义的数据类型不匹配;⼀旦数组被创建出来,它的长度就不允许被改变,数组有下标(索引)的概念,都是从0开始,如果操作的数据超过数组的长度那么就会报出下标索引越界异常[ IndexOutofBoundsException ];数组的定义int[] array = new int[3];int array[] = new int[3];int array[] = {1,2,3};数组的内存模型图数组的遍历⽅式int[] arr = new int[10];//⽅式⼀for (int i = 0; i < arr.length ; i ++) {System.out.println(arr[i]);}//⽅式⼆for (int num : arr) {System.out.println(num);}⼆维数组int[][] arr = new int[3][2];String[][] strArr = {{"hello","hello"},{"hi","hi","hi",{"java","java","java","java"}}Arrays⼯具类Arrays数组的⼯具类,是jdk已经帮我们提供好的⼀套数据⼯具类,⽅便我们对数据相关进⾏⼀些操作;int[] arr = {3,51,1,33,82,22,55,53};Arrays.toString(arr);//把数组变成⼀个字符串Arrays.sort(arr);//对数组内容进⾏升序排列Arrays.fill(arr,0);//把数组的内容全部进⾏替换为0常见算法冒泡排序public static int[] arr = new int[]{5, 2, 7, 4, 6, 9, 8, 13, 19, 11, 17, 15};//冒泡排序算法public static void popArithmetic(int[] arr) {//⽐较的轮数是数组长度-1for (int i = 0; i < arr.length - 1; i++) {//每次⽐较⼀轮,需要减少1次⽐较的次数for (int j = 0; j < arr.length - i - 1; j++) {//如果前⾯的数据⽐后⾯⼤,那么就交换位置if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}System.out.println("最终结果是:" + Arrays.toString(arr));}选择排序public static int[] arr = new int[]{5, 2, 7, 4, 6, 9, 8, 13, 19, 11, 17, 15};//选择排序public static void selectOrderArithmetic(int[] arr) {//⽐较的轮数是数组长度-1for (int i = 0; i < arr.length - 1; i++) {//每⽐较⼀次,需要减少1次⽐较的次数,会把⼩的先往前排for(int j = i+1;j<arr.length;j++){if(arr[i]>arr[j]){int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}}}System.out.println("最终结果是:" + Arrays.toString(arr));}⼆分查找public static int[] arr = new int[]{1, 2, 3 , 4, 6, 7, 8, 13, 19};//2分查找法public static void branchFind(int [] arr,int number){int startNode = 0;int endNode = arr.length-1;int middle = 0;while (startNode <= endNode){//中间的指针由开始节点和结束节点计算得来middle = (startNode+endNode)/2;if(number == arr[middle]){System.out.println("找到了");break;}else if(number < arr[middle]){endNode=middle-1;System.out.println(number+"⼩于中间值,结束节点变更为中间节点-1"); }else if(number > arr[middle]){startNode = middle+1;System.out.println(number+"⼤于中间值,开始节点变更为中间节点+1"); }else{System.out.println("没有找到该元素");break;}}}。
java 50w字面试宝典
java 50w字面试宝典Java 50万字面试宝典第一章:Java基础知识1.1 Java简介Java是一种面向对象的编程语言,由Sun Microsystems公司于1995年推出。
它的特点包括可移植性、跨平台性和安全性。
Java应用广泛,用于开发各种类型的应用程序,如桌面应用程序、移动应用程序和Web应用程序。
1.2 Java运行环境Java程序在Java虚拟机(JVM)上运行。
JVM是Java的核心组成部分,它负责将Java源代码编译成字节码,并在不同平台上执行。
1.3 Java语法基础Java的语法类似于C++,包括变量、数据类型、运算符、控制语句等。
Java代码由类和方法组成,其中类是Java程序的基本单位。
1.4 Java面向对象编程Java是一种面向对象的编程语言,它支持封装、继承和多态等面向对象的特性。
面向对象编程可以提高代码的可维护性和复用性。
1.5 异常处理Java提供了异常处理机制,可以捕获和处理程序中的异常。
异常处理可以使程序更加健壮,减少程序崩溃的风险。
第二章:Java核心技术2.1 Java集合框架Java集合框架提供了一套类和接口,用于存储和操作数据。
常用的集合类有ArrayList、LinkedList和HashMap等,它们提供了不同的数据结构和操作方法。
2.2 多线程编程Java支持多线程编程,可以同时执行多个任务。
多线程可以提高程序的性能和响应能力,但也需要处理线程同步和共享资源的问题。
2.3 文件和IO操作Java提供了丰富的文件和IO操作类,用于读写文件和处理IO流。
常用的类有File、FileReader和BufferedReader等。
2.4 JDBC数据库操作Java数据库连接(JDBC)是Java访问数据库的标准接口。
通过JDBC,可以连接和操作各种类型的数据库,如MySQL、Oracle和SQL Server等。
第三章:Java高级特性3.1 反射机制Java的反射机制允许程序在运行时获取类的信息,并动态调用类的方法。
Java编程思想读书笔记
Java编程思想读书笔记这是一份试图提纲挈领的读书笔记,《java编程思想》这本八百多页的书娓娓道来地包含了太多细节,这对读者是非常贴心的,我也强烈建议细细读这本书,如果你希望在短时间内学会java这种语言,那么这本书不是最好的选择,你可以看看谭浩强系列。
我把看这本书的过程中,个人觉得每一章中最重要的思想、用整理在这里,希望自己回顾的时候有所参照和提高。
也希望大家带着同样的目的来看本篇读书笔记。
第一章对象导论比起过程型语言编写的程序,用面向对象语言编写的程序更加简单、易于理解、可复用。
《c++编程思想》里也有这一章,是一个抛砖引自己的玉的章节,不明白可以跳过,回头再看。
第二章一切都是对象java语言里面,一切都是对象,并且程序员是通过引用来操纵对象。
一个简单的例子,非常轻松地让读者进入java 的世界。
需要注意的是java数据会储存在5个不同的地方:寄存器、堆栈、堆、常量存储、非ram存储,用new创建的一般对象都放在堆中,而特殊的基本对象放在堆栈中,如果想把基本对象也放在堆中,需要包装基本类型。
第三章操作符java中的操作符语法类似于c,所以学习起来一点困难也没有。
要特别注意两个比较大的整数相加或者相乘的时候的溢出问题,用long或者biginteger解决这个问题。
第四章控制执行流程我想起《pointer on c》这本书第一章就有这一句话,本书适合那些希望迅速学习一门新语言而不是被“为什么if 和for很重要”的弱智问题耽搁进度的读者。
呵呵,这一章很不厌其烦地介绍了运算、操作符优先级、类型转换、选择循环等基本特性,有c或者c++编程经验的读者可以大概浏览一下。
第五章初始化和清理关于初始化:1.初始化很重要,一定不要忘记。
而且java编译器会很好的防止使用未初始化数据的意外,这是比c和c++更优的地方。
2.编译器初始化的顺序为:a.类首次加载的时候,有关静态初始化的所有动作都会执行。
a1.类的加载包括首次创建该类型的对象,或者该类的静态方法/静态域首次被访问a2.静态域的初始化在一切初始化之前,即静态变量散布在代码不同的地方,它们也会在任何方法(包括构造器)调用之前被初始化b.当用new calssname 创建对象的时候,会在堆上开辟足够的存储空间,这块存储空间被清零,然后执行字段的初始化动作。
Java语言程序设计第一章
14
面向对象与类的概念 (3)
继承与多态 (续)
– 多态机制把不同的子类对象都当作父类类型看待, 屏蔽了不同子类对象之间差异。
– 比如,以Vehicle类为父类,实现两个子类:Truck 类和Car类,均继承父类的“加速”方法。但是实 际上货车和轿车的加速程序是不同的。因此,加速 方法应该在子类中根据不同车型重新定义。当发布 命令:“A汽车加速”。命令中并没有指定该汽车 是货车还是轿车。程序运行过程中,多态机制会自 动判断A汽车的类型,如果A车是货车则执行货车 的加速方法,是轿车的话则执行轿车的加速方法。
22
Java程序运行过程
23
编写Java程序的注意事项
最基本的程序至少包含一个类。 一个源文件中最多定义一个公共类(public class),并
且该公共类的命名要与源文件名相同,区分大小写。 程序从 main( ) 方法开始执行,关键字 static 表示无需
创建类的实例,可以直接调用 main( ) 方法,关键字 void表示main( ) 方法在执行时不返回任何值。 整个类及其所有成员都是在一对大括号中(即 { 和 } 之间)定义的,它们标志着类定义块的开始与结束。
5
Java EE (Java 2 Platform,Enterprise Edition)
JSP、Servlet、JavaBean JDBC、EJB、XML Struts、Spring、Hibernate、Ajax、WebService
6
Java ME (Java 2 Platform,Micro Edition)
7
Java的特性 (1)
平台无关性
.java
编译
.class
Java字节码文件
第1章Java 简介
第1章Java 简介1.1 概述最近几年Internet的迅速发展及万维网WWW(World Wide Web)的日益普及和快速增长,使得整个计算机世界正在经历着深刻的变革。
1989年超文本标记语言HTML(Hypertext Markup Language,超文本标记语言)和万维网WWW的产生是Internet数据描述语言的一次飞跃,万维网把全球的信息资源用HTML格式统一起来。
1996年,Sun公司的Java语言正式发表,则是一次Internet的技术革命。
在Internet上,Java语言和用Java编写的浏览器HotJava的出现在当时是特别引人注意的重大事件。
Java的诞生从根本上解决了Internet 的异质、代码交换以及网络程序的安全性等诸多问题。
其中Java语言是与平台无关的语言。
Java语言程序编译后,生成字节代码,运行在Java虚拟机上。
一个操作系统平台只要提供Java虚拟机,Java程序就可以在上面直接运行了。
从理论上讲,Java语言程序可运行在所有的操作系统平台上,从而在根本上解决了Internet的异质问题。
Java语言不仅仅是一个程序设计语言,更是一个网络操作系统。
因为:(1)Java语言可不依赖于任何现有操作系统,而直接运行在某种机器或CPU上;(2)Java语言有自己的内存管理机制;(3)Java语言支持多线程程序,可对处理器资源进行分配和管理;(4)Java语言可对设备进行管理,例如:屏幕、键盘、鼠标等;(5)Java语言支持网络文件管理,Java语言可打开远程机器上的文件,Java语言文件的概念已经扩充到整个Internet网络。
1.1.1 Java的起源与现状Java语言诞生于1991年,它是由Sun Microsystems的一个开发小组在开发Green项目时完成的。
该项目最初是开发一种用于消费类电子产品的与平台无关的软件技术,主要用来解决诸如电视机、电话、闹钟等家用电器的控制和通信问题。
java 第一章
学习Java的哪些内容?
• • • • • • • Java开发平台的使用 Java的基本语法 面向对象及其特性 常用Java库类 异常处理机制 图形用户界面设计 输入、输出流
如何学好Java?
Ø 课前做好预习,带着问题听课。上课认真听讲,做 好笔记。认真完成作业和上机实验。 Ø 有不懂的地方和疑问要马上提出,寻找答案和解决 的方法,千万不要积累问题。 Ø 勤读代码,勤写代码,在实践中学习。 Ø 多看课外参考书。
1.1 Java历史
Java产生背景 1991年4月,Sun公司的James Gosling领导的绿色计划(Gree n Project)开始着力发展一种分布式系统结构,使其能够在各种消 费性电子产品上运行。而Green项目组的成员一开始使用C++语言 来完成这个项目,由于Green项目组的成员都具有C++背景,所以 他们首先把目光锁定了C++编译器,Gosling首先改写了C++编译 器,但很快他就感到C++的很多不足,需要研发一种新的语言来 替代它。 这种语言最初被命名为Oak,目标设定在家用电器等小型系统 的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用 电器的控制和通讯问题。在17个月后,整个系统完成了,这个系 统是更注重机顶盒式的操作系统,不过在当时市场不成熟的情况 下,他们的项目没有获得成功,但Oak语言却得到了Sun公司总裁 的赏识。
1.1 Java历史
Sun在推出JDK1.0后,紧跟着,Sun在1997年2月18 日发布了JDK1.1。JDK1.1相对于JDK1.0最大的改进就是 为JVM增加了JIT(即时编译)编译器。 Sun在推出JDK1.1后,接着又推出了数个JDK1.x版 本。自从Sun推出Java后,JDK的下载量不断彪升,在19 97年,JDK的下载量突破了220,000,而在1998年,JDK 的下载量已经超过了2,000,000。
Java复习重点
JA V A 考试重点复习第一章Java 概述1. Java 如何实现跨平台?通过Java 虚拟机JVM 来实现跨平台,先将Java 源程序编译成字节码(后缀为.class 的代码),字节码可以在Java 虚拟机上运行,不同的平台有不同的Java 虚拟机JVM ,相同的字节码可以不同的平台上运行。
2. Java 开发的三个平台是什么?J2SE 、J2EE 和J2ME3. 如何编译与运行java 程序?在Dos 命令提示符状态下通过命令行来实现的。
例如:如果用命令行运行test 的话,后面不可以写“.class”,若写成test.class 系统会把class 当成类名test 当成类包,所以在没有类包的情况下不要写成“.class”形式。
第二章Java 基础1. 什么是标识符?如何定义标识符? 标识符是用来标识变量、常量、方法、类、对象等元素的有效字符序列。
Java 语言规定标识符由字母、下划线、美元符号和数字等组成,并且第一个字符不能是数字。
对标识符的约定:(1)变量名、对象名、方法名、报名等标识符全部采用小写字母;如果标识符由多个单词构成,则首字母小写,其后单词的首字母大写,其余字母小写,如getAge 。
(2)类名首字母大写。
(3)常量名全部字母大写。
2. 关键字的定义? 关键字是由Java 语言定义的、具有特殊含义的字符序列。
其首字母不能大写。
如:this ,super ,extends ,if ,class ,instanceof 3.Java 中数据类型的结构?float 与double 定义时的区别: float 型的数要在后面要加f ,如34.5f4. 常量与变量的声明方式?常量: final[修饰符]类型标识符 常量名=(直接)常量如: final public double PAI=3.14;变量: [修饰符] 类型标识符 变量名[=常量];如: public float x=25.4f ;Outputtest.javacc javac test.class ava 数据类型 类型lel 类型布尔(boolean)数值类型 短整数(short) 字节(byte) 字符(char)长整数(long)整数(int) 双精度浮点数(double ) 单精度浮点数(float) 定点类型浮点类型基本数据类型引用数据类型 类接口数组常量与变量的区别:一旦定义为常量了,其值不能改变,若要改变其值,只能改变声明时的值。
1-Java-练习
4
第四章 声明和使用字段
1. 编写一个账户类(Account),属性如下:
id:账户号码 长整数 password:账户密码 字符串 name:真实姓名 字符串 personId:身份证号码 字符串类型 email:客户的电子邮箱 字符串 balance:账户余额 浮点 level:账户级别 整型
10
第十章 类的封装
1. 按下列要求编写账户类(Account):
– 将属性设为私有(使用访问控制修饰符): id:账户号码 长整型 password:账户密码 字符串 name:真实姓名 字符串 personId:身份证号码 字符串类型 email:客户的电子邮箱 字符串 balance:账户余额 浮点 level:账户级别 整型 – 方法如下,使用公有访问控制修饰符修饰: deposit: 存款方法,参数是double型的金额 withdraw:取款方法,参数是double型的金额 – 构造器如下, 使用公有访问控制修饰符修饰: 有参和无参,有参构造方法用于设置必要的属性
2. 使用方法的重载,编写分别用于计算三角形和正方形 面积的两个方法。在main方法中分别调用这两个方法, 并打印返回结果。
8
第八章 声明和使用构造器
1. 定义类Manager,包含属性有:姓名(name)、年龄(age)和性 别(gender)。
– 给Manager类添加无参和有参的构造器,在无参的构造器中给nam e初始化,在有参构造器中给age和gender初始化。 – 在main方法中分别使用不同的构造器创建该对象。
2. 声明Animal接口,在接口中声明run()方法。
– 使Dog和Cat类在继承Pet类的同时,实现 Animal接口。其各 自的 run()方法分别 打印输出“Dog is running”和 “Cat is runnin g”。 在main方法中创建 Dog和Cat实例,调用其run方法。 试着创建Animal 实例,验证是否能够成功?
第一章 java 简介PPT课件
2
第一章 java 简介
什么是java技术 java的发展历史 java语言的特点 java语言主要应用于哪些方面 Java语言的运行机制 Java平台 一个简单java程序的例子 常用java开发工具
3
第一章 java 简介
什么是java技术
一个编程语言 一种开发环境 一种运行环境 用来开发java应用程序和applet小应用
10
第一章 java 简介
Java语言的运行机制
java运行结构功能图:
11
第一章 java 简介
Java语言的运行机制
Java 运行时执行三个任务:
代码调用 代码校验 执行代码
12
第一章 java 简介
Java平台
Java平台不同于其它平台在于它是运行在 其它基于硬件的平台之上的软件平台。 Java平台包括二个组件:
Java虚拟机 Java Virtual Machine(JVM)
Java应用程序接口(Java API)
13
第一章 java 简介
Java平台
下图说明了Java程序与Java平台之间的关系:
Java平台由Java应用编程接口(Application Programming Interface,简称 API)和Java虚拟机(Java virtual machine ,简称JVM)构成。 Java应用编程接口是已编译的可在我们的程序中使用的代码库。它们使 我们能够添加现成的可定制的功能,以节约编程时间。
Java语言程序设计
E-mail:
1
第一章 第二章 第三章 第四章 第五章 第六章 第七章 第八章 第九章 第十章
java 简介 java 语言基础 面向对象编程的基本概念 java 中的对象、类、包和接口 异常处理 编写文本应用程序 线程 java的输入输出 编写图形界面应用程序 编写 Applet
《Java编程核心技术课件》
从Java程序开发环境到安全编程,这份课件将带领你系统学习Java编程的核心 技术。准备好开始你的编程之旅吧!
Java基础语法
1
数据类型
了解Java的基本数据类型和如何声明变量。
运算符
2
掌握Java的算术、逻辑和关系运算符,以
及条件运算符。
3
控制流程
学习if语句、for循环、while循环等控制流 程结构。
3
序列化与反序列化
探索如何将对象转换为字节流并进行传输和存储。
异常处理
异常分类
了解Java的异常体系结构, 以及如何处理不同类型的异 常。
try -catch 语句
学习如何使用try-catch语句 捕获和处理异常,以及finally 块的作用。
自定义异常
探索如何创建和使用自定义 异常类来处理特定பைடு நூலகம்错误情 况。
2 事件处理
学习如何使用事件监听器处理用户交 互和用户界面事件。
3 图形绘制
探索使用Swing绘图API绘制图形、图像和动画。
网络编程(Socket)
1
客户端-服务器模型
了解客户端和服务器之间的通信模型以及Socket编程的基本原理。
2
网络协议
探索TCP和UDP协议以及它们在网络编程中的应用。
3
H TTP通信
安全性最佳实践
探索编写安全Java应用程序的最 佳实践,以保护用户的数据和 隐私。
学习如何使用Java编写HTTP客户端和服务器,进行Web开发。
数据库编程(JDBC)
连接数据库
学习如何连接到数据库,并执 行基本的SQL查询和更新操作。
事务管理
了解事务的概念和重要性,并 学习如何使用JDBC进行事务管 理。
零基础学Java项目开发课件PPT第01章
聚慕课教育研发中心
学习、授课与教学PPT课件
1.3 系统架构中的数据分布式设计
系统架构中的数据分布式设计包括分布式操作系统、分布式程序设计语言 及其编译系统、分布式文件系统、分布式数据库系统等。
1、独立Schema式模式设计 独立的Schema式模式设计简单来说就是一个大系统由相关的多个小系统组 成,不同小系统之间具有不同的数据库的Schema定义。Schema式模式设计 的独立模式可管理性较高,通信开销小。
系统设计包括归纳法和演绎法两种。 (1)归纳法是在分析研究系统的设计、制造和运行状况的基础上,收集所 有的同类系统的设计信息,然后根据现有系统的功能要求进行筛选,对同类 系统的信息做出相应的修改,最后得出一个理想的系统。
(2)演绎法是根据开发人员现有的知识和经验,从设计规则和原理出发, 在具有一定功能的集合中选出符合本系统功能的元素,然后将这些功能元素 打乱重新组合,从而呈现出一个具有所有功能的系统。
1.3 系统架构中的数据分布式设计
6、重组式模式设计 不同的数据节点代表着不同的数据功能,因此使用不同的Schema来保持数 据,这就是重组式模式设计。重组以“重新组织”的格式进行数据的传递和 保持。
聚慕课教育研发中心
学习、授课与教学PPT课件
1.4 系统架构中的数据集成设计
在系统架构设计中,要解决多个业务系统数据集成共享的问题,就需要使 用数据集成设计。下面主要介绍数据集成设计的相关内容。
聚慕课教育研发中心
学习、授课与教学PPT课件
1.1.1 业务分析
业务分析是面向业务的一门分析学科, 它通常可以采取逻辑分析和概念分 析两种方法论。逻辑分析是指进行部件解析;概念分析则是综合性地从概念 所处的上下文背景环境入手进行分析。简单来说 业务分析主要针对目标行业 的业务战略、蓝图、业务功能及流程进行分析 。在此期间,提出部分功能以 信息化的手段进行处理,通过分析最终得出信息化要解决的问题。 以下是四种类型的业务分析。 (1)识别组织的业务需求和业务机会。 (2)业务模型分析。定义组织的政策和市场方法。 (3)流程设计。标准化组织的工作流。 (4)系统分析。技术系统的业务规则和要求的解释。
Java程序设计各章知识要点
Java程序设计各章知识要点第1章 Java概述〃Java是当今最流行的软件开发语言之一。
〃Java由Sun公司开发。
Sun公司提供Java 2平台标准版,称为Java 2软件开发工具箱(J2SDK),其中包括一些利用Java编写软件所需要的最少工具。
〃Java是一种能够很好地支持软件工程技术的完全面向对象的语言。
〃Java已成为开发基于Internet的应用程序(以及其他方面的运用)的选用语言。
〃对象是以真实世界的事物为模型的可复用软件组件。
模块化的面向对象设计和实现方法使软件开发的效率比使用原来流行的程序设计技术(如结构化编程)更高。
面向程序通常更易干理解、修正和更改。
〃Java始于Sun公司的一个智能电子产品项目。
〃当WWW在1993年广泛流行时,Sun公司立即发现了使用Java创建动态网页的潜力。
〃Java现在多用于创建动态和交互性的网页、开发大规模企业应用程序、增强WWW服务器的功能、提供支持用户设备的应用程序等。
〃Java程序包括类,而类包括执行任务并在完成任务后返回信息的方法。
〃大多数Java程序员可以使用Java类库中丰富的类。
务的程序。
〃用大多数高级语言,包括C和C++,编写的程序在同一时间只执行一个动作。
而Java通过称为多线程的技术,使得程序设计人员能够编写并行处理程序。
〃Internet是30多年前在国防部的资助下开发的。
最初设计用来连接十几个大学和科研机构的主要计算机系统。
今天的Internet可以被世界范围的计算机访问。
〃WWW允许计算机用户查看Internet上的多媒体文档。
〃Java系统通常包括几个部分:编程环境、语言、Java应用程序编程接口(API)和各种类库。
〃Java程序通常经历5个步骤才运行:编辑、编译、载人、检验和执行。
〃Java程序文件以.java为扩展名。
〃Java编译器(javac)将Java程序翻译成二进制字节码—Java解释器所能理解的语言。
java核心基础知识
java核心基础知识Java核心基础知识1、先了解什么是Java的四个方面初学者先弄清这些Java的基本概念也是必不可少的,死记硬背肯定是不行的,重在理解,理解它们之间的区别与联系,分别有哪些应用。
想想这些代码中用到了哪些知识点。
不要一味地照着书本敲代码。
而不去理解。
1.Java编程语言,即语法。
2.Java文件格式,即各种文件夹、文件的后缀。
3.Java虚拟机(JVM),即处理_.class文件的解释器。
4.Java应用程序接口(Java API)。
2、掌握静态方法和属性静态方法和属性用于描述某一类对象群体的特征,而不是单个对象的特征。
Java中大量应用了静态方法和属性,这是一个通常的技巧。
但是这种技巧在很多语言中不被频繁地使用。
理解静态方法和属性对于理解类与对象的关系是十分有帮助的,在大量的Java规范中,静态方法和属性被频繁使用。
因此学习者应该理解静态方法和属性。
Java在方法和属性的调用上是一致的,区别只表现在声明的时候,这和c++是不同的。
3、初学者还需明白JAVA的三个技术平台的关系Java分为三个体系,分别为Java SE(J2SE,Java2 Platform StandardEdition,标准版)。
JavaEE(J2EE,Java 2 Platform, Enterprise Edition,企业版)。
JavaME(J2ME,Java 2 Platform Micro Edition,微型版)。
要知道java是分两部分的:一个是编译,一个是运行。
javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。
对指定扩展名的.java文件进行编译。
生成了jvm可以识别的字节码文件。
也就是class文件,也就是java的运行程序。
java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行.一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Windows 9x/me: 在 autoexec.bat文件的末尾添加:
set JAVA_HOME=… set PATH=%JAVA_HOM%\bin set CLASSPATH=.;…
Unix/Linux :
csh: 在$HOME/.cshrc文件的末尾添加: setenv JAVA_HOME /usr/java... setenv PATH $JAVA_HOME/bin:... setenv CLASSPATH . bsh/ksh: 在$HOME/.profile文件的末尾添加: JAVA_HOME=/usr/java PATH=$JAVA_HOME/bin:$PATH CLASSPATH=. export JAVA_HOME PATH CLASSPATH
Write Once , Run Anywhere(一次编写到处运行)
Java 语言介绍
Bytecode JVM CPU
Java语言介绍
JRE与JDK
JER (Java Runtime Environment) Java运行时环境
JRE = JVM(Java Virtual Machine) Java虚拟机+解释器
计算机语言 计算机高级语言 编译型语言(c、c++)
源文件 -- 编译器--> 可执行文件 运行可执行文件 --> 机器指令
解释型语言 (javascript 、perl)
文本文件 ---解释器-> 直接翻译成机器指令
先编译,后解释(java)
.java源文件 -- 编译 --> .class字节码文件 (字节码)– jvm解释执 行 --> 真正的机器指令
软件工程师培训 系列教材 CORE JAVA
CORE
JAVA
第一章:入门
目录
Java语言介绍 Java开发环境的搭建 第一个Java应用程序
Java语言介绍
什么是Java编程语言 Java编程语言的主要特性 Java语言的运行机制 JRE与JDK
Java语言介绍
什么是Java编程语言
JDK(Java Development Kit) Java开发工具包
JDK = JRE + 工具(编译器、调试器、其他工具……) + 类库
Java开发环境的搭建
获取 Java SDK
从以下网站可下载JDK
/technetwork/java/index.html
第一个Java应用程序
在本地硬盘中创建一个test.java 的文件书写如下代码 例如: D:\test.java
D:\javac test.java D:\java HelloWorld
第一个Java应用程序
深入分析第一个程序
D:\javac test.java D:\java HelloWorld
其他Java命令
生成安全策略文件
$policytool
生成安全密钥
$keytool
生成RMI stub 代码
$rmic <options> <class names>
启动RMI注册服务
$rmiregistry
判断一个类型是否是可串行化类型
$ serialver [-classpath classpath] [-show] [classname...]
概述
在本章讨论了:
如何设置Java开发环境
描述Java编程语言的主要特性 描述JVM的功能
描述垃圾回收概念
Java平台如何实现代码安全 如何编写、编译并运行一个简单的Java应用程序
Java开发环境的搭建
Java环境变量
JAVA_HOME
表示的是Java的安装目录 如:D:\Program Files (x86)\Java\jdk1.7.0
CLASSPATH
是用来指示编译器和JVM去哪个目录寻找.class文件 如:.
PATH
是在命令行上输入Java命令时,用来指示操作系统去哪个路径下找Java 的相关程序。往往会把PATH变量配成Java的安装路径/bin目录 如: D:\Program Files (x86)\Java\jdk1.7.0\bin ;C:\Program Files\Common Files\Microsoft Shared\WindowLive;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows ..
第一个Java应用程序
类与公开类 test.java
1、如果一个类是公开类,.java文件名字与公开类名字一致 2、一个.java文件只应该有一个公开类
重要的Java命令
编译
$javac <options> <source files>
执行
$java [-options] class [args...]
Java语言介绍
Java编程语言的主要特性
纯面向对像 简单VS复杂 代码开放性 代码安全性 垃圾回收(GC)
可以通过如下代码建议虚拟机垃圾回收 ng.System.gc() / ng.Runtime.gc()
跨平台
Java语言介绍
Java语言的运行机制
Байду номын сангаасJava编程语言的历史
JavaSE (java标准版本) JavaME (java用于嵌入设备的版本) JavaEE (java企业级应用版本)
Java编程涵盖范畴
编程语言 开发环境 应用环境 部署环境
Java语言介绍
什么是Java编程语言
Java专业人士
Java程序员 Java开发工程师 JavaWeb开发工程师 JavaEE架构师
调试
$jdb <options> <class> <arguments>
生成html技术文档
$javadoc [options] [packagenames] [sourcefiles] [@files]
生成归档文件
$ jar {ctxu}[vfm0Mi] [jar-file] [manifest-file] [-C directory] files ...
根据操作系统的不同下载不同平台的JDK
安装 Java SDK
Windows: 运行安装程序 Unix : 安装rpm包
Java开发环境的搭建
设置Java环境变量: JAVA_HOME, CLASSPATH, PATH
Windows 2000/NT/XP
开始—控制面板—系统—高级—环境变量
第一个Java应用程序
System.out.println()与System.out.print()区别
第一个Java应用程序
类与.class文件
javac test.java java HelloWorld
第一个Java应用程序
类与.class文件
javac test.java java HelloWorld java Welcome