1、条件运算符

     ⑴if...else...

   ⑵三目表达式——X?Y:Z 当X为真时,结果为Y;反之,为Z。

   ⑶switch(表达式){

      case 1:    执行代码块 1;

             break;

      case 2:    执行代码块 2;

             break;

      case n:    执行代码块 n;

             break;

      default:      默认执行的代码;

     }

    ①case 匹配后,执行匹配块里的程序代码,如果没有遇见 break 会继续执行下一个的 case 块的内容,

     直到遇到 break 语句或者 switch 语句块结束

    ②可以把功能相同的 case 语句合并起来,如

      case1:

      case2:

        System.out.println(“   ”);

    ③ default 块可以出现在任意位置,也可以省略

2.循环 

  1)for(循环初值;循环条件;步长){循环体}
    循环初值可以放在for循环的前面,循环条件可在循环体中break,步长可以放在循环体内,但括号里的分号(;;)不能省略。
    执行过程:先执行循环初值,执行循环条件判断是否符合条件:

    符合则执行循环体,再执行步长,在进行循环判断,直至不符合循环条件;若不符合循环条件,则退出循环。

    for 循环变量初始化和循环变量变化部分,可以是使用 “,” 同时初始化或改变多个循环变量的值,如:for(int i=1,j=5;i<5;i++,j--)

  2)while(循环条件){循环体 步长}初值放在while循环的前面。

    如果明确知道循环次数,用for循环;若不能确定循环次数,则用while循环。
  3)、do{循环体 步长}while(循环条件);
    do...while...循环的循环体至少执行一次;因为它是先执行循环体,在执行循环条件。

  循环的嵌套:外面的循环控制行,里面的循环控制列。

3.循环跳转语句

  break——结束整个循环
  continue——结束本次循环,进入下一次循环

 4.方法

  访问修饰符 返回值类型   方法名  (参数列表){

      方法体;    

  }

  访问修饰符:方法允许被访问的权限范围
  方法名:一般采用第一个单词首字母小写,其它单词首字母大写的形式
  调用方法:可以先创建类的对象,然后通过 对象名.方法名(); 来实现
  方法的返回值最多只能有一个,不能返回多个值,但可返回数组。
  必须保证实参的数量、类型、顺序与形参一一对应
  调用方法时,实参不需要指定数据类型
  !!!方法后面一定加“()”
  方法重载:同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载。

        与方法的修饰符和返回值无关。

5.递归调用

  递归——方法调用其本身(树形结构的问题都用递归来解决)

  例:Fibonacci(递归方法)

public class Test{
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);
}
}

    Fibonacci(非递归方法)

public class Fab {
public static void main(String[] args) {
System.out.println(f(-9));
}
public static long f(int index) {
if(index < 1) {
System.out.println("invalid parameter!");
return -1;
}
if(index == 1 || index == 2) {
return 1;
} long f1 = 1L;
long f2 = 1L;
long f = 0; for(int i=0; i<index-2; i++) {
f = f1 + f2;
f1 = f2;
f2 = f; } return f;
}
}

