Java实例 Part3:流程控制
这一部分流程控制语句包括:顺序结构、选择结构、循环结构、跳转语句。

具体区别待补充。。。
@
Example01:判断某一年是否为闰年
要求:用户输入年份,并判断输入的年份是否为闰年。
运行结果:

实现代码:
import java.util.Scanner;
public class Example01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入年份:");
int year = scanner.nextInt();
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
System.out.println(year+"年是闰年!");
}else{
System.out.println(year+"年不是闰年!");
}
}
}
要点: 判断一个年份是否闰年,要满足两个条件:一是能被4整除但不能被100整除,另一个是能被400整除。
year % 4 == 0 && year % 100 != 0 || year % 400 == 0</>
Example02:验证登录信息的合法性
运行结果:

实现代码:
import java.util.Scanner;
public class Example02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入用户名:");
String username = scanner.nextLine();
System.out.println("请输入密码:");
String password = scanner.nextLine();
if (!username.equals("admin")){
System.out.println("用户名不正确!");
} else if(!password.equals("123")){
System.out.println("密码不正确!");
}else {
System.out.println("恭喜你,登录信息通过验证!");
}
}
}
要点: 字符串属于对象而非基本数据类型,不能使用“= =”来判断两个字符串是否相等,所以要通过equal()来判断两个字符串内容是否相同。使用“= =”判断的是两个字符串对象的内存地址,而非字符串内容。
语法:
if(表达式){
若干语句;
}else If(表达式){
若干语句;
}else{
若干语句;
}
Example03:判断用户输入月份的季节
运行结果:

实现代码:
import java.util.Scanner;
public class Example03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入月份:");
int month = scanner.nextInt();
switch (month){
case 12:
case 1:
case 2:
System.out.println(month+"月是冬季!");
break;
case 3:
case 4:
case 5:
System.out.println(month+"月是春季!");
break;
case 6:
case 7:
case 8:
System.out.println(month+"月是夏季!");
break;
case 9:
case 10:
case 11:
System.out.println(month+"月是秋季!");
break;
default:
System.out.println("没有这个月份哦!!!");
}
}
}
要点: 该实例用到的是switch选择结构。
语法:
switch(表达式){
case 常量表达式1:语句序列1
[break;]
case 常量表达式2:语句序列2
[break;]
...
case 常量表达式n:语句序列n
[break;]
default:语句序列n+1
[break;]
}
Example04:使用while循环语句与自增运算符循环遍历数组
运行结果:

实现代码:
public class Example04 {
public static void main(String[] args) {
//创建数组
String[] strings = {"Java","C","C++","Pathon","PHP"};
int index = 0; //创建索引变量
System.out.println("编程语言有:");
while (index < strings.length){ //遍历数组
System.out.println(strings[index++]); //自增索引值
}
}
}
要点: 注意自增自减前置和后置的区别。
语法:
while(条件表达式){
语句表达式;
}
Example05:使用for循环输出杨辉三角
要求: 输出10行内容的杨辉三角。利用二维数组,其中杨辉三角的两侧值都为1,其他位置的数值是其正上方的数值与左上角数值之和。
运行结果:

