菜鸟教程 -- 学的不仅是技术,更是梦想!

Java 教程
(追記) (追記ここまで)

Java 条件语句 - if...else

Java 中的条件语句允许程序根据条件的不同执行不同的代码块。

一个 if 语句包含一个布尔表达式和一条或多条语句。

语法

if 语句的语法如下:

if(布尔表达式){//如果布尔表达式为true将执行的语句}

如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 else 语句块后面的代码。

Test.java 文件代码:

publicclassTest{publicstaticvoidmain(Stringargs[]){intx = 10; if(x < 20){System.out.print("这是 if 语句"); }}}

以上代码编译运行结果如下:

这是 if 语句

if...else语句

if 语句后面可以跟 else 语句,当 if 语句的布尔表达式值为 false 时,else 语句块会被执行。

语法

if...else 的用法如下:

if(布尔表达式){//如果布尔表达式的值为true}else{//如果布尔表达式的值为false}

实例

Test.java 文件代码:

publicclassTest{publicstaticvoidmain(Stringargs[]){intx = 30; if(x < 20){System.out.print("这是 if 语句"); }else{System.out.print("这是 else 语句"); }}}

以上代码编译运行结果如下:

这是 else 语句

if...else if...else 语句

if 语句后面可以跟 else if…else 语句,这种语句可以检测到多种可能的情况。

使用 if,else if,else 语句的时候,需要注意下面几点:

  • if 语句至多有 1 个 else 语句,else 语句在所有的 else if 语句之后。
  • if 语句可以有若干个 else if 语句,它们必须在 else 语句之前。
  • 一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。

语法

if...else 语法格式如下:

if(布尔表达式 1){//如果布尔表达式 1的值为true执行代码}elseif(布尔表达式 2){//如果布尔表达式 2的值为true执行代码}elseif(布尔表达式 3){//如果布尔表达式 3的值为true执行代码}else{//如果以上布尔表达式都不为true执行代码}

实例

Test.java 文件代码:

publicclassTest{publicstaticvoidmain(Stringargs[]){intx = 30; if(x == 10){System.out.print("Value of X is 10"); }elseif(x == 20){System.out.print("Value of X is 20"); }elseif(x == 30){System.out.print("Value of X is 30"); }else{System.out.print("这是 else 语句"); }}}

以上代码编译运行结果如下:

Value of X is 30

嵌套的 if...else 语句

使用嵌套的 if...else 语句是合法的。也就是说你可以在另一个 if 或者 else if 语句中使用 if 或者 else if 语句。

语法

嵌套的 if...else 语法格式如下:

if(布尔表达式 1){////如果布尔表达式 1的值为true执行代码if(布尔表达式 2){////如果布尔表达式 2的值为true执行代码}}

你可以像 if 语句一样嵌套 else if...else。

实例

Test.java 文件代码:

publicclassTest{publicstaticvoidmain(Stringargs[]){intx = 30; inty = 10; if(x == 30){if(y == 10){System.out.print("X = 30 and Y = 10"); }}}}

以上代码编译运行结果如下:

X = 30 and Y = 10
AI 思考中...

5 篇笔记 写笔记

  1. #0

    alan.huang

    407***[email protected]

    74

    运用前面变量和for循环,以及if知识,编制一个小程序,程序的功能是在控制台输入由*号组成的菱形。请看以下代码:

    public class Demo2 {
     // 下面是升序的代码
     public void prit1(float c) {
     float p = c / 2;// 升序排序
     float d;// 声明行数变量
     float e;// 声明打印*号的变量
     float f;// 声明打印空格的变量
     float r;// 声明升序排序
     float s = c % 2;// 取模
     if (s == 0) {
     System.out.println("你输入的数据不能形成菱形结构");
     } else {
     for (d = 1; d <= p; d++) {
     for (f = p; f >= d; f--) {
     System.out.print(" ");
     }
     for (e = 1; e <= d * 2 - 1; e++) {
     if (e == 1 || e == d * 2 - 1) {
     System.out.print("*");// 如果是第一个数和最后一个数,就输入*
     } else {
     System.out.print(" ");// 否则输入空格
     }
     }
     System.out.println();
     }
     }
     }
     // 下面是打印倒序的代码
     public void prit2(float m) {
     float i;// 声明行数变量
     float j;// 声明打印*号的变量
     float k;// 声明打印空格数的变量
     float n = m / 2 + 1;// 倒序排序
     float o = m % 2;// m取模
     if (o == 0) {
     System.out.print("");
     } else {
     for (i = 1; i <= n; i++)// 行数循环;
     {
     // 打印*号前打印空格;
     for (k = 0; k < i - 1; k++) {
     System.out.print(" ");
     }
     // 下面打印*号个数的循环;
     for (j = (n - k) * 2 - 2; j >= 1; j--)// 打印*号个数的循环;
     {
     if (j == (n - k) * 2 - 2 || j == 1) {
     System.out.print("*");
     } else {
     System.out.print(" ");
     }
     }
     // 打印完*号换行打印;
     System.out.println();
     }
     }
     }
     public static void main(String[] args) {
     Demo2 a = new Demo2();
     float b = 11;// 根据行数,判断是否可以组成菱形。如果是基数行可以输入对应的菱形,如果是偶数行则输出"你输入的数据不能形成菱形结构";
     a.prit1(b);
     a.prit2(b);
     }
    }

    alan.huang

    407***[email protected]

    9年前 (2017年08月07日)
  2. #0

    Ant阿布

    163***[email protected]

    27

    把需要打印的菱形放在一个正方形里面,控制台打印出一个a*a的区域,找出菱形边所在的函数,逢边上的点打印"*",其他点打印" "。不用区分升序降序,请看代码:

    public class Draw{
     int a,b; //a是要生成的菱形行数
     int h; //h是方法中的参数,也是行数
     int i,j; //i j是循环结构参数
     public void draw(int h ){
     for(i = 1 ;i <= h ;i++){ //逐行打印
     for(j = 1;j <= h;j++){ //每行打印个数与行数保持一致
     //下面语句是菱形四条边的函数,在边上的坐标点,打印*,否则打印空格
     if(j == (h + 3) / 2 - i || j == (h - 1) / 2 + i || j == i - (h - 1 ) / 2 || j == (3 * h + 1) / 2 - i){
     System.out.print("*");
     }else{
     System.out.print(" ");
     } 
     } 
     System.out.println(); //第 i 行打印完换行
     }
     }
     public static void main(String[] args){ //静态方法
     Draw b = new Draw(); //初始化方法
     int a = 35; //赋值并执行draw方法
     b.draw(a);
     }
    }

    Ant阿布

    163***[email protected]

    9年前 (2017年09月02日)
  3. #0

    tfbyly

    905***[email protected]

    36

    输出 200 以内能被 7 整除但是不能被 4 整除的数字,并且每行输出 6 个:

    public class Test{
     public static void main(String[] args) {
     // TODO Auto-generated method stub
     System.out.println("输出200以内能被7整除但是不能被4整除的数字");
     int k = 1;// 一个计数器,后面用于控制每行打印的个数
     // 用for循环进行200以内的循环
     for (int i = 0; i <= 200; i++) {
     // if语句判断是否为题目中的条件,如果满足,则打印
     if (i % 7 == 0 && i % 4 != 0) {
     System.out.print(i + "\t");
     // 每次循环都将计数器+1
     k++;
     // 如果计数器大于6就换行,并且将计数器归一,重新进入下一次循环计数
     if (k > 6) {
     System.out.println();
     k = 1;
     }
     }
     }
     }
    }

    执行结果:

    输出200以内能被7整除但是不能被4整除的数字
    7 14 21 35 42 49 
    63 70 77 91 98 105 
    119 126 133 147 154 161 
    175 182 189

    tfbyly

    905***[email protected]

    8年前 (2018年04月18日)
  4. #0

    王木木

    405***[email protected]

    12

    绘制一个空心的菱形,并且通过变量 a 来控制菱形的大小。

    public class Rhombus {
     int x, y;// 菱形上部的参数
     int z, k;// 绘制菱形下部的参数
     int b, c;
     private void draw(int a) {
     for (x = 0; x <= a; x++) {
     for (y = a; y >= x; y--) {
     if (y > x) {
     System.out.print(" ");
     }//绘制菱形上半部分左边的空格部分,逐行递减
     if (y == x) {
     System.out.print("*");
     }//绘制菱形上半部分左边的边
     }
     for (b = 1; b <= 2 * x; b++) {
     if (b < 2 * x) {
     System.out.print(" ");//绘制菱形上半部分中间的空格
     } else if (b == 2 * x) {
     System.out.print("*");//绘制菱形上半部分有伴部分的边
     }
     }
     System.out.println();//换行
     }//菱形上半部分绘制完毕
     
     for (z = 0; z < a; z++) {
     for (k = 0; k <= z; k++) {
     if (k == 0) {
     System.out.print(" ");
     }
     if (k < z) {
     System.out.print(" ");
     }//绘制菱形下半部分左边的空格部分,数量逐行递增
     if (k == z) {
     System.out.print("*");
     }//绘制菱形下半部分左边的边
     }
     for (c = 2 * a - 3; c >= 2 * z; c--) {
     if (c > 2 * z) {
     System.out.print(" ");//绘制菱形下半部分中间的空格
     } else if (c == 2 * z) {
     System.out.print("*");//绘制菱形下半部分有伴部分的边
     }
     }
     System.out.println();//换行
     }//菱形下半部分绘制完毕
     }
     public static void main(String[] args) {
     Rhombus myRhombus = new Rhombus();
     int a = 10;//可以更改,控制菱形的大小
     myRhombus.draw(a);
     }
    }

    修改 int a= 后面的数字,可以更改菱形的大小。

    王木木

    405***[email protected]

    8年前 (2018年07月31日)
  5. #0

    阿木木

    175***[email protected]

    10

    用for和if绘制一个图形

    * * * * * * * * * * * * *

    * @ *

    * @ @ *

    * @ @ *

    * @ @ *

    * @ @ *

    * @ @ *

    * @ @ *

    * @ @ *

    * @ @ *

    * @ @ *

    * @ *

    * * * * * * * * * * * * *

    import java.io.*;
    import java.util.Scanner;
    public class IfelseP {
     public void draw(int h) {
     for (int m = 0; m <= h + 1; m++) {
     for (int n = 0; n <= h + 1; n++) {
     if ((m == 0 && n >= 0) || (n == 0 && m > 0) || (m == h + 1 && h + 1 > n && n > 0)
     || (n == h + 1 && m > 0)) {
     System.out.print(" ");
     System.out.print("*");
     } else if (n == (h + 3) / 2 - m || n == (h - 1) / 2 + m || n == m - (h - 1) / 2
     || n == (3 * h + 1) / 2 - m) {
     System.out.print(" ");
     System.out.print("@");
     } else {
     System.out.print(" ");
     System.out.print(" ");
     }
     }
     System.out.println();
     }
     /*
     * for (int i=1;i<=h;i++){ //逐行打印 for (int j=1;j<=h;j++){
     * //每行打印个数数行数保持一致 //下面是菱形四天便的函数,在边上的坐标点打印*,否则打印空格 if
     * (j==(h+3)/2-i||j==(h-1)/2+i||j==i-(h-1)/2||j==(3*h+1)/2-i){
     * System.out.print("*"); }else { System.out.print(" "); } }
     * System.out.println(); }
     */ }
     public static void main(String[] args) {
     IfelseP p = new IfelseP();
     System.out.println("请输入大于1的奇数:");
     Scanner scanner = new Scanner(System.in);
     int a = scanner.nextInt();
     p.draw(a);
     }
    }

    阿木木

    175***[email protected]

    7年前 (2019年06月10日)

点我分享笔记

  • 昵称 (必填)
  • 邮箱 (必填)
  • 引用地址

AltStyle によって変換されたページ (->オリジナル) /