java基础总结03-java基础语法2
2017-04-19 22:53
274 查看
1 流程控制(语句)
1.1 条件语句
1.1.1 if语句
1.1.2 分支语句(switch语句)
switch语句中表达式必须为int、char、枚举(Java5新特性)或字符串(Java7新特性)
1.2 循环语句
1.2.1 for循环语句
学会画内存分析图分析别人写的程序,这样就很容易分析出规律,分析出规律也就明白了别人的算法,也就很容易读懂别人的程序。
在内存中分析result=1!+2!……+10!的算法
分析到i等于3以后,基本上已经得到规律了,这个程序要计算的就是:result = 1!+2!+3!……+10!。
由此可以看出,懂得画内存去分析程序对读懂别人的程序是大有裨益的。以后读别人的程序的时候,觉得难读懂的时候就画内存分析。
学习别人的算法的最好的途径是分析别人写的程序,分析的过程结合内存分析是最好的做法。
1.2.2 while循环和do while循环
1.2.3 break和continue语句
2 方法
方法执行到return语句后,这个方法的执行就结束了,方法可以有返回值,但可以不用这个返回值。方法首先要定义,然后才能调用。
public class TestMethod{ public static void main(String args[]){ m(); m1(3); m2(2,3); int i = m3(4,5); System.out.println(i); } //以下定义的都是静态方法,静态方法可以在main()方法里面直接调用 public static void m(){ System.out.println("Hello!"); System.out.println("孤傲苍狼"); } public static void m1(int i){ if(i==5){ return; } System.out.println(i); } public static void m2(int i,int j){ System.out.println(i+j); } public static int m3(int i,int j){ return i+j; } }
2.1 方法重载
方法重载是指在一个类中定义多个同名方法,但要求每个方法的参数列表必须不同。调用重载方法时,编译器通过检查调用的方法的参数列表选择一个合适的方法。方法重载的知识点:
- 方法重载和返回值类型与权限修饰符无关,不过可以任意改变它们
- 必须改变参数列表的个数、种类、顺序中至少一种
- 方法重载最常用的是构造方法重载
示例程序:
public class Test17 { private String name; //构造方法的方法重载 public Test17(){} public Test17(String name){ this.setName(name); System.out.println(name+" has been constructed!"); } public static void main(String[] args) { Test17 t=new Test17("k"); System.out.println(t.add(1, 1.1));//使用原始方法 System.out.println(t.add(1, 1.1, 1));//使用重载版一 System.out.println(t.add(1.1 , 1.1));//使用重载版二 System.out.println(t.add(1.1, 1));//使用重载版三 } //方法重载 public double add(int a,double b){ return a+b; } public double add(int a,double b,int c){//参数列表的个数不同 return add(a,b)+c; } public int add(double a,double b){//参数列表的类型不同 return (int)(a+b); } protected double add(double a,int b){//参数列表的顺序不同 return a+b; } //私有变量的getter与setter public String getName() { return name; } public void setName(String name) { this.name = name; } }
3 递归调用
递归:在一个方法内部对自身的调用就称为递归范例:使用递归计算第5个斐波那契数列数
/*计算第5个斐波那契数列数*/ /* 斐波那契数列特点:f(1)=1,f(2)=1,f(3)=f(1)+f(2),f(4)=(f2)+(f3)……依次类推。 即后一个数都是等于前两个数的和,这样的数列就是斐波那契数列。 */ /* 使用递归调用的方法计算 */ public class Fab{ public static void main(String args[]){ System.out.println(f(5)); } public static int f(int n){ if(n==1||n==2){ return 1; }else{ return f(n-1)+f(n-2); } } }
整个在内存中执行过程如下图所示
4 程序的执行过程
相关文章推荐
- JavaSe总结-03--Java基础语法(2)
- 黑马程序员-Java基础总结03——Java基本语法(二)
- Java基础总结 03 基础语法
- Java基础语法总结2
- java语法总结03--方法
- Java 学习 第一章 java基础语法总结
- 黑马程序员_学习笔记:2) Java语法基础总结
- Java基础语法总结1
- JAVA基础语法学习总结
- JAVA基础语法总结
- ★★★易忘点总结〖Java语法基础〗
- JavaSE学习总结第03天_Java基础语法2
- 黑马程序员——Java基础语法总结
- java 基础语法总结
- 黑马程序员 03 Java基础教学 - 03 - Java基础之语法
- 黑马程序员--Java基础加强--03.代码简化 书写规律II_参数化数据类型【重载】【多态】【泛型】【泛型限定】【个人总结】
- Java基础语法总结
- Java基础语法总结2
- Java培训笔记十一(自己总结的Java语法基础)
- 【Java.Web】JSP —— 语法基础 —— 总结