Java大学实用教程1-4章知识点
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培训ppt课件(全套课件)

System.out.println("Hello World"); } }
Java实用教程
用记事本或者专用的编辑工具如EditPlus等进行编辑,并将 文件存为HelloWorld.java。建议使用像EditPlus这样的编辑软件, 可使得代码更加清晰且风格良好。
Java实用教程 图1.3 编辑include变量
Java实用教程
选中lib变量,单击“编辑”按钮,弹出标题为“编辑用户 变量”的对话框,如图1.4所示。在变量值一栏的最后添加“; D:\j2sdk1.4.0_01\lib”,“;”表示与前面的各项隔开,后面的路 径是JDK包的安装路径下的lib目录。图1.4为作者修改lib变量的 情况,注意你的安装路径可能与作者的有所不同,要以你的安 装路径为基准进行修改。
Java实用教程
4. 多线程 多线程在操作系统中已得到了最成功的应用。多线程是指 允许一个应用程序同时存在两个或两个以上的线程,用于支持 事务并发和多任务处理。Java除了内置的多线程技术之外,还 定义了一些类、方法等来建立和管理用户定义的多线程。
Java实用教程
5. 简单易用 Java源代码的书写不拘泥于特定的环境,可以用记事本、 文本编辑器等编辑软件来实现,然后将源文件进行编译,编译 通过后可直接运行,通过调试则可得到想要的结果。
Java实用教程
第2章 Java基本语法
2.1 Java程序的构成 2.2 数据类型、变量和常量 2.3 运算符和表达式 2.4 流程控制 2.5 数组的使用 习题
Java实用教程
2.1 Java程序的构成
2.1.1用和类
Java大学实用教程(第2版)[耿祥义等编著][电子教案]第2章
![Java大学实用教程(第2版)[耿祥义等编著][电子教案]第2章](https://img.taocdn.com/s3/m/261f3b69011ca300a6c3902b.png)
2.2
基本数据类型
1.逻辑类型 常量:true ,false。 变量的定义: 使用关键字boolean来定义逻辑变量,定义时也可 以赋给初值。 2.整数类型 常量:123,6000(十进制),077(八进制), 0x3ABC(十六进制)。 整型变量的定义分为4种
2.2
基本数据类型
(1)int 型 使用关键字int来定义int 型整型变量,定义时也 可以赋给初值,例如:int x,平均=9898;对于int型 变量,内存分配给4个字节(byte)。int型变量的取值 范围是: -231~231-1。 (2)byte 型 使用关键字byte 来定义byte 型整型变量。对于 byte型变量,内存分配给1个字节,占8位,byte型变量 的取值范围是-27~27-1。
2.5 数组
4.数组的初始化
创建数组后,系统会给每个数组元素一个默认的值,如,float型是0.0。 我们在声明数组时同时也还可以给数组的元素一个初始值,如: float boy[]={ 21.3f,23.89f,2.0f,23f,778.98f}; 数组属于引用型变量,因此两个相同类型的数组如果具有相同的引用,它们就有完全相 同的元素。例如,对于 int [] a={1,2,3},b={4,5}; 数组变量a和b分别存放着不同的引用。但是,如果使用了赋值语句:a=b;那么,a中存 放的引用就和b的相同,这时系统将释放最初分配给数组a的元素,使得a的元素和b的元 素相同,即a[0],a[1]就是b[0],b[1],而最初分配给数组a的三个元素已不复存在 .
返回
2.5 数组
数组是相同类型的数据按顺序组成的一种复合数据类 型。通过数组名加数组下标来使用数组中的数据。下标从 0开始。 1.声明数组 声明数组包括数组的名字、数组包含的元素的数据类 型。 声明一维数组有下列两种格式: 数组元素类型 数组名字[ ]; 数组元素类型[ ] 数组名字;
《Java程序设计实用教程(第4版)习题解答与实验指导》第1~8章

Java程序设计实用教程(第4版)习题解答与实验指导叶核亚编著2013年11月目录“Java程序设计”课程教学要求 (1)第1章Java概述 (3)第2章Java语言基础 (5)第3章类的封装、继承和多态 (22)第4章接口、内部类和Java API基础 (37)第5章异常处理 (42)第6章图形用户界面 (44)第7章多线程 (49)第8章输入/输出流和文件操作 (51)“Java程序设计”课程教学要求1. 课程性质、目的和任务程序设计是高等学校计算机学科及电子信息学科各专业本科的核心专业基础课程,是培养学生软件设计能力的重要课程。
在计算机学科的本科教学中,起着非常重要的作用。
“Java程序设计”是计算机科学与技术专业本科的专业基础限选课,开设本课程的目的是:进行程序设计和面向对象方法的基础训练;使用Java编程技术,设计解决操作系统、网络通信、数据库等多种实际问题的应用程序。
本课程通过全面、系统地介绍Java语言的基础知识、运行机制、多种编程方法和技术,使学生理解和掌握面向对象的程序设计方法,理解和掌握网络程序的特点和设计方法,建立起牢固扎实的理论基础,培养综合应用程序的设计能力。
本课程的先修课程包括:C/C++程序设计I、C/C++程序设计II、数据结构、操作系统、计算机网络、数据库原理等。
2. 教学基本要求本课程的基本要求如下。
①了解Java语言特点,理解Java Application应用程序的运行原理和方法。
掌握在JDK 环境中编译和运行程序的操作,熟悉在MyEclipse集成开发环境中,编辑、编译、运行和调试程序的操作。
②掌握Java语言中语句、数组、引用类型等基本语法成分的使用方法,通过类、接口、内嵌类型、包、异常处理等机制表达和实现面向对象程序设计思想。
③掌握Java的多种实用技术,包括图形用户界面、多线程、文件操作和流、使用URL 和Socket进行网络通信等。
④熟悉Java JDBC数据库应用的设计方法。
第一章-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-Me实用教程

关键字就是Java语言中已经被赋予特定意义的一些单词
,它们在程序中有着不同的用途,不可以把关键字作为标识
符来用。
第33页,共505页。
Java语言中的关键字
abstract boolean
class
continue
extends false
右键点击“我的电脑”,弹出菜单,然后选择“属性”,弹 出“系统属性”对话框,再单击该对话框中的“高级”选项,
然后点击按钮“环境变量”,添加如下的系统环境变量(如图 1.2所示):
第10页,共505页。
图1.2 设置环境变量path
第11页,共505页。
4)系统环境ClassPath 值的设置
编辑系统环境变量ClassPath的值。对于Windows 2000、
可用“-source”参数约定字节码适合的Java平台。如 javac –source 1.2 <FileName.java>
第31页,共505页。
返回
第2章 基本数据类型和数组
本章导读 1. 标识符和关键字 2. 基本数据类型 3. 基本数据类型的转换 4. 数据的输入与输出 5. 数组
网络、多线程等重要的基础知识,而且很多新的技术领域都涉及
到了Java语言,因此,学习和掌握Java已成为共识,国内 外许多大学已将Java语言列入了本科教学计划,IT行业对 Java人才的需求正在不断的增长,一些软件公司对其开发 人员周期地进行Java的基础培训工作。在IT行业发达的北美
洲,有将近60%的软件开发人员在使用Java完成他们的工作,
<applet code=Boy.class height=100 width=300> </applet>
java入门教程(一)PPT课件

