Java基础知识(二)之控制语句
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基础知识(二)之控制语句的更多相关文章
- java 基础知识二 基本类型与运算符
java 基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者 ...
- Java基础知识二次学习--第三章 面向对象
第三章 面向对象 时间:2017年4月24日17:51:37~2017年4月25日13:52:34 章节:03章_01节 03章_02节 视频长度:30:11 + 21:44 内容:面向对象设计思 ...
- Java基础知识二次学习-- 第一章 java基础
基础知识有时候感觉时间长似乎有点生疏,正好这几天有时间有机会,就决定重新做一轮二次学习,挑重避轻 回过头来重新整理基础知识,能收获到之前不少遗漏的,所以这一次就称作查漏补缺吧!废话不多说,开始! 第一 ...
- 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 ...
- Java基础知识二次学习--第七章 容器
第七章 容器 时间:2017年4月27日15:08:30 章节:07章01节~07章04节 视频长度:20:21 +12:38 +3:55 +2:57 内容:容器API 心得: Java API ...
- Java基础知识二次学习--第五章 数组
第五章 数组 时间:2017年4月26日15:11:30~2017年4月26日15:15:54 章节:05章_01节 视频长度:09:30 内容:一维数组的内存分析 心得: Java中数组是引用类型 ...
- Java基础知识二次学习-- 第二章 基础语法与递归补充
第二章 基础语法与递归补充 时间:2017年4月24日10:39:18 章节:02章_01节,02章_02节 视频长度:49:21 + 15:45 内容:标识符,关键字与数据类型 心得:由字母,下 ...
- java基础知识(二)
java的布局管理: borderLayout:则将板块分为东西南北中五个方向,每添加一个组件就要指定组件摆放的方位,放置在东西南北四个方向的组件将贴边放置.当拉大Frame的时候,处在center( ...
- Java基础知识二次学习--第八章 流
第八章 流 时间:2017年4月28日11:03:07~2017年4月28日11:41:54 章节:08章_01节 视频长度:21:15 内容:IO初步 心得: 所有的流在java.io包里面 定 ...
- Java基础知识二次学习--第四章 异常
第四章 异常处理 时间:2017年4月26日11:16:39~2017年4月26日11:28:58 章节:04章_01节 04章_02节 视频长度:20:46+01:16 内容:异常的概念 心得: ...
随机推荐
- vsftpd的530 Login incorrect错误解决方法 vsftpd登录错误
530 Login incorrect只有用匿名anonymous才可登录,其余所有用户都报530 Login incorrect错 复制代码 代码如下: local_enable=YESwrite_ ...
- java String 转 Long 两种方法区别
Long.ValueOf("String")返回Long包装类型 包装类型: Byte,Integer,Short,Long,Boolean,Character,Float,Dou ...
- 《Drools7.0.0.Final规则引擎教程》第3章 3.1 Hello World 实例
3.1 Hello World 实例 在上一章中介绍了Drools5x版本中规则引擎使用的实例,很明显在Drools7中KnowledgeBase类已经标注为"@Deprecated&quo ...
- HAWQ取代传统数仓实践(十三)——事实表技术之周期快照
一.周期快照简介 周期快照事实表中的每行汇总了发生在某一标准周期,如一天.一周或一月的多个度量.其粒度是周期性的时间段,而不是单个事务.周期快照事实表通常包含许多数据的总计,因为任何与事实表时间范围一 ...
- Android 进阶14:源码解读 Android 消息机制( Message MessageQueue Handler Looper)
不要心急,一点一点的进步才是最靠谱的. 读完本文你将了解: 前言 Message 如何获取一个消息 Messageobtain 消息的回收利用 MessageQueue MessageQueue 的属 ...
- Leetcode 999. Available Captures for Rook
class Solution: def numRookCaptures(self, board: List[List[str]]) -> int: rook = [0, 0] ans = 0 f ...
- MySql必知必会实战练习(四)主键、外键、sql约束、联结表
本博将对主键.外键.MySql数据库约束和联结表的相关特性进行总结和实战 1. 主键 表中的每一行都应该具有可以唯一标识自己的一列(或一组列),而这个承担标识作用的列称为主键 如果没有主键,数据的管理 ...
- HBase错误大全
1. stopping hbasecat: /tmp/hbase-root-master.pid: No such file or directory 原因:hadoop的pid文件丢失,hadoop ...
- 重温CLR(四)基元类型、引用类型、值类型
编程语言的基元类型 编译器直接支持的数据类型称为基元类型(primitive type).基元类型直接映射到framework类型(fcl)中存在的类型. 下表列出fcl类型 从另一个角度,可以认为C ...
- C# 通过窗口句柄获取程序路径 图标
转自:http://qqhack8.blog.163.com/blog/static/11414798520113363829505/ C# 通过窗口句柄获取程序路径 图标using System;u ...