06.语句
循环结构
程序的执行时顺序执行。但是在执行的过程中,有时候需要条件的判断或循环动作,所以在java中有语句有三种结构:顺序结构,分支结构,循环结构。
顺序结构:指代码顺序执行。
分支结构:指在代码的执行过程中,会进行条件的判断,有的代码会执行,有的代码不执行。

循环结构:指在代码中有的代码会多次执行。
分支结构
if语法
if(布尔表达式)
{
//如果布尔表达式为true将执行的语句
}
if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
if(布尔表达式 1){
//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
//如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
//如果布尔表达式 3的值为true执行代码
}else {
//如果以上布尔表达式都不为true执行代码
}
if语句多用于做范围判断。
/**
if语句
*/
class IfDemo{
public static void main(String[] args){
int score = 98;
if(score>90){//if中条件为true时 执行if后的代码块
//有了代码块后 一定要注意变量的作用域范围
//在哪个{}中声明的,那么在该{}中所有位置都能使用,大括号之外不能使用
String name="张三";
System.out.println("优秀");
}
//如果条件为false有需要执行代码可以放入else代码块
//如果代码块中只有一行代码 那么可以省去大括号
//如果没有代码或者有多行代码一定要加上大括号
//如果有else必须和if配对
//在多个if中 只会执行其中一个
else if(score>80){
System.out.println("良好");
}
else
System.out.println("不优秀");
System.out.println("----结束---");
}
}

switch语法
switch(表达式){
case value :
//语句
break; //可选
case value :
//语句
break; //可选
//你可以有任意数量的case语句
default : //可选
//语句
}
用户输入
从程序将结果输出控制台,使用System.out.println();
从控制台进行输入,需要使用java提供的一个功能,java提供了一个类Scanner,在我们自己的代码中使用别人提供的类时,需要将其进行导入。
/**
从程序将结果输出控制台 使用的System.out.println();
从控制台进行输入 需要使用java提供的一个功能
提供了一个类 这个类叫Scanner,在我们自己的代码中 需要使用别人提供的类
时,需要将其进行导入。
*/
import java.util.Scanner;
class ScannerDemo{
public static void main(String[] args){
System.out.println("请输入姓名:");
//Scanner是一种类型
Scanner input = new Scanner(System.in);
//声明一个变量 接收用户的输入 接收的是一个字符串
String name = input.next();
System.out.println("你输入的姓名是:"+name);
System.out.println("请输入年份:");
//如果要接收一个整数
int year = input.nextInt();
System.out.println("你输入的年份是:"+year);
//如果要接收一个小数
double score = input.nextDouble();
}
}

循环结构

在java中有3中循环结构语句:
在循环结构有2个要点要明确:
【1】循环的条件
【2】循环的代码块
white循环结构
while( 布尔表达式 ) {
//循环内容
}
/**
while的使用
需求:
打印10句helloworld 如何实现
*/
class WhileDemo1{
public static void main(String[] args){
int i=0;
/*
//条件的判断
while(i<10){
i++;//条件是在变化的
System.out.println("hello world");
}
*/
while(i++<10){
System.out.println("hello world");
}
}
}

for循环
for(表达式1; 条件表达式; 表达式3) {
//循环体
}
/**
for(表达式1;条件表达式2;表达式3){
循环体
}
执行流程:
先做表达式1;做表达式2;做循环体;做表达式3
做表达式2;做循环体;做表达式3
如果表达式2为false循环执行结束
1+2+3+4......100
*/
class ForDemo{
public static void main(String[] args){
//声明变量 用于接收结果
int sum=0;
//可以没有表达式,但是必须要有分号
for(int i=1;i<=100;i++){
sum+=i;
}
System.out.println(sum);
}
}

/**
求1到100中 偶数之和 使用for循环实现
*/
class ForPractice1{
public static void main(String[] args){
//先计算1到100的和
int sum=0;
for(int i=1;i<=100;i++){
//偶数和 意味着sum只加偶数
if(i%2==0)
sum+=i;
}
System.out.println(sum);
//1到100中 偶数是从2开始的 100结束的
int sum1=0;
for(int i=2;i<=100;i+=2){
sum1+=i;
}
System.out.println(sum1);
}
}
do...while...结构
先做事然后再比较的循环结构

do {
//代码语句
}while(布尔表达式);
/*
1到100的和
*/
class DoWhileDemo{
public static void main(String[] args){
int i=1;
int sum=0;
do{
sum+=i;
i++;
}while(i<=100);
System.out.println(sum);
}
}

break,continue关键字
在循环中,break表示结束整个循环,continue表示结束当前循环,执行下一次循环
/**
break的作用 结束整个循环
*/
class BreakDemo{
public static void main(String[] args){
//计算 1到10的和 如果i从1到10中 遇到是5的倍数的数字时结束循环
int sum=0;
for(int i=1;i<=10;i++){
if(i%5==0){//当i=5时 执行if中代码块
break;//break的作用是结束循环
}
sum+=i;
}
System.out.println(sum);
}
}

/**
continue只在循环中使用,表示结束当前循环 执行下一次循环
*/
class ContinueDemo{
public static void main(String[] args){
//求1到10的和 如果是5的倍数 不进行计算
int sum=0;
for(int i=1;i<=10;i++){
if(i%5==0){
continue;
}
sum+=i;
}
System.out.println(sum);
}
}

循环嵌套
外循环控制行,内循环控制列
第一种情况:内外循环独立运行
/**
循环是可以嵌套的。比如说:答应一个n个*的正方形 如果n=5那么结果如下:
*****
*****
*****
*****
*****
*/
import java.util.Scanner;
class ForDemo1{
public static void main(String[] args){
//创建输入对象
Scanner input = new Scanner(System.in);
System.out.println("请输入要打印几个*:");
//接收用户输入
int n = input.nextInt();
for(int k=0;k<n;k++){
for(int i=0;i<n;i++){
System.out.print("*");
}
//System.out.println("");
/*
转义字符
\n 换行
\" 双引号
\' 单引号
\\ 表示\
\t 表示 tab
*/
System.out.print("\n");
}
}
}

第二种情况,内循环依赖于外部循环
/**
打印九九乘法表
*/
class NineWork{
public static void main(String[] args){
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+i*j+"\t");
}
System.out.print("\n");
}
}
}


浙公网安备 33010602011771号