请选择 进入手机版 | 继续访问电脑版
查看: 50|回复: 1

自学Java 第三章“顺序结构”

[复制链接]

139

主题

307

帖子

3205

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3205

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

QQ
发表于 2020-1-15 13:26:04 | 显示全部楼层 |阅读模式
3.1 顺序结构
执行过程:从上到下顺序执行
3.1.1 输出语句
1、System.out.print(输出内容); #输出内容后不换行
2、System.out.println(输出内容);  #输出内容后换行
#输出常量
System.out.print(1);
System.out.print('尚');
System.out.print(44.4);
System.out.print(true);
System.out.print("尚硅谷");

#输出变量
int a = 1;
char c = '尚';
double d = 44.4;
boolean b = true;
String school = "尚硅谷";
System.out.print(a);
System.out.print(c);
System.out.print(d);
System.out.print(b);
System.out.print(school);

#输出拼接结果
System.out.print("a = " + a);
System.out.print("c = " + c);
System.out.print("d = " + d);
System.out.print("b = " + b);
System.out.print("school = " + school);3.1.2 输入语句
键盘输入代码的三个步骤:
1、准备Scanner类型的变量
2、提示输入xx
3、接收输入内容
示例代码:
//1、准备Scanner类型的变量
java.util.Scanner input = new java.util.Scanner(System.in);//System.in默认代表键盘输入

//2、提示输入xx
System.out.print("请输入一个整数:");

//3、接收输入内容
int num = input.nextInt();

//列出各种数据类型的输入
int num = input.nextInt();
long bigNum = input.nextLong();
double d = input.nextDouble();
boolean b = input.nextBoolean();
String s = input.next();
char c = input.next().charAt(0);//先按照字符串接收,然后再取字符串的第一个字符(下标为0)
3.2 分支结构
分支结构:根据条件选择性的执行某些代码
分为:
1、条件判断:if...else系列
2、选择结构:switch...case系列
3.2.1 条件判断1、单分支结构
语法格式:
if(条件表达式){
    当条件表达式成立(true)时需要执行的语句块;
}
执行过程:
        条件成立,就执行{}其中的语句块,不成立就不执行。
注意:
(1)if(条件表达式)中的条件表达式的结果必须是boolean类型
(2)当{}中的语句只有一个语句(简单的语句,也可以是一个复合语句)时,可以省略{},但是我们不建议省略
        //省略{}的情况
        if(score<0 || score>100)
            System.out.println("输入有误!");//简单的语句
        else
            //复合语句
            if(score==100){
                System.out.println("满分");
            }else if(score>=80){
                System.out.println("优秀");
            }else if(score>=60){
                System.out.println("及格");
            }else{
                System.out.println("不及格");
            }
示例代码:
int year = 2019;
int days = 28;
if(year%4==0 && year%100!=0 || year%400==0){
    days= 29;
}
2、双分支结构
语法格式:
if(条件表达式){
    当条件表达式成立(true)时需要执行的语句块1;
}else{
    当条件表达式不成立(false)时需要执行的语句块2;
}
执行过程:
        当条件表达式成立(true)时执行语句块1,否则执行语句块2
注意:
(1)if(条件表达式)中的条件表达式的结果必须是boolean类型
(2)当{}中的语句只有一个语句(简单的语句,也可以是一个复合语句)时,可以省略{},但是我们不建议

示例代码:
int num = 10;
if(num%2==0){
    System.out.println(num + "是偶数");
}else{
     System.out.println(num + "是奇数");
}
3、多分支结构
语法格式:
if(条件表达式1){
    当条件表达式1成立的时候,执行的语句块1;
}else if(条件表达式2){
    当条件表达式1不成立,
      条件表达式2成立的时候,执行的语句块2;
}else if(条件表达式3){
    当条件表达式1不成立,
       条件表达式2也不成立,
      条件表达式3成立的时候,执行的语句块3;
}
。。。
【else{
    当以上所有的条件表达式都不成立,需要执行的语句块n+1;
}】
执行过程:
(1)多个条件顺序往下判断,如果上面有一个条件成立了,下面的条件就不看了
(2)多个分支也只会执行其中的一个
注意:
(1)每一个条件表达式都必须是boolean值
(2)当{}中只有一个语句时,也可以省略{},但不建议省略
(3)当多个条件是“互斥”关系(没有重叠部分),顺序可以随意;
          当多个条件是“包含”关系(有重叠部分),顺序不能随意,小的在上,大的在下面

