搜索
首页Javajava教程java流程控制

java流程控制

Jun 23, 2017 pm 04:26 PM
java控制流程

判断某一年是否为闰年

package com;

import java.util.Scanner;

public class Msj {

public static void main(String[] args) {

Scanner scan = new Scanner(System.in);

System.out.println("请输入一个年份:"); //向控制台输出一个提示信息

long year;

try {

year = scan.nextLong();

if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { // 是闰年

System.out.print(year + "是闰年!");

} else { // 不是闰年

System.out.print(year + "不是闰年!");

}

} catch (Exception e) {

System.out.println("您输入的不是有效的年份!");

}

}

}

结果:

验证登录信息的合法性

package com;

import java.util.Scanner;

public class Msj {
   public static void main(String[] args) {
       Scanner scan = new Scanner(System.in);// 创建扫描器
       System.out.println("请输入登录用户名:");
       String username = scan.nextLine();// 接收用户输入登录名
       System.out.println("请输入登录密码:");
       String password = scan.nextLine();// 接收用户输入登录密码
       if (!username.equals("mr")) {// 判断用户名合法性
           System.out.println("用户名非法。");
       } else if (!password.equals("mrsoft")) {// 判断密码合法性
           System.out.println("登录密码错误。");
       } else {// 通过以上两个条件判断则默认通过登录验证
           System.out.println("恭喜您,登录信息通过验证。");
       }
     }
}

结果

为新员工分配部门

package com;

import java.util.Scanner;

public class Msj {
   public static void main(String[] args) {
       Scanner scan = new Scanner(System.in);
       System.out.println("请输入新员工的姓名:");
       String name = scan.nextLine();// 接收员工名称
       System.out.println("请输入新员工应聘的编程语言:");
       String language = scan.nextLine();// 接收员工应聘的编程语言
       // 根据编程语言确定员工分配的部门
       switch (language.hashCode()) {
           case 3254818:// java的哈希码
           case 2301506:// Java的哈希码
           case 2269730:// JAVA的哈希码
               System.out.println("员工"+name+"被分配到Java程序开发部门。");
               break;
           case 3104:// c#的哈希码
           case 2112:// C#的哈希码
               System.out.println("员工"+name+"被分配到C#项目维护组。");
               break;
           case -709190099: // asp.net的哈希码
           case 955463181:  // Asp.net的哈希码
           case 9745901:    // ASP.NET的哈希码
               System.out.println("员工"+name+"被分配到Asp.net程序测试部门。");
               break;
           default:
               System.out.println("本公司不需要" + language + "语言的程序开发人员。");
       }
     }
}

用switch语句根据消费金额计算折扣 

package com;

import java.util.Scanner;

public class Msj {
   public static void main(String[] args) {
       float money = 1170; // 金额
       String rebate = ""; // 折扣
       if (money > 200) {
           int grade = (int) money / 200; // 等级
           switch (grade) { // 根据等级计算折扣比例
               case 1:
                   rebate = "九五折";
                   break;
               case 2:
                   rebate = "九折";
                   break;
               case 3:
                   rebate = "八五折";
                   break;
               case 4:
                   rebate = "八三折";
                   break;
               case 5:
                   rebate = "八折";
                   break;
               case 6:
                   rebate = "七八折";
                   break;
               case 7:
                   rebate = "七五折";
                   break;
               case 8:
                   rebate = "七三折";
                   break;
               case 9:
                   rebate = "七折";
                   break;
               case 10:
                   rebate = "六五折";
                   break;
               default:
                   rebate = "六折";
           }
       }
       System.out.println("您的累计消费金额为:" + money);// 输出消费金额
       System.out.println("您将享受" + rebate + "优惠!"); // 输出折扣比例
     }
}

结果:

判断用户输入月份的季节

package com;

import java.util.Scanner;