Java基础知识(二)之控制语句的更多相关文章

  1. java 基础知识二 基本类型与运算符

    java  基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者 ...

  2. Java基础知识二次学习--第三章 面向对象

    第三章 面向对象   时间:2017年4月24日17:51:37~2017年4月25日13:52:34 章节:03章_01节 03章_02节 视频长度:30:11 + 21:44 内容:面向对象设计思 ...

  3. Java基础知识二次学习-- 第一章 java基础

    基础知识有时候感觉时间长似乎有点生疏,正好这几天有时间有机会,就决定重新做一轮二次学习,挑重避轻 回过头来重新整理基础知识,能收获到之前不少遗漏的,所以这一次就称作查漏补缺吧!废话不多说,开始! 第一 ...

  4. Java基础知识二次学习--第六章 常用类

    第六章 常用类   时间:2017年4月26日16:14:49~2017年4月26日16:56:02 章节:06章_01节~06章_06节 视频长度:20:57+1:15+8:44+1:26+11:2 ...

  5. Java基础知识二次学习--第七章 容器

    第七章 容器   时间:2017年4月27日15:08:30 章节:07章01节~07章04节 视频长度:20:21 +12:38 +3:55 +2:57 内容:容器API 心得: Java API ...

  6. Java基础知识二次学习--第五章 数组

    第五章 数组 时间:2017年4月26日15:11:30~2017年4月26日15:15:54 章节:05章_01节  视频长度:09:30 内容:一维数组的内存分析 心得: Java中数组是引用类型 ...

  7. Java基础知识二次学习-- 第二章 基础语法与递归补充

    第二章 基础语法与递归补充   时间:2017年4月24日10:39:18 章节:02章_01节,02章_02节 视频长度:49:21 + 15:45 内容:标识符,关键字与数据类型 心得:由字母,下 ...

  8. java基础知识(二)

    java的布局管理: borderLayout:则将板块分为东西南北中五个方向,每添加一个组件就要指定组件摆放的方位,放置在东西南北四个方向的组件将贴边放置.当拉大Frame的时候,处在center( ...

  9. Java基础知识二次学习--第八章 流

    第八章 流   时间:2017年4月28日11:03:07~2017年4月28日11:41:54 章节:08章_01节 视频长度:21:15 内容:IO初步 心得: 所有的流在java.io包里面 定 ...

  10. Java基础知识二次学习--第四章 异常

    第四章 异常处理   时间:2017年4月26日11:16:39~2017年4月26日11:28:58 章节:04章_01节 04章_02节 视频长度:20:46+01:16 内容:异常的概念 心得: ...

随机推荐

  1. 简要谈谈javascript bind 方法

    最近去参加了场面试,跟面试官聊了很多JS基础上的东西,其中有个问题是谈谈对apply.call.bind的理解和区别.顿时一愣,apply.call我知道,经常用的东西,bind是什么鬼!!!好像见过 ...

  2. Android中自动跳转

    先看效果图吧    -------->        -------->   Activity类 package com.xm; import java.io.File; import j ...

  3. R语言:数据的分割-计算-整合(split-apply-aggregate)

    当获取到原始数据时,我们通常的做法是对该数据进行分割成小片段,然后对各小片段进行计算统计,最后整合成最终的数据.这是统计学里数据处理的一般规律. R语言为我们提供了相应的函数来分别处理这三个阶段任务. ...

  4. AS3里面的错误代码

    ActionScript 3 出现2048安全策略服务,一种原因是因为843端口下发策略文件有问题,另一种原因是Socket端口有问题,可以用telnet来测试. 其它AS3错误代码的意义可以在官网文 ...

  5. touch-action属性

    CSS属性 touch-action 用于指定某个给定的区域是否允许用户操作,以及如何响应用户操作(比如浏览器自带的划动.缩放等). /* Keyword values */touch-action: ...

  6. NETCore中RabbitMQ的使用

    NET中RabbitMQ的使用 https://www.cnblogs.com/xibei666/p/5931267.html 概述 MQ全称为Message Queue, 消息队列(MQ)是一种应用 ...

  7. 洛谷 P1262 间谍网络

    传送门 题目大意:A能揭发B,B能揭发C..某些人可以被收买,如果收买A,那么A,B,C..的情报都可以得到. 求能否得到所有情报,如果可以最少花费多少钱去收买. 题解:tajian缩点 dfs/bf ...

  8. UART驱动分析

    在linux用户层上要操作底层串口需要对/dev/ttySxxx操作,这里的ttySx指实际的终端串口. 以下以全志A64为实例,分析UART驱动以及浅谈TTY架构. linux-3.10/drive ...

  9. 为什么 I2C(IIC)需要上拉电阻

    源鑫问: I2C时钟线和数据线为什么要接上拉电阻? 因为 I2C 的 IO 是开漏的,所以需要上拉电阻. 延伸: 之前 hippo曾经说过有人将 IO 设置为 PP,可能会烧 IO. 之前以为 I2C ...

  10. Ambari和YARN的Capacity调度器,安装过程

    用Spark测试YARN的资源池,测试过程中发现很多时候爆资源不够: 于是添加机器,专门用于跑spark:首先是ssh不通,原来错把71的id_psa.put文件拷贝到64上面:后来ssh通了,amb ...