首页 > 其他分享 >第3章 基本控制结构

第3章 基本控制结构

时间:2023-08-15 21:04:53浏览次数:26  
标签:基本 语句 args System 控制结构 println public out

3.1  语句及程序结构

3.1.1  语句

语句用来向计算机系统发出操作指令。程序由一系列语句组成。

Java语言中的语句主要分为以下5类:

(1)表达式语句

Java语言中最常见的语句是表达式语句,形式:

表达式;

即在表达式后加一个分号就构成表达式语句。功能是计算表达式的值。分号是语句的分隔符。例:

total = math + phys + chem;

(2)空语句

空语句只有分号,没有内容,不执行任何操作。设计空语句是为了语法需要。例:

循环语句的循环体中如果仅有一条空语句,表示执行空循环。

(3)复合语句

复合语句是用花括号“{}”将多条语句括起来,在语法上作为一条语句使用。例:

{  

   z = x + y;

   t = z / 10;

}

(4)方法调用语句

方法调用语句由方法调用加一个分号组成。例:

System.out.println("Java Language");

(5)控制语句

控制语句完成一定的控制功能,包括选择语句,循环语句和转移语句。

2.程序控制结构

面向过程程序设计和面向对象程序设计是软件设计方法的两个重要阶段,这两种程序设计思想并不是对立的,而是延续和发展的。结构化程序设计的基本思想是采用“单入口单出口”的控制结构,基本控制结构分为3种:顺序结构,选择结构和循环结构。

3.1.2  顺序结构

顺序结构是最简单的一种程序结构,程序按照语句的书写次序执行。

例1:计算太阳和地球之间的万有引力(顺序结构)

public class Force {
public static void main(String[] args) {

double g,mSun,mEarth,f;  //万有引力常数,太阳和地球的质量,太阳和地球之间的万有引力
 g = 6.66667E-8;
 mSun = 1.987E33;
 mEarth = 5.975E27;
 f = g*mSun*mEarth/(1.495E13*1.495E13);
 System.out.println("The Force = "+f);}
}

例2:将华氏度转化成摄氏度(顺序结构)

public class Conversion {

    public static void main(String args[]){

        float f,c;

        f = 70.0f;

        c = 5*(f-32)/9;

        System.out.println("Fahrenheit = "+f);

        System.out.println("Centigrade = "+c);

    }

}

3.1.3  选择结构

程序中有些程序段的执行是有条件的,当条件成立时,执行一些程序段;当条件不成立时,执行另一些程序段,或不执行,称为选择结构程序。

3.3.1  if语句

第3章  基本控制结构_循环语句

例1:输入两个整数,输出最小者(选择结构)

public class MinNum {

    public static void main(String args[]){

        int x,y,min;

        x = Integer.parseInt(args[0]);

        y = Integer.parseInt(args[1]);

        if (x<y){

            min = x;

        }else if(x>y){

            min = y;

        }else {

        	System.out.println("相等");

        	return;     //不写返回语句会出现min没有初始值的错误,添加返回或者给min一个初值

        }

        System.out.println("x="+x);

        System.out.println("y="+y);

        System.out.println("min="+min);

    }

}

例2:if语句嵌套

public class Function {


	public static void main(String[] args) {

  // 有一个x和y的函数关系

  float x,y = 0;

  x = Float.parseFloat(args[0]);

  if (x < 0) {

  	y = 0;

  }else if (x>0&&x<=10) {

  	y = x;

  }else if (x>10&&x<=20) {

  	y = 10;

  }else if (x>20) {

  	y = (-0.5f)*x+20;

  }

  System.out.println("x="+x);

  System.out.println("y="+y);

	}

}

3.3.2  switch语句

当要从多个分支中选择一个分支去执行时,虽然可以使用嵌套的if语句,但是当嵌套层太多时会造成程序的可读性差。switch语句能够根据给定表达式的值,从多个分支中选择一个分支来执行。

例:将百分制成绩转化为优秀,良好,中等,及格和不及格的5级制成绩

