A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李有 中级黑马   /  2012-11-26 11:20  /  12078 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

if else 和while ,for循环和高级for循环的区别:
这2组语句都能互相替换,
请问他们在使用时有没有什么条件限制?
一般大家都用哪个,为什么用这个

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

5 个回复

倒序浏览
1、if·····else 语句的应用场景:
         A:对有限的值进行判断。 但是一般这个时候推荐使用switch。
         B:对结果是boolean类型的值进行判断。
         C:对范围进行判断。
             对条件进行一次判断用if
                对条件进行多次判断用循环

2、什么时候使用while循环语句?
                while:声明的循环变量在使用后,需要继续使用。例如:
            int x = 3;
              while(x>0)
                {
                        System.out.println(x);
                        x--;
                }
                        System.out.println(x);
3、什么时候使用for循环语句?
       for:当循环变量只为递增存在时,建议使用for循环。
                        for(int x=3; x>0; x--)
                        {
                                System.out.println(x);
                        }
                        System.out.println(x);
4、我觉得for循环和高级for循环没什么区别、只是高级for循环用着比较方便,但是不是太规范,一般推荐用普通for循环。
回复 使用道具 举报
FOR:
只要指定条件为 true 都执行语句块。
  for (initialization; test; increment)
  statements
  参数
  initialization
  必选项。一个表达式。该表达式只在执行循环前被执行一次。
  test
  必选项。一个 Boolean 表达式。如果 test 是 true,则 statement 被执行。如果 test 是 false,则循环结束。
  increment
  必选项。一个表达式。在每次经过循环的最后执行该递增表达式。
  statements
  可选项。test 是 true 时,要执行的一个或多个语句。可以是复合语句。
  说明
  循环要执行确定的次数,通常使用 for 循环。

if else   

正确的if-else语句格式是:
if(条件){……}
else if(条件){……}
else if(条件){……}
……

如果满足if 中的条件就执行if 块中的语句,否则执行else中的语句

while (){}

括号中加表达式  先判断是否满足表达式,再进行下面大括号中的语句

加强for循环    一般判断是否属于这个类使用在泛型比较多

回复 使用道具 举报
临时写了一个范例来解释,希望你能理解。若有疑问,回复我。


源代码如下:
  1. package com.learn;

  2. public class Qubie {

  3. /**
  4. * if else、 while、for、高级for 的应用场景与区别
  5. */
  6. public static void main(String[] args) {

  7. /* 1.判断a是否大于b,输出结果。 */
  8. int a=1;
  9. int b=100;
  10. if(a > b)
  11. {
  12. System.out.println("a大于b");
  13. }
  14. else
  15. {
  16. System.out.println("a小于b");
  17. }

  18. /* 2.判断a是否大于b 如果大于b则将b减去1一直到b等于a为止 */
  19. while(a > b)
  20. {
  21. b--;
  22. }

  23. /* 有两个数组:arr1和arr2,输出arr2中与数组arr1相同位置的元素内容 */
  24. /* 这个时候循环是需要下标的 */
  25. int arr1[] = new int[]{1,2,3,4,5,6,7,8,9};
  26. int arr2[] = new int[]{25,35,45,55,65,75,85,95,105};
  27. int len = arr1.length;
  28. for(int i=0;i<len;i++)
  29. {
  30. System.out.println(arr2[i]);
  31. }

  32. /* 打印数组str的内容 */
  33. String str[] = new String[]{"aaa","bbb","ccc","ddd","eee"};
  34. for(String value:str)
  35. {
  36. System.out.println(value);
  37. }

  38. }

  39. }
复制代码
回复 使用道具 举报
if else代码体现:

                int age = 10;
                if(age > 1) {
                        System.out.println("大于1");
                } else if(age > 2) {
                        System.out.println("大于2");
                } else if(age > 3) {
                        System.out.println("大于3");
                }
下面的代码相当于上面代码的体现:
                int age = 10;
                if(age > 1) {
                        System.out.println("大于1");
                }
                 if(age > 2) {
                        System.out.println("大于2");
                }
                 if(age > 3) {
                        System.out.println("大于3");
                }
for和while的选择:当循环变量是规律性变化时使用for循环:当循环变量是 int类型(整数),使用for循环!但我们知道for中使用i++之类的方式改变循环变量的值,当然i+=2,也行!但是如果这个循环变量它不是规律性的变量,通俗点说也就是咱们不确定程序要循环多少次才会终止,那么就不好在使用for了。这时就需要用while了。
增强for循环
                格式:
                        for(数组或集合中的元素类型 变量名 : 数组或者Collection集合)
                        {
                                //这个变量其实就是从数组或者集合中依次取出的元素
                        }
好处:简化了集合和数组的遍历
代码表现:public class ForDemo {
        public static void main(String[] args) {
                int[] arr = { 54, 67, 89, 23, 38 };
                       // 自动的把arr中的元素依次赋值给x
                       for (int x : arr) {
                                                   System.out.println(x);
                }
                // 字符串数组
                String[] strArray = new String[] { "hello", "world", "java" };

                for (String str : strArray) {
                        System.out.println(str);
                }
回复 使用道具 举报
我个人的看法是这样的,没必要去记它们的使用条件,记也记不住,写代码时,自己可以试几个数,把程序流程搞清楚才是关键.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马