2018-03-08

本章我们将学到的知识点:

1、流程控制   2、数组

一、控制结构:Java 支持下列控制结构:选择、循环、跳转

选择:if-else   Switch

循环:while   do-while   for

跳转:break  Continue

if-else 结构的语法为:

if (条件) {语句1;} else{ 语句2;}   //if和else块中只有一条语句

if (条件) { 语句组1; } else { 语句组2; }  //if和else块中有多条语句

if (条件1){ 语句1; }else if (条件2){ 语句2; } … else if (条件m){ 语句 m; }else{ 语句n; }

switch 结构的语法为:

switch(表达式){//表达式必须为byte,short,int或char类型case '常量值 1': //常量值必须是与表达式类型兼容的特定的一个常量 不允许有重复的case值      语句(组);break;case '常量值 2':       语句(组);break; case '常量值 N': 语句(组);break;default: //default子句为可选 语句(组);}

循环语句使用规则

while 适合于开始不清楚循环将要进行的次数,而且循环可能一次都不进行的情况

do-while 适合于不清楚循环次数,但是循环肯定要进行一次的情况

for 适合于预先知道循环将要进行的次数的情况

注意:一定程度上他们是可以互相替换的。

//while 循环,“当型”循环,先判断条件再执行
while(条件){语句组; }//do-while循环,“直到型”循环,先执行再判断条件,也就是说,
//至少可以执行一次,在while(条件)后面的分号不要忘
do {语句组;
}while(条件);//for 循环,“初始化”和“循环条件表达式”部分可以使用逗号来执行多个操作,
//如果三个部分都为空语句(分号不能省),相当于一个无限循环
for(变量初始化; 循环条件表达式; 递增或递减变量的值){语句组; }

break和continue

break 语句在循环中用于立即从当前循环终止控制。 遇到 break 语句时,将跳出当前循环。

continue 语句则是从其调用处跳至循环的开始处。 continue 语句之后的语句将不再执行。

Return  返回语句的两种格式:

Return语句从当前方法退出,返回到调用该方法的语句处,并从紧跟该语句的下一条语句继续执行程序。

1、return expression 返回一个值给调用该方法的语句。 返回值的数据类型必须和方法声明中的返回值类型一致或是精度低于声明的数据类型。

2、return 当方法声明中用void声明返回类型为空时,应使用这种返回类型,它不返回任何值。

二、数 组

数组是有相同类型的、用一个标识符名称封装到一起的一个对象序列或基本数据类型数据序列。

数组是一种最简单的复合数据类型。

数组可以是一维的也可以是多维的。

一维数组定义:

type  arrayName[ ] 或 type[ ] arrayName

说明: type : 可以是java中任意的数据类型,包括简单类型和复合类型(也可以是数组) arrayName :为一个合法的标识符; [ ]指明该变量是一个数组类型的变量。

声明数组变量,例如声明一个数组x:

int   x[ ];
int[ ]  x;

声明一个数组,每个元素都是整数数据。 声明的时候不指定数组的长度。 只声明的数组是不能访问它的任何元素的。

为数组分配空间,用new关键为对象分配其内存空间:

type arrayName = new type[arraySize]
//例如:
int x = new int[100];

通过引用来使用数组元素 :arrayName[index] index为数组下标,可是整型常数或表达式。 index取值从 0 到 arraySize-1;

数组在内存中的分配:

当 x = null 即该数组对象不再被任何引用变量使用的时候,“垃圾回收器”将自动释放该内存资源。

数组的静态初始化

int ia[ ]={1,2,3,4};
int ia[ ]=new int[ ]{3,4,5};

动态初始化

int intArray[];//声名数组
intArray = new int[5];//为数组分配空间

注意:声明数组时,无论用何种方式定义数组,都不能指定其长度。

使用时要注意的问题: 

空指针异常(NullPointException) 只声明但没有初始化的时候直接使用该变量。

数组越界异常(ArrayIndexOutBoundsException) 所有数组的下标都从0开始。

int[] a ={1,2,3};
for (int i= 0; i< a.length; i++){ System.out.println(a[i]); }
//其中length属性表示数组的长度

三、多维数组

java没有真正的多维数组,只有数组的数组

二维数组的定义:

type arrayName[ ][ ];或    type[ ][ ] arrayName;
//例子:
int   xx[ ][ ] = new int[3][3];
int[ ][ ]   xx = {{3,2,7},{1,5},{6}};

静态初始化

int intArray[ ][ ]={{3,2,7},{1,5},{6}};

Java语言中,由于把二维数组看作是数组的数组,数组空间不是连续分配的,所以不要求二维数组每一维的大小相同。

动态初始化

int[][] xx = new int[3][];  //指定一个3行n列的数组
xx[0] = new int[3];  //指定第一行为3列
xx[1] = new int[2]; //指定第二行为2列

注意:在Java语言中,必须首先为最高维分配引用空间,然后再顺次为低维分配空间。

转载于:https://www.cnblogs.com/Parker-YuPeng/articles/8530577.html

跟我学JAVA / 第三课:Java流程控制与数组相关推荐

  1. java第三课,流程控制语句

                                流程控制语句 条件语句:              if语句:                        *if(条件 boolean类型) ...

  2. java个十百千万位余数_1 Java第三课[流程控制]

    1 Java第三课[流程控制] 1.1 回顾: 1. 标识符的命名:标识符通常意义上是指 类名,包名,方法名,属性名,普通变量等等. 2. 类命名:每个单词的首字母大写; 3. 变量命名规则:字母数字 ...

  3. Java第三课:电脑软件及快捷键应用

    Java第三课:电脑软件及快捷键应用 1.计算机软件(点击可跳转到解析链接) 计算机软件( Software,也称软件)是指计算机系统中的程序及其文档,程序是计算任务的处理对象和处理规则的描述:文档是 ...

  4. Java基础语法之变量、运算符、流程控制、数组和方法等基础语法

    变量.运算符.流程控制.数组和方法等基础语法.Java程序的执行流程,符合Java语法规则的程序. 1.1.1 Java初识 对Java进行简单介绍,Java程序如何执行,以及Java程序的结构. J ...

  5. java学习笔记2(datawhale教程):运算符和表达式、流程控制、数组

    java学习笔记2(datawhale教程):运算符和表达式.流程控制.数组 文章目录 java学习笔记2(datawhale教程):运算符和表达式.流程控制.数组 一.运算符和表达式 1.数学函数与 ...

  6. [笔记] 疯狂JAVA讲义(第3版)第4章 流程控制与数组

    文章目录 第4章 流程控制与数组 4.1 顺序结构 4.2 分支结构 4.2.1 if条件语句 4.2.2 Java 7 增强后的switch语句 4.3 循环结构 4.3.1 while循环 4.3 ...

  7. Java学习笔记(三):流程控制

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://mp.csdn.net/mdeditor/100662793 目录 ...

  8. java反射原理三种,Java反射的原理,作用

    什么是反射,反射原理 java类的执行需要经历以下过程 编译:.java文件编译后生成.class字节码文件 加载:类加载器负责根据一个类的全限定名来读取此类的二进制字节流到JVM内部,并存储在运行时 ...

  9. java day01第一课java简介

    java简介 个人简介 陈杜杰 联系方式:18227288633 从事java后台开发三年多,在创业公司和国企做过开发 熟悉JAVA.HTML.JS.CSS等语言 教学方式: 1.尊重学生,希望学生是 ...

最新文章

  1. Java学习之for---each语句
  2. 四阶龙格库塔法的基本思想_龙格库塔积分算法
  3. 【正一专栏】内马尔请不要把球迷的爱当做你交易的筹码
  4. pagefile.sys
  5. Java黑皮书课后题第8章:**8.12(金融应用:计算税款)使用数组重写程序清单3-5,每个纳税人身份都有6种税率。每种税率都应用在某个特定范围内的可征税收入
  6. linux之用xargs删除这个目录下面后缀为txt的文件(包括子目录)
  7. jquery地图插件jvectorMap
  8. response下载zip文件
  9. 201703:SuiteCRM自定义筛选界面
  10. boost::object_pool使用
  11. PDF Expert for Mac最新2020注册码激活版下载
  12. 神策数据虚席以待,欢迎加入!
  13. Python实现支持向量机(基于双月数据集)
  14. 路由器角色 ABR ASBR
  15. 32位系统的X86到底能支持多大内存
  16. SourceInsight 软件乱码问题
  17. 电商大数据分析平台项目(一)项目框架
  18. MySQL——Java 访问 MySQL 数据库
  19. 高中计算机课代表优秀事迹,开学啦 | 课代表欧弟的优秀事迹
  20. 2018年统计年鉴(excel版)

热门文章

  1. Ubuntu20.04 安装qq和微信
  2. SVD在推荐系统中的应用详解以及算法推导
  3. 汽车全景标定(拼接)效果的检验方法
  4. 可以让你玩儿光剑的程序,vc实现方法和代码
  5. 在caffe上跑自己的数据
  6. vue-typescript-toast (一款适用于pc平台的简单toast)
  7. Rancher Labs赋能合作伙伴抢滩容器市场
  8. 为什么他们能做成功?关于创业的几点感想
  9. git学习——Git 基础要点【转】
  10. 一個傳統的C2C網站的用戶充值的过程