330 likes | 487 Views
JAVA 程序员培训 -2. 1. 内容概述. 标识符与流程控制 实例变量和局部变量以及变量初始化。 流程控制( if,else,for 等) 数组 类设计 文件处理 异常 专题. 内容概述. 类 , 属性 , 方法的定义规则 equals 和== 字符串的处理 集合 User ArrayList add ( Object o) HashMap put ( Object key, Object value) object. 第四章 标识符与流程控制. 目标 : 区分实例变量和局部变量
E N D
内容概述 • 标识符与流程控制 • 实例变量和局部变量以及变量初始化。 • 流程控制(if,else,for等) • 数组 • 类设计 • 文件处理 • 异常 • 专题
内容概述 • 类,属性,方法的定义规则 • equals和== • 字符串的处理 • 集合 • User • ArrayList add(Object o) • HashMap put(Object key, Object value) object
第四章 标识符与流程控制 目标:区分实例变量和局部变量 描述实例变量是如何初始化的 使用if, switch,for,while和do句型结构和break和continue的标号形式作为程序中的流程控制结构
第四章 java 的流程控制 一.变量 Java按作用域不同分为三类: 1)数据成员 2)方法局部变量(仅在方法内可用) 3)方法的参数 1.变量声明格式:变量类型 变量名; 2.变量名:必须为为合法标识符
一.变量 4.初始化变量 • 成员变量可自动初始化,方法变量必须手工初始化 • boolean—false all reference types---null
二.运算符 1、算术运算符 +,-,*,/,%(x%y,x除以y的余数)++ ,-- (++ --的前后缀问题)----用程序测试 class Test { public static void main(String[] args) { int i=0; System.out.println(i); System.out.println(i++); System.out.println(++i); System.out.println(i); } }
二.运算符 2、位运算符 <<,>>,>>>,&,|,^,~ << 左移,左移以后补0; >>有符号右移, 右移后最高位是0补0,是1补1 >>>无符号右移
二.运算符 3、关系运算符 >,>=,<,<=,==,!= 结果为 true 和 false 4、逻辑运算符 &, |, ! ,^ ,&&, ||
三.分支语句 1.if,else 2、if ,else if ,else 3.switch switch(整型表达式byte,short,int,char) { case 值1: 语句1;break; case 值2: 语句2;break; default: 语句n;break; } (表达式不能为long型)
Exercise public class IfElse{ public static void main(String args[]){ if(odd(5)) System.out.println(“odd”); else System.out.println(“Even”); } public static int odd(int x){return x%2;} } • What is the result? • A. The output is odd; • B. The output is even; • C.An error on line 3 causes compilation to fail D.An error on line 8 causes compilation to fail
四、循环语句 1.for(初值;条件;条件改变)//可以没有 { 循环体;} 2.while(条件) {循环体;} 3.do{ 循环体; }while(条件);
第五章 数组 一.声明数组 数组是类型相同的变量的集合,每个变量称为该数组的元素变量,简称数组元素。 Point p[]; char c[];
二、创建数组 c=new char[5];(字符数组, 5个字符型数据)
三、初始化数组 当创建一个数组时,不论在哪里创建,每个元素都已自动初始化. 希望手工初始化时: int a[]={1,2,3,4,5}; String s[]={“abc”,“def”}; =>String s[]={new String(“abc”), new String(“def”)};
第六章类设计 一.继承(inheritance) 1.A is a B(B has a A) 继承机制:在面向对象编程里,可以根据已定义的类(父类)定义一个类,也叫子类。通过extends关键字实现。 它不仅具有父类的成员(属性和方法),也增加了自己的一些新的属性和方法或扩展了父类的方法,这种关系也叫“is a”关系: class A extends B A(子类)is a B(父类)
二、方法覆盖(override) 定义:子类可以修改从父类继承的的方法 要求:方法声明形式一致(名字,返回类型,参数列表)
七.this关键字 1)点取成员 2)区分同名变量 3)调用类的另一个构造方法来初始化对象.
例: class Dot{ private int x,y,z; public Dot (int x,int y,int z){ this.x=x; this.y=y; this.z=z; } }
文件处理 • 文件的操作都在java.io包中. • 最主要的类是File类. • 文件或目录的生成 public File(String path); ---如果path是实际存在的路径,则该File对象 表示的是目录;如果path是文件名,则该File对象表示的是文件
异常 一.概述 1.异常事件:中断程序正常执行流程的那些事件。 java中的异常事件: 错误Error (不可处理的错误) 异常Exception(可以处理,编写代码,不影响程序的继续执行) 2.异常类 (8-13) 都是Throwable 类的子类 1.写一个实例f.createNewFile(); 2.catch中全部变为Exception即可. 26
3.常见异常 8-15 • NullPointerException 访问没实例化的对象的属性和方法 • ArrayIndexOutOfBoundsException访问超出数组范围的元素 • IOException. File 27
二.try-catch-finally 语句 结构: try{ unsafe;(保护码) }catch(异常类e) {//首先判断可能发生的异常类型. 异常处理; } 【finally{ 终止处理; } 】 28
总结: try{ unsafe(); T1; }catch(IOException e) { T2; } finally {T3;} T4; 29
三.异常机制 • 如果一个异常在当前的try—catch块没被处理,该异常被抛回那个方法的调用者,该过程继续直到异常被处理。如果该异常一直被抛回到main方法也没有能处理,程序终止执行 31
专题1--类,属性,方法的定义规则 • 1.类的首字母要大写. • 2.变量命名规范第一个字母为小写以后的每个首字母为大写 • 例如:String userName; 3.方法的定义规则同变量. 例如:public void getUserName(){} 4.对每个类成员变量都用setter和getter方法进行处理.
专题2-- equals和== • equals用于String内容的比较 • ==用于int和boolean的比较 • 举例.
专题3--字符串的处理 • 字符串的定义. • String userName=“defu”; • 常用的方法: • 字符串的长度. • 字符串内容的比较(注意整型数据的比较.) • 字符串的相加 • //看一下API
专题4--集合 • 某些对象的集合. • 比如教室就是一个集合,里面放着很多的学生. • 最常用的集合类有:ArrayList,HashMap
ArrayList • 我们可以将其看作是能够自动增长容量的数组。通过其原文件,可知其底层通过通过数组实现的。
ArrayList • import java.util.*; • class ArrayListTest • { • public static void main(String[] args) • { • ArrayList al=new ArrayList(); • al.add("FistElement"); • al.add("SecondElement"); • al.add("ThirdElement"); • for(int i=0;i<al.size();i++) //ArrayList的size方法读取对象的元素个数 • { • System.out.println(al.get(i)); //ArrayList类的get方法读取 数据 • } • System.out.println(al); • } • }
HashMap • 针对key和value的取值处理. • put(Object key, Object value):在此映射中关联指定值与指定键。 • get(Object key):返回指定键在此标识哈希映射中所映射的值,如果对于此键来说,映射不包含任何映射关系,则返回 null。
HashMap • public class FileTest { • public static void main(String[] args) throws IOException { • HashMap map = new HashMap(); • map.put("1","cheche"); • System.out.println(map.get("1")); • } • }