示例代码:
            int score = 78;
            if(score==100){
                System.out.println("满分");
            }else if(score>=80){
                System.out.println("优秀");
            }else if(score>=60){
                System.out.println("及格");
            }else{
                System.out.println("不及格");
            }
4、嵌套
执行过程:
        当嵌套在if中,就是当外面的if成立时,才会看里面的条件判断;
        当嵌套在else中,就当外面的else满足时,才会看里面的条件判断;

3.2.2 选择结构
语法格式:
switch(表达式){
    case 常量值1:
        语句块1;
        【break;】
    case 常量值2:
        语句块2;
        【break;】   
    。。。
   【default:
        语句块n+1;
        【break;】
     】
}
执行过程:
(1)入口
①当switch(表达式)的值与case后面的某个常量值匹配,就从这个case进入;
②当switch(表达式)的值与case后面的所有常量值都不匹配,寻找default分支进入;
(2)一旦从“入口”进入switch,就会顺序往下执行,直到遇到“出口”
(3)出口
①自然出口:遇到了switch的结束}
②中断出口:遇到了break等

注意:
(1)switch(表达式)的值的类型,只能是:4种基本数据类型(byte,short,int,char),两种引用数据类型(枚举、String)
(2)case后面必须是常量值,而且不能重复

示例代码:
int month = 4;
switch(month){
    case 3:
    case 4:
    case 5:
        System.out.println("春季");
        break;
    case 6:
    case 7:
    case 8:
        System.out.println("夏季");
        break;
    case 9:
    case 10:
    case 11:
        System.out.println("秋季");
        break;
    case 12:
    case 1:
    case 2:
        System.out.println("冬季");
        break;
    default:
        System.out.println("输入有误!");
}


1、多分支条件判断:

  1. <font face="宋体">public class study_1{
  2.     public static void main(String[] args){
  3.         java.util.Scanner input =new java.util.Scanner(System.in);
  4.         System.out.print("亲输入成绩");
  5.         int score=input.nextInt();
  6.         if(score > 90) {
  7.             System.out.println("优秀");
  8.         }
  9.         else if(score > 70){
  10.             System.out.print("良好");
  11.         }
  12.         else if(score > 60){
  13.             System.out.print("及格");
  14.         }
  15.         else{
  16.             System.out.println("不及格");
  17.         }
  18.     }
  19. }</font>
复制代码

2、练习2:
  1. <font face="宋体">public class study_1{
  2. public static void main(String[] arge) {
  3.        java.util.Scanner input =new java.util.Scanner(System.in);
  4.        System.out.print("岳小鹏请输入成绩");
  5.        int chengji=input.nextInt();
  6.        if(chengji==100){
  7.            System.out.println("奖励一台BMW");
  8.        }
  9.        else if(chengji>=80) {
  10.            System.out.println("奖励一台iPhone7 plus");
  11.        }
  12.        else if(chengji>=60){
  13.            System.out.println("奖励一个iapd");
  14.        }
  15.        else{
  16.            System.out.println("什么奖励也没有");
  17.        }
  18.    }}</font>
复制代码
3、第三个嵌套联系
  1. <font face="宋体">public class study_1{
  2.    public static  void main(String[] arge)
  3.    {
  4.         java.util.Scanner input=new java.util.Scanner(System.in);
  5.         System.out.print("请输入身高(单位:CM)");
  6.         int height=input.nextInt();
  7.         System.out.print("请输入财富(单位:千万)");
  8.         double money=input.nextDouble();
  9.        System.out.print("请输入是否帅(是/否)");
  10.        char handsom=input.next().charAt(0);
  11.        if (height>=180 && money>=1 && handsom=='是'){
  12.            System.out.println("一定嫁给他");
  13.        }
  14.        else if (height>=180 || money>=1 || handsom=='是'){
  15.            System.out.println("还可以");
  16.        }
  17.        else{
  18.            System.out.println("不嫁!");
  19.        }
  20.    }
  21. }</font>
