java的使用条件_Java使用条件语句和循环结构确定控制流

与任何程序设计语言一样,Java使用条件语句和循环结构确定控制流。本文将简单讲解条件、循环和switch。

一、块作用域

块(block),即复合语句。是指由一对大括号括起来的若干条简单的Java语句。块确定了变量的作用域。

比如:

public class Code {

static

{

System.out.println("1");

}

{

System.out.println("2");

}

public Code()

{

System.err.println("3");

}

public static void main(String[]args)

{

new Code();

}

}

注意:不能在嵌套的两个块中声明同名的变量。

二、条件语句

格式1:

if(condition)

{

statement1

statement2

........

}

例如:

1if(youSales>=target)

2{

3performance="Satisfactory";

4bonus=1000;

5}

格式2:

if(condition)statement1 else statement2

例如:

if(youSales>=target)

performance=“Satisfactory”;

bonus=100+10*(youSales-target“);

else

performance=”Unstatisfactory“;

bonus=0;

三、循环

当条件为true时,while循环执行。

格式1:

while(condition)statemnet

例如:

while (balance

{

balance+=payment;

double interest=balance*interestRate/100;

balance+=interest;

years++;

}

格式2:

do statement while(condition);

do

{

balance+=payment;

double interest=balance*interestRate/100;

balance+=interest;

year++;

System.out.printf("After year %d,your balance is %,.2f%,year,balance");

System.out.print("Ready to retire?(Y/N)");

input=in.next();

}

while(input.equals("N"));

}

四、确定循环

for循环语句是支持迭代的一种通用结构,利用每次迭代之后更新的计数器或类似的变量来控制迭代的次数。

格式类似如下:

for(int i=0;i

System.out.println(i);

例子4个:

public class ShuZu1 {

public static void main(String[]args){

int [][] x={{1,2,2,2,2},{3,3,3,3,3},{4,5,-1,17,55}};

int result=qiuHe(x);

System.out.println("和是"+result);

}

public static int qiuHe(int[][]x){

int s=0;

for(int i=0;i

{

for(int j=0;j

{

s+=x[i][j];

}

}

return s;

}

}

public class ShuZu2 {

public static void main(String[]args){

int [][] x=new int[7][7];

//生成随机数组,注意没有返回值,另外打印一行字

suiJi(x);

System.out.println("生成的数组是:");

//显示数组内容,注意没有返回值

showArray(x);

//取值

float result=getAvg(x);

System.out.println("平均数是"+result);

}

static float getAvg(int [][] x){

float s=0;

for(int i=0;i

for(int j=0;j

s+=x[i][j];

}

}

return s/(x.length*x[0].length);

}

static void suiJi (int[][]x){          //这里我出错了。返回值写了int型,不应该的。思考一下。

for(int i=0;i

for(int j=0;j

x[i][j]=(int)(Math.random()*10);

}

}

}

static void showArray(int[][]x){        //这里我出错了。返回值写了int型,不应该的。思考一下。

for(int i=0;i

for(int j=0;j

System.out.print(x[i][j]+"\t");// 给数据空格

}

System.out.println();//打印换行

}

}

}

import java.util.Arrays;

public class SuZu3{

public static void main(String[] args) {

int [] x={2,-1,7,777,6,764,85896,65554,0,874785,417825,74};

sort(x,'n');

for(int i=0;i

System.out.print(x[i]+"\t");

}

}

//给数组进行选择性排序

//调用API进行升序

static void sort(int[]x,char Flag){

if('A'==Flag){

Arrays.sort(x);

}

else {

for(int i=0;i

for(int j=0;j

int temp=0;

if(x[j]

temp=x[j];

x[j]=x[j+1];

x[j+1]=temp;

}

}

}

}

}

}

import java.util.Scanner;

public class Suzu4 {

public static void main(String[] args) {

System.out.println("请输入");//这个命令只能紧贴在Scanner scan = new Scanner(System.in);的上面或下面才有效。

Scanner scan = new Scanner(System.in);

//System.out.println("请输入");或者放在Scanner scan = new Scanner(System.in);的下面

String str = scan.nextLine();// nextLine才是接收一行

char[] s = str.toCharArray();// 把字符串转换称一个字符数组

scan.close();

int letterCount = 0;

int numberCount = 0;

int spaceCount = 0;

int otherCount = 0;

for (int i = 0; i < s.length; i++) {

if (s[i] >= 'a' && s[i] <= 'z' || s[i] >= 'A' && s[i] <= 'Z') {

letterCount++;

} else if (s[i] >= '1' && s[i] <= '9') {

numberCount++;

} else if (s[i] == ' ') {

spaceCount++;

} else {

otherCount++;

}

}

System.out.println("字母有" + letterCount + "个");

System.out.println("数字有" + numberCount + "个");

System.out.println("空格有" + spaceCount + "个");

System.out.println("其他有" + otherCount + "个");

}

}//ctrl+shift+f 是代码格式化

//ctrl+shift+o  是导包

五、多重选择:switch语句

格式类似如下:

switch(choice)

case 1:

........

break;

case 2:

.......

break;

.........

//可以再来几个case(用break结束一下)

default:

.......

break;

注意:

case标签可以是:

* 类型为char、byte、short或int的常量表达式。

* 枚举常量

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/366978.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实现小程序canvas拖拽功能

组件地址 https://github.com/jasondu/wx-comp-canvas-drag 实现效果 如何实现 使用canvas使用movable-view标签 由于movable-view无法实现旋转&#xff0c;所以选择使用canvas 需要解决的问题 如何将多个元素渲染到canvas上如何知道手指在元素上、如果多个元素重叠如何知…

探索Apache Camel Core – Seda组件

Apache Camel中的seda组件与我在之前的博客中介绍的direct组件非常相似&#xff0c;但是以异步的方式。 为此&#xff0c;它使用java.util.concurrent.BlockingQueue作为默认实现来使消息排队并与主Route线程断开连接&#xff0c;然后在单独的线程中处理消息。 由于此BlockingQ…

Properties类和如何操作属性

Properties类继承关系java.lang.Object java.util.Dictionary<K,V> java.util.Hashtable<Object,Object> java.util.Properties所有已实现的接口&#xff1a; Serializable, Cloneable, Map<Object,Object> 直接已知子类&#xff1a; Provide…

Spring MVC:带有CNVR卷的REST应用程序。 2

在上一篇文章中&#xff0c;我快速概述了带有CNVR的Spring MVC REST项目的设置环境。 在这一部分中&#xff0c;我可以直接关注控制器和REST服务的演示。 通常&#xff0c;我将做一个简短的介绍&#xff0c;然后我将介绍控制器方法并解释所有关键时刻。 由于我将进一步讨论RES…

SCP 报错 not a regular file

在 scp 后 加 -r转载于:https://www.cnblogs.com/LYliangying/p/9815534.html

H5页面滚动阻尼效果实现

功能描述 要求 页面分为AB两个区域 当手机可视区的底部接触到 “阻尼带” 的时候&#xff0c;有个上拉弹性过程 当上拉到一定阈值程度就直接把B区顶部弹到手机可视区的顶部&#xff0c;让可视区从B区开始显示当上拉程度未到阈值&#xff0c;就回弹复原 当手机可视区从B区向上…

java面试题(杨晓峰)---第五讲String、StringBuffer、StringBuilder有什么区别?

线程 字符 操作频繁度 1 String &#xff08;1&#xff09;String的创建机制 由于String在java世界中使用过于频繁&#xff0c;java为了避免在一个系统中产生大量重复的String对象&#xff0c;引入了字符串常量池&#xff0c;其运行机制是&#xff1a;创建一个字符串时&am…

mysql怎么按年份分组_mysql - MYSQL按ID分组,但根据最近的年份进行拉取 - SO中文参考 - www.soinside.com...

我有一个包含以下内容的表&#xff1a;StudID Name Year SubjectID SubjectName MTFlag51280 ALOYSIUS 2019 42 CHINESE LANGUAGE 151280 ALOYSIUS 2020 70 ENGLISH LANGUAGE 051280 ALOYSIUS 2020 95 CHINESE B 151280 ALOYSIUS 2020 75 MATHEMATICS 051290 AMIL 2020 70 ENGL…

面向 Web 前端的原生语言总结手册

这一系列文章旨在让具有 Web 前端背景的开发者快速上手原生语言。 背景与动机 从 WebView 到 Hybrid 再到 React Native&#xff0c;移动端主流技术方案中前端同学的施展空间越来越大。但传统 Web 前端背景的同学所熟悉的编程语言主要是 JavaScript&#xff0c;在与 Native 协…

Java 8的新增功能(第二部分–可能会出现什么)

免责声明&#xff1a;我不为Oracle工作&#xff0c;也不以任何方式代表Oracle。 此功能列表不是官方的。 作为“局外人”&#xff0c;这只是我研究的一部分。 这是由三部分组成的系列文章的第二部分。 在第一部分中 &#xff0c;我谈到了Oracle正式让开发人员知道JavaFX 8中应…

MariaDB卸载

二进制安装方式的MariaDB卸载 关闭mysql服务service mysql stop 或 /etc/init.d/mysql stop 或 mysqladmin shutdown -uroot -p 删除数据文件和目录whereis mysql find / -name mysql rm -rf xxx 删除软链接&#xff0c;二进文件&#xff08;如有必要&#xff09;cd /usr/local…

aix系统java堆_浅谈AIX环境下的Java性能调优

1、什么是JavaJava 是一种面向对象的编程语言。它以 C 为模型&#xff0c;被设计成小的、简单的、在源和二进制级别跨平台的可移植的语言&#xff0c;Java 程序(applets 和应用程序)可以运行于任何已经安装了 Java 虚拟机(JVM)的机器上。Java 相对其它计算机语言有显著的优势&a…

web 前端 html

1&#xff0c;什么是web 在网络中&#xff0c;大量的数据需要有一个载体&#xff0c;而很多人都能够访问这个载体&#xff0c;利用浏览器的这个窗口链接一个有一个载体&#xff0c;这个载体就是网站也就是web的前身。  1&#xff0c;web标准&#xff1a;结构标准&#xff0c;表…

cf 1060e 树形dp 树上任意两点的距离和

题意&#xff1a; 给出一个树&#xff0c;把树上任意两个相隔一个点的点加一条边&#xff0c;问加完边之后任意两点的距离和是多少. 参考博客 &#xff1a;https://blog.csdn.net/Mr_Treeeee/article/details/82960566 思路&#xff1a;枚举边的贡献 算出所有点与点之间的距离&…

再谈前后端分离

前段时间我针对手头上的项目前端配置进行了反思以及总结并且写了两篇文章: webpack传统后端渲染的项目前端配置, webpack配置之前后端不分离, 很显然这些配置能满足一时的需求, 但是也有不足. 今天继续总结, 这里应该不涉及到具体后端语言, 只对前端配置进行描述. 毕竟配置工程…

JAVA中带有数字签名的XML安全性

介绍 如您所知&#xff0c;XML在我们的产品或项目开发中起着重要作用&#xff0c;并且从XML文档中我们收集了很多信息&#xff0c;而且我们可以对XML文件执行CRUD操作。 但是&#xff0c;关于如何确保XML文件中可用的数据是真实的以及数据来自受信任的可靠来源&#xff0c;这是…

mysql的命令行常用命令_mysql命令行常用命令

第一招、mysql服务的启动和停止net stop mysqlnet start mysql第二招、登陆mysql语法如下&#xff1a; mysql -u用户名 -p用户密码键入命令mysql -uroot -p&#xff0c; 回车后提示你输入密码&#xff0c;输入12345&#xff0c;然后回车即可进入到mysql中了&#xff0c;mysql的…

Python - day1 借鉴洪卫

一、了解开发语言 1、高级语言&#xff1a;Python&#xff0c;Java&#xff0c;C&#xff0c;C#&#xff0c;PHP&#xff0c;JS&#xff0c;Go&#xff0c;Ruby&#xff0c;SQL&#xff0c;Swift&#xff0c;Perl&#xff0c;Objective-C&#xff0c;R等等&#xff1b; 2、低级…

返回一个二维整数数组最大子数组的和

要求&#xff1a; 1&#xff0c;输入一个二维整形数组&#xff0c;数组里有正数也有负数。 2&#xff0c;二维数组中连续的一个子矩阵组成一个子数组&#xff0c;每个子数组都有一个和, 3&#xff0c;求所有子数组的和的最大值。 设计思路&#xff1a; 参照一维整数数组求解最大…

基于React的表单开发的分析(上)

本文主要讲解后台系统与表单相关的页面开发&#xff0c;并分析如何才能更好地、高效地开发。 技术栈 ReactAntd 背景 Antd 以下我都将Ant Design 简称为 Antd Ant Design是个服务于企业级产品的UI框架&#xff0c;主要可以用于中后台系统,它有基于React、Vue和Angular的实现…