public class Msj {
   public static void main(String[] args) {
       Scanner scan = new Scanner(System.in); // 创建扫描器
       // 提示用户输入月份
       System.out.println("请输入一个月份,我能告诉你它属于哪个季节。");
       int month = scan.nextInt(); // 接收用户输入
       switch (month) { // 判断月份属于哪个季节
           case 12:
           case 1:
           case 2:
               System.out.print("您输入的月份属于冬季。");
               break;
           case 3:
           case 4:
           case 5:
               System.out.print("您输入的月份属于春季");
               break;
           case 6:
           case 7:
           case 8:
               System.out.print("您输入的月份属于夏季");
               break;
           case 9:
           case 10:
           case 11:
               System.out.print("您输入的月份属于秋季");
               break;
           default:
               System.out.print("你那有" + month + "月份吗?");
       }
     }
}

结果

使用while循环语句与自增运算符循环遍历数组 

package com;

import java.util.Scanner;

public class Msj {
   public static void main(String[] args) {
       // 创建鸟类数组
       String[] aves = new String[] { "白鹭", "黄鹂", "鹦鹉", "乌鸦", "喜鹊",
               "布谷鸟", "斑鸠", "百灵鸟" };
       int index = 0;// 创建索引变量
       System.out.println("我的花园里有很多鸟,大约包括:");
       while (index < aves.length) {// 遍历数组
System.out.println(aves[index++]);// 自增索引值
}
}
}

结果:

使用for循环输出杨辉三角形

package com;

import java.util.Scanner;

public class Msj {
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++){
// 将两侧的数组元素赋值为1
if(i==0||j==0||j==i){
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(); //换行
}
}
}

结果:

使用嵌套循环在控制台上输出九九乘法表

package com;

import java.util.Scanner;

public class Msj {
public static void main(String[] args) {
for(int i=1;i<=9;i++){// 循环控制变量从1遍历到9
for(int j=1;j<=i;j++){// 第二层循环控制变量与第一层最大索引相等
// 输出计算结果但不换行
System.out.print(j+"*"+i+"="+i*j+"\t");
}
System.out.println();// 在外层循环中换行
}
}
}

结果:

使用while循环计算1+1/2!+1/3!…1/20!

package com;

import java.math.BigDecimal;
import java.util.Scanner;

public class Msj {
public static void main(String[] args) {
BigDecimal sum = new BigDecimal(0.0); // 和
BigDecimal factorial = new BigDecimal(1.0); // 阶乘项的计算结果
int i = 1; // 循环增量
while (i <= 20) {
sum = sum.add(factorial); // 累加各项阶乘的和
++i; // i加1
factorial = factorial.multiply(new BigDecimal(1.0 / i)); // 计算阶乘项
}
System.out.println("1+1/2!+1/3!···1/20!的计算结果等于:\n" + sum); // 输出计算结果
}
}

结果:

使用for循环输出空心的菱形

package com;

import java.math.BigDecimal;
import java.util.Scanner;

public class Msj {
public static void main(String[] args) {
printHollowRhombus(6);
}
public static void printHollowRhombus(int size) {
if (size % 2 == 0) {
size++;// 计算菱形大小
}
for (int i = 0; i < size / 2 + 1; i++) {
for (int j = size / 2 + 1; j > i + 1; j--) {
               System.out.print("  ");// 输出左上角位置的空白
           }
           for (int j = 0; j < 2 * i + 1; j++) {
               if (j == 0 || j == 2 * i) {
                   System.out.print("* ");// 输出菱形上半部边缘
               } else {
                   System.out.print("  ");// 输出菱形上半部空心
               }
           }
           System.out.println(""); //换行
       }
       for (int i = size / 2 + 1; i < size; i++) {
           for (int j = 0; j < i - size / 2; j++) {
               System.out.print("  ");// 输出菱形左下角空白
           }
           for (int j = 0; j < 2 * size - 1 - 2 * i; j++) {
               if (j == 0 || j == 2 * (size - i - 1)) {
                   System.out.print("* ");// 输出菱形下半部边缘
               } else {
                   System.out.print("  ");// 输出菱形下半部空心
               }
           }
           System.out.println(""); //换行
       }
   }
}

结果:

终止循环体

package com;

import java.math.BigDecimal;
import java.util.Scanner;