运算符与控制流语句
运算符
Java支持多种运算符,如算术运算符(+、-、*、/、% )、关系运算符(==、!=、>、<、>=、<=)和逻辑 运算符(&&、||、!)等。
控制流语句
Java提供了多种控制流语句,如if语句、switch语句和 循环语句(for、while、do-while)等,用于控制程序 的执行流程。
1995年,Java正式发布,并成为一种独立的开发 平台。
2004年,Java SE 5.0版发布,引入了新特性如泛 型、for-each循环和自动装箱等。
java的应用领域
Web应用程序 开发
Java的Web开发技术, 如Servlet和JSP等,可 以轻松构建高效的Web 应用程序。
企业级应用
05
java开发环境配置
jdk的安装与配置
总结词
JDK是Java开发的核心工具包,需要安装并正确配置。
详细描述
JDK是Java Development Kit的缩写,是Java开发的核 心工具包,需要从Oracle官方网站下载并安装。在安装 过程中,需要选择适合自己系统的版本,并按照提示完 成安装过程。安装完成后,需要通过环境变量设置,将 JDK添加到系统路径中,以便在命令行或者其他IDE中直 接调用Java命令。
2023
java入门教程(一)ppt课件
目录
• java概述 • java基础知识 • java核心技术 • java常用类库 • java开发环境配置 • java入门案例——简易学生信息管理系统的实现
01
java概述
java的定义与特点
1
于开发跨平台应用程序和服务端应用程序等。
java课堂笔记(全部基础知识)