public class Level {

	public static void main(String[] args) {

  short newGrade=0,grade;
  grade = Short.parseShort(args[0]);

  switch(grade/10) {

  case 10:

  case 9:newGrade = 1;break;

  case 8:newGrade = 2;break;

  case 7:newGrade = 3;break;

  case 6:newGrade = 4;break;

  default:newGrade = 5;

  }

  System.out.println(grade);

  switch(newGrade) {

  case 1:System.out.println("优秀");break;

  case 2:System.out.println("良好");break;

  case 3:System.out.println("中等");break;

  case 4:System.out.println("及格");break;

  default: System.out.println("不及格");

  }

	}

}

3.4  循环结构

3.4.1  while语句

while语句的特点是先判断,后执行。

例:计算10的阶乘

public class Factorial {

	public static void main(String[] args) {

  int i = 1;

  double s = 1;

  while(i<=11) {

  	s = s*i;

  	i = i+1;

  }

  System.out.println("10!="+s);

	}

}

3.4.2  do...while语句

do...while循环先执行,后判断。

例:1-99奇数和

public class Sum1 {

	public static void main(String[] args) {

  int i = 1,sum = 0;

  do{

  	sum = sum+i;

  	i = i+2;

  }while(i<=99);

  System.out.println("sum="+sum);

	}
}

3.4.3  for语句

for(表达式1;表达式2;表达式3){

循环体

}

第3章  基本控制结构_System_02

第3章  基本控制结构_嵌套_03

例:计算1-100之间的整数和

public class Sum3 {

	public static void main(String[] args) {

  int i = 1,sum = 0;

  for(i = 1;i<=100;i++) {

  	sum += i;

  }
  System.out.println("sum = "+sum);

	}
}

3.4.4  多重循环

循环嵌套既可以是一种循环语句的自身嵌套,也可以是不同种循环语句的相互嵌套。循环嵌套时,要求内循环完全包含在外循环之内,不允许出现相互交叉。

例:求2-50之间的素数

public class Prime2 {

	public static void main(String args[]) {

  System.out.println("Prime numbers between 2 and 50 : ");

  for(int k = 2;k<=50;k++) {

  	boolean flag = true;

  	for(int i = 2;i<k;i++) {

    if(k%i==0) {

    	flag = false;

    	break;

    }

  	}

  	if(flag) {

    System.out.print(k+" ");

  	}

  }

	}

}


3.5  跳转语句

3.5.1  break语句

break语句用于switch语句或while,do...while,for循环语句,如果程序执行到break语句,则立即从switch语句或循环语句退出。

3.5.2  continue语句

continue语句用于while,do...while,for语句的循环体中,如果程序执行到continue语句,则结束本次循环,回到循环条件处,判断是否执行下一次循环。

练习:

1.假如有一根3000米长的绳子,每天减去一半,问需要几天绳子的长度会短于5米?

public class Practice9 {

	public static void main(String[] args) {

  int l = 3000;
  int days = 0;
  
  do {

  	l /=2;

  	days++;

  }while(l>=5);
  System.out.println("需要 "+days+" 天");
	}
// 1500  750  375  187  93  46  23  11 5 2
}

2.求所有的水仙花数(指其个位,十位和百位3个数的平方和等于这个三位数本身)

public class Practice10 {

	public static void main(String[] args) {

  int gw,sw,bw;
  boolean hasOutput = false;
  for(int number = 1;number<=999;number++) {

  	gw = number % 10;
  	sw = number % 100 / 10;
  	bw = number / 100;
  	int Narcissisticnumber = gw*gw*gw+sw*sw*sw+bw*bw*bw;

    if (Narcissisticnumber == number) {

              if (!hasOutput) {

                  System.out.print("水仙花数:");
                  hasOutput = true;

              }
              System.out.print(number + "  ");  
              //输出结果只有一次“水仙花数:”
          }

  }
	}
}

















标签:基本,语句,args,System,控制结构,println,public,out
From: https://blog.51cto.com/u_16226680/7092854

