第三章:
程序控制流程:
顺序:从上到下,从左到右运行;
选择:
单分支:if(条件){
条件为真,则执行代码;
}
双分支:
if(条件){
条件为真,执行代码;
}
else{
否则执行此代码;
}
多分支:
(1)if(条件1){
语句1;
}
else if(条件2){
语句2;
}
else if(条件3){
语句3;
}
……
else if(条件n){
语句n;
}
else{
语句n+1;//执行剩余条件应执行语句;可写可不写;
}
- switch(变量){
case 数值1:语句1;break;//变量值等于数值1,执行语句1;break跳出switch语句;
case 数值2:语句2;break;
case 数值3:语句3;break;
……
Default:语句;
循环:
周而复始,谓之循环;
for 循环:for(初始条件;判断条件;变换语句){
循环体;
}
while 循环:
while(判断条件){
循环体语句;//条件为真,执行语句;
变更条件;
}
do while 循环:
do{
循环体;
}while(条件);//先执行一次循环体,在判断循环条件;
break和continue关键字:(操作控制循环流程)
Break:当前循环终止;
Continue:跳出本层循环,不执行本层后续语句,后续循环正常进行;
代码实现:
1:循环输出hello world;
package com.test;
public class xunhuan {
public static void main(String[] args){
int i;
for(i=0;i<100;i++){
System.out.println("hello world!"+(i+1));
}
}
}
2:计算0到100的和;
package com.test;
public class sum {
public static void main(String[] args){
int i = 0,sum = 0;
for(i = 0;i <= 100;i++){
sum+=i;
}
System.out.println("0到100的和为" + sum);//for循环
i = 0;
sum = 0;
while(i <= 100){
sum += i;
i++;
}
System.out.println("0到100的和为" + sum);//while循环
i = 0;
sum = 0;
do{
sum += i;
i++;
}while(i <= 100);
System.out.println("0到100的和为" + sum);//do while循环
}
}
3:实现类似如下功能,输入层数,按照特定格式打印*。
请输入层数:
3
*
**
***
package com.test;
import java.util.Scanner;
public class print1 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入层数:");
int temp = sc.nextInt();
if(temp<0){
System.out.println("数据输入错误,请重新输入。");
temp = sc.nextInt();
}
for(int i = 1;i <= temp;i++){
for(int k = 0;k < i;k++){
System.out.print("*");
}
if(i != temp)
System.out.println("");
}
}
}
4:打印9*9乘法表;
package com.test;
public class print99 {
public static void main(String[] args){
int temp = 9;
int num;
for(int i = 1;i <= temp;i++){ //外层循环,控制行数
for(int k = 1;k <= i;k++){ //内层循环,控制每行输出个数
num = i*k;
if(num > 9) {
System.out.print(k + "x" + i + "=" + num + " ");
}
else{
System.out.print(k + "x" + i + "=" + num + " ");//格式对齐
}
}
if(i != temp)
System.out.println();//每层结束换行
}
}
}
5:和3类似,按照等腰三角形打印*;
package com.test;
import java.util.Scanner;
public class dengyao {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入层数:");
int temp = sc.nextInt();
int j = temp;
if(temp<0){
System.out.println("数据输入错误,请重新输入。");
temp = sc.nextInt();
}
for(int i = 1;i <= temp;i++){
for(int k = 1;k <= j;k++){
if(temp - i >= k) {
System.out.print(" ");
}
else{
System.out.print("*");
}
}
j++;
if(i != temp)
System.out.println("");
}
}
}
6:判断质数;
package com.test;
import java.util.Scanner;
public class zhishu_judge {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入要判断的数值:");
int k = 0;
int x = sc.nextInt();
for(int i = 2; i < x;i++) {
if (x % i == 0) {
k++;
System.out.println("该数字为合数。");break;
}
}
if(k != 1) {
System.out.println("该数字为质数。");
}
}
}