03-流程控制语句结构

3.1 表达式和语句

常量、变量代表数据。由变量或常量 + 运算符构成的计算表达式。

但其实表达式一共分为三种:

(1)变量或常量 + 运算符构成的计算表达式

(2)new 表达式,结果是一个数组或类的对象。(后面讲)

(3)方法调用表达式,结果是方法返回值或void(无返回值)。(后面讲)

程序的功能是由语句来完成的,语句分为单语句和复合语句。

单语句又分为:

(1)空语句,什么功能都没有。它就是单独的一个分号;(==需要避免==)

(2)表达式语句,就是表达式后面加分号;

不是所有表达式加分号都能称为一个独立的语句的,只有以下三种表达式加上分号才能构成一个独立的语句。

  • new表达式,

  • 方法调用表达式,

  • 计算表达式中的赋值表达式、自增自减表达式

//空语句
;
​
//表达式语句
i++; //自增表达式 + ;
System.out.println("hello , HaoGu");  //方法调用表达式 + ;

复合语句分为:

(1)分支语句:if...else,switch...case

(2)循环语句:for,while,do...while

(3)跳转语句:break,continue,return,throw

(4)try语句:try...catch...finally(后面学习)

(5)同步语句:synchronized(后面学习)

不同的语句执行顺序和效果是不同的,下面我们一一学习它们。

3.2 顺序结构

顺序结构就是程序从上到下逐行地执行。表达式语句都是顺序执行的。并且上一行对某个变量的修改对下一行会产生影响。

public class TestStatement{
    public static void main(String[] args){
        int x = 1;
        int y = 2;
        System.out.println("x = " + x);     
        System.out.println("y = " + y); 
        //对x、y的值进行修改
        x++;
        y = 2 * x + y;
        x = x * 10; 
        System.out.println("x = " + x);
        System.out.println("y = " + y);
    }
}

3.3 输入输出语句

3.3.1 输出语句

1、两种常见的输出语句(基础阶段常用)

  • 换行输出语句:输出内容后进行换行,格式如下:

    System.out.println(输出内容);//输出内容之后,紧接着换行
  • 不换行输出语句:输出内容后不换行,格式如下

    System.out.print(输出内容);输出内容之后不换行

示例代码:

public class TestPrintlnAndPrint {
    public static void main(String[] args) {
        String name = "刘老师";
        int age = 18;
​
        //对比如下两组代码:
        System.out.println(name);
        System.out.println(age);
​
        System.out.print(name);
        System.out.print(age);
        System.out.println(); //()里面为空,效果等同于换行,输出一个换行符
        //等价于 System.out.print("\n"); 或  System.out.print('\n');
        //System.out.print();//错误,()里面不能为空   核心类库PrintStream类中没有提供print()这样的方法
​
        //对比如下两组代码:
        System.out.print("姓名:" + name +",");//""中的内容会原样显示
        System.out.println("年龄:" + age);//""中的内容会原样显示
​
        System.out.print("name = " + name + ",");
        System.out.println("age = " + age);
    }
}

注意事项:

换行输出语句,括号内可以什么都不写,只做换行处理
​
不换行输出语句,括号内什么都不写的话,编译报错
​
如果()中有多项内容,那么必须使用 + 连接起来
​
如果某些内容想要原样输出,就用""引起来,而要输出变量中的内容,则不要把变量名用""引起来

2、格式化输出(了解)

  • %d:十进制整数

  • %f:浮点数

  • %c:单个字符

  • %b:boolean值

  • %s:字符串

  • ....

public class TestPrintf {
    public static void main(String[] args) {
        byte b = 127;
        int age = 18;
        long bigNum = 123456789L;
        float weight = 123.4567F;
        double money = 589756122.22552;
        char gender = '男';
        boolean marry = true;
        String name = "张三";
        System.out.printf("byte整数:%d,年龄:%d,大整数:%d,身高:%f,身高:%.1f,钱:%f,钱:%.2f,性别:%c,婚否:%b,姓名:%s", b,age,bigNum,weight,weight,money,money,gender,marry,name);
    }
}

3.3.2 输入语句

键盘输入代码的四个步骤:

1、申请资源,创建Scanner类型的对象

2、提示输入xx

3、接收输入内容

4、全部输入完成之后,释放资源,归还资源

1、输入各种类型的数据

import java.util.Scanner;
​
public class TestInput {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入一个整数:");//先执行,先显示这句话
        int num = input.nextInt();//接收键盘输入, 它们有顺序要求
        System.out.println("num = " + num);
        
        System.out.print("请输入一个小数:");
        double d = input.nextDouble();
        System.out.println("d = " + d);
​
        System.out.print("请输入一个布尔值:");
        boolean b = input.nextBoolean();
        System.out.println("b = " + b);
​
        System.out.print("请输入一个大整数");
        long big = input.nextLong();
        System.out.println("big = " + big);
​
        System.out.print("请输入一个字符串");
        String str = input.next();
        System.out.println("str = " + str);
​
        System.out.print("请输入单个字符:");
        char c = input.next().charAt(0);
      
        System.out.println("c = " + c);
​
        input.close();//建议大家记得它,代码没有错误,但是会造成JVM以外的操作系统相关内存没有得到是否
    }
}

3.4 分支语句

3.4.1 单分支条件判断:if

  • if语句第一种格式: if

if(条件表达式){
    语句体;
}
  • 23
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值