Java_U1课堂笔记(一)初识Java一、配置Java环境变量:1、复制JDK安装路径,如:C:\Program Files (x86)\Java\jdk1.7.0_51\bin2、粘贴到我的电脑->属性->高级系统设置->环境变量->Path3、加上英文的分号4、验证是否配置正确:dos-->java -version进入DOS窗口的方法:运行(或快捷键windows键+r)二、Java程序编写三步骤:编写 .java编译:javac **.java运行java **三、使用jad反编译工具:DOS中切换至jad安装目录,如:C:\jad1.5.8g.win输入命令:jad -s java D:\t01\HelloWorld.class四、变量的使用:页脚内容1变量取名,命名规则类型数值:int、double、float(f)非数值:char、String类型名字= 值;int age=10;五、上机验证:System.out.println(5+3);System.out.println("5"+3);六、Scanner的使用,接收用户键盘输入Scannerimport java.util.Scanner;Scanner input=new Scanner(System.in);input.next();(相关方法,nextDouble()、nextFloat()、nextInt(等)bin:exejre页脚内容2libsrc.zip(二)数据类型一、数据类型转换自动类型转换:int num=100;double b=num;强制类型转换double num=100.9;int b=(int)num;二、运算符赋值运算符=算数运算符+ - * / % ++ --+= -= *= /= %=关系运算符> < >= <= == !=逻辑运算符&& || !页脚内容3条件运算符?:了解优先级即可三、流程控制1、if:基本ifif-else多重if嵌套if注意:条件是boolean值常见错误:if(num=5){}else{}大括号不省略多重if顺序问题注意:页脚内容4流程图的使用和问题的分析解决过程2、switch等值比较注意:(1)语法上的常见错误(2)和多重if的异同循环结构:解决重复性的操作简介高效(三)循环结构一:循环:(1)while循环while(条件){操作循环变量迭代}注意:页脚内容5代码缩进循环能否正常退出(2)do-while循环do{循环}while(条件);注意:代码缩进循环能否正常退出和while的区别:语法上、执行上(至少执行一次)(3)for循环for(变量初始化;条件;变量迭代){循环操作}页脚内容6注意:代码缩进循环能否正常退出执行顺序循环变量可以有多个二、双重循环双重循环的特点:外层循环进入一次,内层循环就要完整的执行一遍特点:外执行一次内执行一轮双重循环次数:外层循环次数*内层循环的次数实现的重点:页脚内容7(1)确定谁做外层循环,确定谁做内层循环(2)两层循环变量有没有规律性的关系1、打印图形:找规律矩形行i外层星星j内层1 52 53 54 55 5平行四边形行i外层内层:空格星星1 4=5-i 52 3=5-i 53 2=5-i 5页脚内容84 1=5-i 55 0=5-i 5等腰三角形行i外层内层:空格星星1 4=5-i 1=2*i-12 3=5-i 3=2*i-13 2=5-i 5=2*i-14 1=5-i 7=2*i-15 0=5-i 9=2*i-12、打印九九乘法表行i(1-9)第一个操作数i 第二个操作数(从1到i)三:循环应用1、分析需求:重复做一件事情前提条件(循环进入的条件)做什么事情(循环操作)页脚内容92、用代码解释选择一种合适的循环结构whiledo-whilefor根据所选择的结构套用语法while(条件){}do{}while(条件);for(循环变量初始化;条件;迭代){}3、容易出错的点(1)变量在何处声明例1:计算5门课平均成绩页脚内容10例2:for(int i=0;i<=6;i++){System.out.println(i);}int j=i;System.out.println(j);(2)没有适当的(合适的)跳出循环根本跳不出来根本进不去循环多或少循环了一次四、循环的跳转break:跳出整个循环continue:跳出本次循环,进入下次循环return:结束方法(了解即可)五、程序调试页脚内容11设置断点Debug->单步运行F5 F6观察变量(三)数组一、数组1、数组的基本使用(1)数组的作用一组相同数据类型的数数组也是变量,内存中一串连续的空间(2)数组的几个基本概念标识符(数组名字)元素下标:从0开始数据类型数组的长度(数组名字.length)(3)数组使用步骤声明数组页脚内容12int[] num;int num[];分配空间num=new int[8];赋值处理数据int[] num={5,8,7};int[] num=new int[]{5,8,7};(4)循环和数组结合的使用下标(0-数组.length-1)遍历时两种方法:方法一:传统for方法二://增强型for(foreach)for(int score:scores){sum+=score;页脚内容13}二、回顾数组变量,内存中一串连续的空间相同数据类型的一组数据数组的基本概念元素数据类型(数组类型)下标(0,数组.length-1)数组的长度:数组.length数组的基本使用声明数组(类型[] 数组名称或类型数组名称[])分配空间(数组名称= new 数据类型[5];)赋值(num[0]= ;)处理数据变量:基本数据类型页脚内容14int、double、float、char、boolean引用数据类型String、数组内存分布不同使用上不同.三、数组的典型使用1、求最大值、最小值(打擂台)2、插入算法(找位置)3、冒泡排序数组存储5个数字下标:0 1 2 3 4外层循环内层循环i:0第一轮+ j比较次数:4 =4:length-1页脚内容15i:1第二轮+ j比较次数:3=4:length-1i:2第三轮+ j比较次数:2 =4:length-1i:3第四轮+ j比较次数:1=4:length-1i+j=数组.length-1j=数组.length-1-i共比较几次?5个数字:4+3+2+1=106个数字:5+4+3+2+1=157个数字:6+5+4+3+2+1=21n个数字:(n-1)+(n-2)+(n-3)+.....+1=n*(n-1)/24、Arrays类的使用常用方法:页脚内容16sort().....记得查API帮助文档(帮助文档已经在网盘中提供了,如果大家在Oracle官网中没有下载,可以找中心的技术顾问老师提供网盘用户名和密码,登录后拿到帮助文档)数据类型基本数据类型int double char boolean 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java大学实用教程======================================================================================= 第一章Java语言概述1.3 Java的特点掌握Java跨平台的原理1.5 Java运行平台了解JavaSE、JavaEE与JavaME的应用范围系统变量Path的设置及其作用将JDK工具命令的路径设置到Path变量中后,可以在任意位置运行那些命令。
系统变量ClassPath的设置及其作用设置查找类的路径。
ClassPath中如果设置了某些路径,则必须向其中添加当前目录(.),否则JVM不会在当前目录查找类。
1.6 Java程序开发Java程序必须有一个主类(含有main函数),作为程序执行的起点。
掌握源文件命名规则编译Java源文件:javac Hello.java (源文件中的所有类都会被编译并生成.class文件)运行Java程序:java Hello (执行的必须是一个主类名,不包括.class)Java Applet的运行原理:在html文件中通过标记嵌入applet代码,浏览器将相应的字节码文件下载到本地,利用其内置的Java虚拟机解释执行字节码文件,将结果显示到浏览器中。
======================================================================================= 第二章基本数据类型和数组2.1 标识符和关键字标识符的命名规则:Java的标识符由字母(尽管可以使用世界上所有语言的字母,但建议只使用英文字母)、下划线、$、数字组成,第一个字符不能是数字。
Java的关键字不能作为标识符。
2.2 基本数据类型整型常量默认为int类型,如果超出了int的表示范围,需要在后面添加l。
浮点型常量默认为double类型,如果为float常量,需要在后面添加f。
char类型:char类型本质上是一个16位的无符号整数,char c='a'与char c=97等价。
有时候必须使用转义字符,例如:char c1='\'',c2='\\';(例2-1)2.3 基本数据类型的转换数据类型的精度顺序charbyte short int long float double低精度类型到高精度类型可以自动转换,高精度类型向低精度类型必须强制转换。
强制转换可能导致溢出或精度损失,如:byte b=(byte)130。
2.4 数据的输入与输出System.out.print或println输出变量或者表达式的字符串表示例如:'a'+1的输出为98,"a="+'a'+1的输出为a=a1,"a="+('a'+1)的输出为a=98System.out.printf(控制字符串,表达式1,表达式2,...)(例2-3)常用控制符:%s,%n,%c,%d,%f%md:输出整数,m列宽,右对齐;%-m.nf:输出浮点数,m列宽,小数点后保留n位(四舍五入),左对齐;Scanner类(例2-4)创建读取对象:Scanner reader=new Scanner(System.in);读取数据:调用reader.hasNextXxx()方法判断输入的是否是xxx类型的数据,再调用reader.nextXxx()方法读取数据。
2.5 数组数组下标从0开始,下标越界运行会报错。
声明数组:int[ ] a;int[12] a;是错误的,创建数组时才能分配内存空间,才能指定数组大小。
创建数组:a=new int[12];声明和创建可以一步完成:int[ ] a =new int[12];数组的初始化创建数组后,每个元素有一个初值,数值型为0,布尔型为false,引用型为null。
声明、创建和初始化可以一步完成:int[ ] a={3,5,2,-9,8};length的使用a.length可以得到一维数组的元素个数。
Java中的多维数组是数组的数组,会画多维数组的内存模型。
如:int[ ][ ][ ] a=new int[3][4][6]; 则a.length=? a[2].length=? a[1][2].length=?数组属于引用数据类型,两个相同类型的数组如果具有相同的引用,它们就拥有完全相同的数组元素。
课后问答题和作业问答题:4,5,6,9,10======================================================================================= 第三章运算符、表达式与语句3.1 算术运算符和算术表达式+ - 4级,* / % 3级,++ -- 2级y=++x;与y=x++;的区别进行算术运算时,byte、short、char类型自动提升为int类型。
Java按运算符两边的操作元的最高精度保留结果的精度。
3.2 关系运算符和关系表达式> >= < <= 6级,== != 7级==不要写成=,前者是比较,后者是赋值。
3.3 逻辑运算符和逻辑表达式短路与:&& 11级,短路或:|| 12级,逻辑非:! 2级非短路与:&,非短路或:|短路是指,如果逻辑表达式的值已经确定,将不再计算未计算的部分。
3.4 赋值运算符和赋值表达式= 14级,左边必须是变量运算符优先级顺序算术>关系>逻辑(!除外)>赋值,如:a>b+3&&a<100 没问题,如果不确定可以加括号。
3.5 移位运算符左移位:右侧用0填充,相当于乘2右移位:左侧用0(正数时)或1(负数时)填充,相当于除2进行移位运算时,byte、short、char自动提升为int3.6 位运算符按位与:&,按位或:|,按位非:!,按位异或:^进行位运算时,byte、short、char自动提升为int3.7 条件运算符exp1?exp2:exp3exp1必须是boolean表达式,若exp1为true,则结果为exp2;若exp1为false,则结果为exp3。
3.8 instanceof运算符a instanceof B:若a是类B或类B的子类的实例,则返回true。
3.11 分支语句1)条件分支语句简单形式:if...else...多条件形式:if...else if...else if... ...else...2)switch开关语句执行过程:一旦遇到匹配的入口,就从入口处开始执行语句,直到遇到break语句为止;如果未找到匹配的入口,就执行default后面的若干语句,default不是必须的。
注意:不要忘记必要的break语句,否则会多执行语句。
3.12 循环语句1)while循环while(boolean表达式){若干语句}2)do-while循环do{若干语句}while(boolean表达式); //分号别忘记特点:至少执行一次循环体3)for循环for(初始化表达式;boolean表达式;改变循环变量表达式){若干语句}3.13 跳转语句break:跳出整个循环continue:跳过循环体中后面的语句,进行下一次循环课后问答题和作业问答题:1,2,3,4,8作业:6,7,8======================================================================================= 第四章类与对象4.1 面向对象编程封装:将数据和对数据的操作封装在一起,通过抽象(从具体的实例中抽取共同的性质)形成一般的概念,比如类的概念。
Java程序设计的基本单位是类(class)。
类有两种基本成员:变量和方法。
变量用来刻画对象的属性,方法用来体现对象的功能。
4.2 类声明和类体类封装了一类对象的属性和功能,是用来定义对象的模板,类的对象称为类的实例。
class 类名{类体的内容}类的命名规范:例如,Triangle SimpleDateFormat4.3 类体的构成类体由成员变量和方法构成。
成员变量和方法的命名规范:例如,userName addUser成员变量的类型可以是Java中的任何一种数据类型,包括基本数据类型和引用数据类型。
一般,在类的前部声明成员变量。
在定义类的成员变量时可以同时赋予初值,表明类所创建的对象的初始状态。
4.4 构造方法与对象的创建构造方法是一种特殊方法,它的名字必须与它所在的类的名字完全相同,而且没有返回值类型。
构造方法可以重载,类创建对象时必须调用某个构造方法。
如果类中定义了一个或多个构造方法,那么编译器不提供默认的构造方法。
创建一个对象包括对象的声明和为对象分配成员变量两个部分。
对象的声明:Rect rect1; //此时rect1没有指向任何实体为对象分配成员变量:1)new一个Rect对象。
过程:为成员变量开辟内存空间并清零(数值型为0,布尔型为false,引用型为null),执行定义初始化,执行构造初始化。
2)将对象实体的引用赋给对象变量rect1。
一个类通过使用new运算符可以创建多个不同的对象,这些对象将被分配不同的内存空间。
对象可以使用运算符“.”调用方法。
方法中的局部变量没有默认值,使用前必须初始化。
4.5 对象的引用与实体不再被任何对象引用的实体将成为“垃圾”,会被JVM自动回收。
如果将关键字null赋值给对象,就意味着对象不再引用任何实体,成为空对象,使用空对象会引发空指针异常。
4.6 成员变量类变量:类被加载到内存时,类中的类变量就被分配了相应的内存空间,并执行清零和定义初始化操作。
类变量只分配一处内存,类的对象共享类变量。
可通过类名和对象访问类变量。
实例变量:new对象时,实例变量被分配内存空间,不同对象的实例变量分配不同的内存空间。
必须通过对象访问实例变量。
常量:不可修改,在声明的同时必须初始化。
例,final int MAX_VALUE=1000;4.7 方法当对象调用方法时,方法中出现的成员变量就是指分配给该对象的成员变量。
对象不可以调用构造方法。
方法的定义返回值类型方法名(类型参数1,类型参数2,...){局部变量的定义和合法Java语句}除构造方法外,返回值可以是任意的Java类型。
参数可以是任意的Java类型。
除构造方法外,方法无返回值时,返回值类型必须是void。
类方法:用static修饰,可通过类名和对象调用,方法中只能访问类变量和类方法。