public class Msj {
   public static void main(String[] args) {
       System.out.println("\n-------------中断单层循环的例子-------------");
       // 创建数组
       String[] array = new String[] { "白鹭", "丹顶鹤", "黄鹂", "鹦鹉", "乌鸦", "喜鹊",
               "老鹰", "布谷鸟", "老鹰", "灰纹鸟", "老鹰", "百灵鸟" };
       System.out.println("在你发现第一只老鹰之前,告诉我都有什么鸟。");
       for (String string : array) { // foreach遍历数组
           if (string.equals("老鹰")) // 如果遇到老鹰
               break;// 中断循环
           System.out.print("有:" + string+"        "); // 否则输出数组元素
       }

       System.out.println("\n\n-------------中断双层循环的例子-------------");
       // 创建成绩数组
       int[][] myScores = new int[][] { { 67, 78, 63, 22, 66 }, { 55, 68, 78, 95, 44 }, { 95, 97, 92, 93, 81 } };
       System.out.println("宝宝这次考试成绩:\n数学\t语文\t英语\t美术\t历史");
       No1: for (int[] is : myScores) { // 遍历成绩表格
           for (int i : is) {
               System.out.print(i + "\t"); // 输出成绩
               if (i < 60) { // 如果中途遇到不及格的,立刻中断所有输出
                   System.out.println("\n等," + i + "分的是什么?这个为什么不及格?");
                   break No1;
               }
           }
           System.out.println();
       }
   }
}

结果:

循环体的过滤器 :

package com;

import java.math.BigDecimal;
import java.util.Scanner;

public class Msj {
   public static void main(String[] args) {
       // 创建数组
       String[] array = new String[] { "白鹭", "丹顶鹤", "黄鹂", "鹦鹉", "乌鸦", "喜鹊",
               "老鹰", "布谷鸟", "老鹰", "灰纹鸟", "老鹰", "百灵鸟" };
       System.out.println("在我的花园里有很多鸟类,但是最近来了几只老鹰,请帮我把它们抓走。");
       int eagleCount = 0;
       for (String string : array) {// foreach遍历数组
           if (string.equals("老鹰")) {// 如果遇到老鹰
               System.out.println("发现一只老鹰,已经抓到笼子里。");
               eagleCount++;
               continue;// 中断循环
           }
           System.out.println("搜索鸟类,发现了:" + string);// 否则输出数组元素
       }
       System.out.println("一共捉到了:" + eagleCount + "只老鹰。");
   }
}

结果:

 

以上是java流程控制的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
如何将Maven或Gradle用于高级Java项目管理,构建自动化和依赖性解决方案?如何将Maven或Gradle用于高级Java项目管理,构建自动化和依赖性解决方案?Mar 17, 2025 pm 05:46 PM

本文讨论了使用Maven和Gradle进行Java项目管理,构建自动化和依赖性解决方案,以比较其方法和优化策略。

如何使用适当的版本控制和依赖项管理创建和使用自定义Java库(JAR文件)?如何使用适当的版本控制和依赖项管理创建和使用自定义Java库(JAR文件)?Mar 17, 2025 pm 05:45 PM

本文使用Maven和Gradle之类的工具讨论了具有适当的版本控制和依赖关系管理的自定义Java库(JAR文件)的创建和使用。

如何使用咖啡因或Guava Cache等库在Java应用程序中实现多层缓存?如何使用咖啡因或Guava Cache等库在Java应用程序中实现多层缓存?Mar 17, 2025 pm 05:44 PM

本文讨论了使用咖啡因和Guava缓存在Java中实施多层缓存以提高应用程序性能。它涵盖设置,集成和绩效优势,以及配置和驱逐政策管理最佳PRA

如何将JPA(Java持久性API)用于具有高级功能(例如缓存和懒惰加载)的对象相关映射?如何将JPA(Java持久性API)用于具有高级功能(例如缓存和懒惰加载)的对象相关映射?Mar 17, 2025 pm 05:43 PM

本文讨论了使用JPA进行对象相关映射,并具有高级功能,例如缓存和懒惰加载。它涵盖了设置,实体映射和优化性能的最佳实践,同时突出潜在的陷阱。[159个字符]

Java的类负载机制如何起作用,包括不同的类载荷及其委托模型?Java的类负载机制如何起作用,包括不同的类载荷及其委托模型?Mar 17, 2025 pm 05:35 PM

Java的类上载涉及使用带有引导,扩展程序和应用程序类负载器的分层系统加载,链接和初始化类。父代授权模型确保首先加载核心类别,从而影响自定义类LOA

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具