Java 语言基础之语句
程序的四种流程控制结构:
- 顺序结构
- 判断结构 : if 语句
- 选择结构 : switch 语句
- 循环结构 : while 语句, do...while 语句, for 语句
以下主要分析循环结构:
- while 格式
while(条件表达式)
{
执行语句;
}
- do...while 格式
do
{
执行语句;
}while(条件表达式);
特点: 无论条件是否满足, 循环体至少执行一次.
- for 格式
for(初始化表达式; 循环条件表达式; 循环后的操作表达式)
{
执行语句;
}
for 和 while 的区别:
- for 和 while 可以互换;
2, 如果需要通过变量来对循环进行控制, 该变量只作为循环增量存在时, 区别就体现出来了.例如:
需求: 打印 1 ~ 10 十个数字
int x = 1;
while(x < 11)
{
System.out.println("x="+x);
}
for(int y = 1; y<11; y++)
{
System.out.println("y="+y);
}
备注:
- for 循环一结束, y 在内存中就释放了.
- 局部代码块: 可以决定局部变量的生命周期.
for 嵌套结构 (大圈套小圈思想)
嵌套循环, 外循环控制的是行数, 内循环控制的是列数.
练习一: 打印 5 * 5 雪花图形
*****
*****
*****
*****
*****
for(int x=0; x<5; x++)
{
// 可以先写内循环,确定一行的输出,
// 然后在写外循环,确定输出多少行
for(int y=0; y<5; y++)
{
System.out.print("*");
}
System.out.println();//打印完一行后,换行
}
练习二: 打印倒三角雪花(尖朝下)
*****
****
***
**
*
int z = 5;
for(int x=1; x<=5; x++)
{
// 列数随着行数的增加而递减,
// 递减可以有两种方式解决: 头不变, 尾变: 1-5, 1-4, 1-3...
// 头变, 尾不变: 1-5, 2-5, 3-5...
for (int y=1; y<=z; y++)
{
System.out.print("*");
}
System.out.println();
z--;
}
int z = 1;
for(int x=1; x<=5; x++)
{
// 列数随着行数的增加而递减,
// 头变, 尾不变: 1-5, 2-5, 3-5...
for (int y=z; y<=5; y++)
{
System.out.print("*");
}
System.out.println();
z++;
}
又发现 z 递增, x 也在递增. 故最终代码:
for(int x=1; x<=5; x++)
{
// 列数随着行数的增加而递减,
for (int y=x; y<=5; y++)
{
System.out.print("*");
}
System.out.println();
}
练习三: 打印倒三角雪花(尖朝上)
*
**
***
****
*****
for(int x = 1; x<=5; x++)
{
for(int y = 1; y<=x; y++ )
{
System.out.print("*");
}
System.out.println();
}
练习四: 打印九九乘法表
for(int x=1; x<=9; x++)
{
for(int y=1; y<=x; y++)
{
System.out.print(y+"*"+x+"="+y*x+"\t");
// \t 为制表符,保证格式优良
}
System.out.println();
}
练习五: 打印特殊三角形
* * * * *
* * * *
* * *
* *
*
分析: 该图形由 "*" 和空格组成
由两个三角形组成: 尖朝上的三角形和尖朝下的星空格
// 一共 5 行
for(int x=1; x<=5; x++)
{
// 打印尖朝上的三角形,第一行不打印
for(int y=1; y<x; y++)
{
System.out.print(" ");
}
// 打印尖朝下的星空格
for(int z=x; z<=5; z++)
{
System.out.print("* ");
}
System.out.println();
}
其他流程控制语句
- break 应用范围: 选择结构(switch) 和循环结构
- continue 应用范围: 循环结构. 代表结束本次循环, 继续下次循环.
参考资料:
JavaSE 基础视频(毕向东)
Java 语言基础之语句的更多相关文章
- day03<Java语言基础+>
Java语言基础(逻辑运算符的基本用法) Java语言基础(逻辑运算符&&和&的区别) Java语言基础(位运算符的基本用法1) Java语言基础(位异或运算符的特点及面试题) ...
- Java学习总结(二)----Java语言基础
1. Java语言基础 2.1 关键字 定义:被java语言赋予特殊含义的单词 特点:关键字中的字母都为小写 用于定义数据类型的关键字 class,interface,byte,short,i ...
- Java之--Java语言基础组成—数组
Java语言基础组成-数组 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的数组,数组 ...
- Java之--Java语言基础组成—函数
Java语言基础组成-函数 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的函数,函数 ...
- Java之--Java语言基础组成(关键字、标识符、注释、常量和变量、运算符)
Java语言基础组成-关键字.标识符.注释.常量和变量.运算符 Java语言由8个模块构成,分别为:1.关键字:2.标识符(包名.类名.接口名.常量名.变量名等):3.注释:4.常量和变量:5.运算符 ...
- Java语言基础(九)
Java语言基础(九) 一.自增运算(++) 自减运算(--) i++ 就是将i+1再赋给 i i-- 是将i-1再赋给 i 对变量i,j来说,i++ 或++i 这里没什么区别,都是将i的值加1后,再 ...
- Java语言基础(一)
Java语言基础(一) 在这里说明一下,有基础的跳过 高手跳过.在这里我想复习以前的东西,以及给正在学java的一些帮助 我用的MyEclipse8.5编写java代码,有需要联系我 QQ:9035 ...
- 第二十六节:复习Java语言基础-Java的概述,匿名对象,封装,构造函数
Java基础 Java语言概述 Java语言 语言 描述 javaee 企业版 javase 标准版 javame 小型版 JDK JDK(Java开发工具包) Java语言 语言 Java语言 Ja ...
- 第二十五节:Java语言基础-面向对象基础
面向对象 面向过程的代表主要是C语言,面向对象是相对面向过程而言,Java是面向对象的编程语言,面向过程是通过函数体现,面向过程主要是功能行为. 而对于面向对象而言,将功能封装到对象,所以面向对象是基 ...
随机推荐
- Atitit。激活某个程序的api attilax总结
Atitit.激活某个程序的api attilax总结 1. 设置当前某窗口为当前窗口,有几个步骤要做:1.得到窗口句柄FindWindow2.切换键盘输入焦点AttachThreadInput3.显 ...
- atitit.破解 拦截 绕过 网站 手机 短信 验证码 之自动获取手机短信方式 attilax 总结
atitit.破解 拦截 绕过 网站 手机 短信 验证码 之自动获取手机短信方式 attilax 总结 1. 自动获取手机短信方式的原理 1 2. 调用api 1 3. ----核心代码 2 4. ...
- APK反编译之一:基础知识
作者:lpohvbe | http://blog.csdn.net/lpohvbe/article/details/7981386 这部分涉及的内容比较多,我会尽量从最基础开始说起,但需要读者一定的a ...
- java使用lambda表达式对List集合进行操作(JDK1.8)
1. 使用lambda表达式对List集合进行操作(JDK1.) List<TreeDto> collect = list.stream().filter(item -> item. ...
- 动态webservice调用接口
using System; using System.Collections; using System.IO; using System.Net; using System.Text; using ...
- [Python]计算闰年时候出现的and和or优先级的问题以及短路逻辑
好吧题目非常easy.可是有些细节还是挺有意思的. 题目是:计算今年是否是闰年,推断闰年条件,满足年份模400为0,或者模4为0可是模100不为0 答案是这种: import time #计算今年是否 ...
- jquery Ajax Queue 队列实现
有时候我们需要按顺序调用一组ajax,这些ajax需要有先后顺序,类似于同步的ajax,那么我们可以通过以下的方式来实现: (这个Ajax用到jQuery.post) //定义一个AJAX队列 $.n ...
- Supervisord常见用法和介绍
Supervisord是用Python实现的一款非常实用的进程管理工具.supervisord会帮你把管理的应用程序转成daemon程序,而且可以方便的通过命令开启.关闭.重启等操作,而且它管理的进程 ...
- Django升级到1.10,MEDIA_ROOT发生TypeError错误
Getting error: “TypeError: view must be a callable or a list/tuple in the case of include().” when r ...
- rgb2yuv
1.rgb2yuv422p 代码的运算速度取决于以下几个方面 1. 算法本身的复杂度,比如MPEG比JPEG复杂,JPEG比BMP图片的编码复杂. 2. CPU自身的速度和设计架构 3. CPU的总线 ...