复制代码
4、利用 Math.random 产生随机数
  1. <font face="宋体">public class study_1{
  2.     public static void main(String[] arge){
  3.         System.out.println(Math.random());
  4.         double rand=Math.random();//[0,1)的小数
  5.         System.out.println(rand);

  6.         double num=rand*10;         //[0,10)的小数
  7.         System.out.println(num);

  8.         double num1=num+1; //[1,11)的小数
  9.         System.out.println(num1);

  10.         int zhengshu=(int)num1;
  11.         System.out.println(zhengshu);//[1,11]的整数

  12.     }
  13.    }</font>
复制代码


4、练习题“中彩票”
  1. <font face="宋体">public class study_1{
  2.     public static  void main(String[] arge) {
  3.         int rand =(int)(Math.random() * 90 + 10);
  4.         java.util.Scanner input = new java.util.Scanner(System.in);
  5.         System.out.print("请输入两位数字的彩票号");
  6.         int caipiao = input.nextInt();//输入
  7.         while(caipiao < 10 || caipiao >= 100)
  8.          {
  9.             System.out.println("输入错误,请重新请输入两位数");
  10.              caipiao = input.nextInt();//检查后输入
  11.         }
  12.         int caishi=rand/10; //转换
  13.         int caige=rand%10;
  14.         int shushi=caipiao/10;
  15.         int shuge=caipiao%10;
  16.         if(caipiao==rand)
  17.         {
  18.             System.out.println("奖金10000元");//顺序和数字都是符合的
  19.             System.out.println("中奖号码为" + rand);
  20.         }
  21.         else if(caishi == shuge && caige == shushi){
  22.             System.out.println("奖金3000元");  //顺序不符合,但是数字符合
  23.             System.out.println("中奖号码为" + rand);
  24.         }
  25.         else if(caishi == shushi || caige==shuge){
  26.             System.out.println("奖金1000元");  //顺序符合,但是匹配一个数字
  27.             System.out.println("中奖号码为" + rand);
  28.         }
  29.         else if(caishi == shuge || shushi == caige){
  30.             System.out.println("奖金500");      //顺序不符合,但是匹配一个数字
  31.             System.out.println("中奖号码为" + rand);
  32.         }
  33.         else {
  34.             System.out.println("没中奖");
  35.             System.out.println("中奖号码为" + rand);
  36.         }
  37.     }
  38. }</font>
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

139

主题

307

帖子

3205

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3205

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

QQ
 楼主| 发表于 2020-1-16 13:23:16 来自手机 | 显示全部楼层
自学
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门推荐

自学Java  第四章 数组
自学Java 第四章 数组
4.1 数组的相关概念和名词(了解)1、数组(array): 一组具有相同数据类型的数
ASCII码表
ASCII码表
自学Java  第三章“顺序结构”
自学Java 第三章“顺序结
3.1 顺序结构执行过程:从上到下顺序执行3.1.1 输出语句1、System.out.print(输出内容
自学Java 第一章  Java概述
自学Java 第一章 Java概
第一章 Java概述 1.1 Java历史 Java诞生于SUN(Stanford University Network),09
我会几十种编程语言,明天就去面试
我会几十种编程语言,明天
作者 | Fatos Morina 译者 | 弯月,责编 | 屠敏 出品 | CSDN(ID:CSDNnews) Hel

便携搜索


  • 反馈建议:conghua@wanglx.xyz
QQ:984458841

站长合作友链联系微信

Copyright   ©2015-2016  葱花电子软件分享库  Powered by©Discuz!   ( 冀ICP备19006367号-1 )

快速回复 返回顶部 返回列表