实现代码:
public class Example05 {
public static void main(String[] args) {
int triangle[][] = new int[10][];
//遍历数组的第一层
for (int i = 0;i<triangle.length;i++){
//初始化第二层数组的大小
triangle[i] = new int[i+1];
for (int j = 0;j<=i;j++){
if (i==0||j==0||i==j){
triangle[i][j] = 1;
}else {
triangle[i][j] = triangle[i-1][j] + triangle[i-1][j-1];
}
System.out.print(triangle[i][j]+"\t");
}
System.out.println();
}
}
}
要点: 在二维数组中,第一个下标值表示行数,第二个下标值表示的是列数。两侧数值为0,其余数值通过计算:
triangle[i][j] = triangle[i-1][j] + triangle[i-1][j-1];
Java实例 Part3:流程控制的更多相关文章
- Java中的流程控制(三)
关于Java中的流程控制 关于Java中的流程控制 4.do while语句 do while语句的功能和while语句差不多,只不过它是在执行完第一次循环后才检测条件表达式的值,这意味着包含在大括号 ...
- Java中的流程控制(二)
关于Java程序的流程控制(二) 关于Java程序的流程控制(二) 3.switch选择语句 switch语句用于将一个表达式的值同许多其他值比较,并按比较结果选择下面该执行哪些语句. switch( ...
- Java中的流程控制(一)
程序的流程控制(一) 关于Java程序的流程控制(一) 从结构化程序设计角度出发,程序有三种结构: 顺序结构 选择结构 循环结构 1.顺序结构 就是程序从上到下一行行执行,中间没有判断和跳转. 2.i ...
- Java 基本语法---流程控制
Java 基本语法---流程控制 0. 概述 三大流程控制语句:顺序.选择.循环. 选择结构: if 结构,if - else结构: 多重 if - else 语句 ; 嵌套 if - else 语句 ...
- Java基础-程序流程控制第二弹(循环结构)
Java基础-程序流程控制第二弹(循环结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 流程控制有三种基本结构:顺序结构,选择结构和循环结构.一个脚本就是顺序结构执行的,选择结 ...
- Java基础-程序流程控制第一弹(分支结构/选择结构)
Java基础-程序流程控制第一弹(分支结构/选择结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.if语句 1>.if语句的第一种格式 if(条件表达式){ 语句体: ...
- Java编程基础——流程控制
Java编程基础——流程控制 摘要:本文主要介绍Java编程中的流程控制语句. 分类 流程控制指的是在程序运行的过程中控制程序运行走向的方式.主要分为以下三种: 顺序结构:从上到下依次执行每条语句操作 ...
- Java 基础 程序流程控制 (下)
Java 程序流程控制 (下) 此篇单独对循环结构的知识点进行整理: 之前讲到循环结构分为:for循环,while循环,do...while循环三种最基本的循环结构:在JDK1.5以后的版本还提供了f ...
- Java 基础 程序流程控制 (上)
Java程序流程控制 (上) Java程序大体分为三种流程控制结构:顺序结构.分支结构.循环结构 顺序结构 程序由上到下的逐行执行,中间没有任何跳转和判断语句. 示例代码如下: public clas ...
- Java运算符和流程控制
1 运算符 1.1 比较运算符 比较运算符的结果都是boolean类型,也即是要么是true,要么是false. 比较运算符"=="不能写成"=". > ...
随机推荐
- CentOS7中永久保存systemd日志
将systemd的日志写入磁盘: 1.在/var/log/目录下创建日志存放目录,并加入systemd-journal的权限: ~]#mkdir /var/log/journal ~]#chown r ...
- CSS学习---css基础知识0105
CSS, Cascading Style Sheets的简称,中文称为层叠样式表,用来控制网页数据的表现,可以使网页的表现与数据内容分离. 举例:颜色,大小,高度.宽度.内外边距.边框.浮动.定位.字 ...
- 寒假关于计算机课程的学习计划(第二次作业<二>)
由于自己刚从紧张的高中学习中解脱出来,进入大学学习意识不够重视,导致学业与别人相差较大,特别是C语言,所以打算寒假主要先补一补C语言.自己在网上查找了很多资料,包括浙江大学翁凯老师在网易云课堂讲的&l ...
- IOS .a静态库的和.framework制作
什么是库? 库是程序代码的集合,是共享程序代码的一种方式 根据源代码的公开情况,库可以分为2种类型 开源库 公开源代码,能看到具体实现 比如SDWebImage.AFNetworking 闭源库 不公 ...
- 由JDK源码学习HashMap
HashMap基于hash表的Map接口实现,它实现了Map接口中的所有操作.HashMap允许存储null键和null值.这是它与Hashtable的区别之一(另外一个区别是Hashtable是线程 ...
- 【OpenCV】三种方式操作图像像素
OpenCV中,有3种访问每个像素的方法:使用at方法.使用迭代器方法.使用指针 运行如下程序后可以发现使用at方法速度最快. 代码如下: //操作图像像素 #include <opencv2/ ...
- BZOJ1563:[NOI2009]诗人小G(决策单调性DP)
Description Input Output 对于每组数据,若最小的不协调度不超过1018,则第一行一个数表示不协调度若最小的不协调度超过1018,则输出"Too hard to arr ...
- 【[CQOI2015]选数】
这道题自然是可以反演的 按照反演的套路我们先设出两个函数 \(F(n)\)表示从\([L,H]\)中任选\(N\)个数的最大公约数是\(n\)或者\(n\)的倍数的情况数 \(f(n)\)表示从\([ ...
- linq中当生成asp.net实体模式时
linq中当生成asp.net实体模式时 注意: 选中 工具->库程序包管理器->管理解决方案的nuget程序包 选中下面的进行下载.
- Mac安装软件时提示已损坏的解决方法
问题描述 最近安装从网上下载的软件,安装完之后打开提示xxx已损坏,打不开,软件无法打开. 其实,这是新系统(macOS Sierra 10.12.X)新安全机制的锅,它默认不允许用户自行下载安装应用 ...