相关文章

  • 光度学中的基本指标
    光度学与辐射度量学光度学(Photometry)描述的是人眼视觉感受到的光学强度特性,关键词是“眼睛,人的感觉";辐射度量学(Radiometry)描述的是物理上的光学强度特性,关键词是“实际物理能量”。举个例子,对于一个光源,如果其发出的光能量很高,但都集中在人眼不敏感的红外波段,那么从辐射度量学......
  • JavaScript基础:学习JavaScript语言的基本语法和常用操作,了解网页交互的基本原理
    JavaScript是一种广泛应用于网页开发中的脚本语言,它可以与HTML和CSS一起使用,实现网页交互及动态效果。以下是JavaScript的基本语法和常用操作:变量声明:使用var、let或const关键字声明变量。varname="John";letage=25;constPI=3.14;数据类型:包括字符串、数字、布......
  • 模型超参数基本都没改,测试时加载模型报模型结构不匹配,设置模糊加载模型即:model.load_s
    原因多卡训练;单卡模糊加载进行测试。训练时,通过torch.nn.DataParallel(self.model)进行多卡并行训练;测试时,用单卡模糊加载保存的模型权重,很多模型参数都没有加载成功,自然会导致测试效果很差。解决方法测试时,使用多卡加载模型时,删掉'module.'前缀;或者用单卡加载模型进行测试。......
  • Docker 基本管理
    目录一、Docker概述1.Docker是什么2.容器的优点3.容器与虚拟机的区别4.虚拟化类型5.docker在内核中支持2种重要技术6.namespace的六项隔离7.Docker核心概念二、Docker安装1.目前Docker只能支持64位系统2.安装依赖包3.设置阿里云镜像源4.安装Docker-CE并设置......
  • 济南办理ISO需要的基本条件是什么
    济南办理ISO需要的基本条件是什么  恒标知产刘经理向认证公司提供以下资料即可: 做ISO9001质量管理体系认证需要准备的材料如下: 1、企业营业执照副本以及组织机构代码证的复印件; 2、企业计量及检测设备的检定报告; 3、特殊岗位的上岗证  ; 4、包含质量手册及程序文件在内的......
  • 传热和传质基本原理-学习笔记
    传热的三种方式:传导:  不同物质形态的传导机理:  气体:气体分子的能量与其随机的平移有关,也和内部旋转和震动运动有关。可以把基于分子的随机运动的净能量传输说成是的能量扩散。       液体:与气体情况几乎相同,但流体分子靠得更近,分子间的相互作用更强,也更频繁。  ......
  • 【Linux技术专题】「必备基础知识」带你仔细梳理一下平时排查问题查询日志的基本操作
    Linux文件与目录管理了解和熟悉Linux系统的文件存储结构、权限设置和命令行工具,将有助于快速定位和解决与日志相关的问题,提高系统管理员和开发人员的工作效率。文件路径:Linux系统的日志文件按规定的目录结构组织。了解不同日志文件的存储位置和命名规则,可更快地找到所需的日志文件......
  • Linux系统之top命令的基本使用
    (Linux系统之top命令的基本使用)一、top命令介绍top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。二、检查本地环境1.检查操作系统版本检查本地操作系统版本[root@j......
  • Oracle数据库基本介绍
    一、Oracle数据库1.1、基本介绍Oracle数据库的一个基本任务是存储数据。Oracle数据库服务器是由一个数据库和至少一个数据库实例组成。数据库是一组存储的文件,而数据库实例是一组管理数据文件的内存结构。另外,数据库由后台进程组成。一个数据库和一个实例是紧密相连的,因此术语-......
  • CGI的基本原理
    一.基本原理CGI:通用网关接口(CommonGatewayInterface)是一个Web服务器主机提供信息服务的标准接口。通过CGI接口,Web服务器就能够获取客户端提交的信息,转交给服务器端的CGI程序进行处理,最后返回结果给客户端。组成CGI通信系统的是两部分:一部分是html页面,就是在用户端浏览器上显示的页......