黑马程序员技术交流社区

标题: 11月5日公开课第三天提问帖 [打印本页]

作者: HM代景康    时间: 2013-11-5 20:03
标题: 11月5日公开课第三天提问帖
11月3日公开课第二天提问帖

请大家围绕今天的课程内容提问,以下是今天的课程内容

第一节课
答疑、回顾昨天视频中的重点
循环嵌套习题讲解
应用型习题讲解
第二节课
数组创建与初始化
数组基本操作
数组排序
二维数组

提问要简洁清晰,这样老师才能更明确的回答你的问题!!

如问题无法论坛解决,老师会在后天的公开课,回答大家的问题。

公开课课程大纲:http://bbs.itheima.com/thread-95605-1-1.html
公开课视频发布:http://bbs.itheima.com/thread-95819-1-1.html



作者: /yhh大雁/zhh    时间: 2013-11-5 21:24
占个沙发
作者: 香_獨_秀    时间: 2013-11-5 22:10
请问一下老师 for 循环是 234的执还是243的执行啊?
如果是243的执行我就是想通程序了
如果是234的执就想不通啊
作者: 秋风吹进落叶    时间: 2013-11-5 22:15
for(int a : b){System.out.println(a);} 老师,这个循环怎么理解呢
作者: Ree~ven    时间: 2013-11-5 22:19
  1. System.out.println(true?false:true?false:true);
  2. 结果为什么是false?
复制代码

作者: ixiangfeng    时间: 2013-11-5 22:21
秋风吹进落叶 发表于 2013-11-5 22:15
for(int a : b){System.out.println(a);} 老师,这个循环怎么理解呢

这个是JAVA1.5后的增强for语句 (foreach)  b可以是集合也可以是数组  功能就是把b里面的内容都遍历一遍  你这里就是把数组或集合遍历后输出
作者: 杨增坤    时间: 2013-11-5 22:32
秋风吹进落叶 发表于 2013-11-5 22:15
for(int a : b){System.out.println(a);} 老师,这个循环怎么理解呢

这个是高级for循环。
  1. public class Demo {
  2.         public static void main(String[] args) {
  3.                 /**
  4.                  * 格式:for(类型 变量:集合变量)
  5.                  * 此变量:必须实现了Iterator接口 只能读取,
  6.                  * 不能对其进行其他操作(修改,删除,增加)
  7.                  */

  8.                 String[] ss = { "abc", "123", "de12" };
  9.                 for (String s : ss)
  10.                         System.out.println(s);

  11.                 int[] a = { 1, 2, 3, 4, 5, 6 };
  12.                 for (int s : a) {
  13.                         System.out.println(s);
  14.                 }
  15.         }

  16. }
复制代码
希望对你有帮助!

作者: ixiangfeng    时间: 2013-11-5 22:37
Ree~ven 发表于 2013-11-5 22:19

应该是这样理解的 三目运算符从右到左运算 true?false:true?false:true 这里相当于true?false:(true?false:true)
作者: lkmiawfn    时间: 2013-11-5 22:42
香_獨_秀 发表于 2013-11-5 22:10
请问一下老师 for 循环是 234的执还是243的执行啊?
如果是243的执行我就是想通程序了
如果是234的执就想不 ...



作者: /yhh大雁/zhh    时间: 2013-11-5 23:05
秋风吹进落叶 发表于 2013-11-5 22:15
for(int a : b){System.out.println(a);} 老师,这个循环怎么理解呢

这是JDK1.5以后的加强版,就是只要a在b之内,就执行for循环
作者: 涛哥哥    时间: 2013-11-6 10:21
本帖最后由 涛哥哥 于 2013-11-6 10:27 编辑

C语言基本语法和JAVA比较很相似 以下是以九九乘法表比较
#include<stdio.h>                                                                   class Dome{
void main(){                                                                                    public static void main(String[] args){
for(int j=1; j<=9; j++){                                                                        for(int j=1; j<=9; j++){      
    for(int i=1;i<=j;i++){                                                                                for(int i=1;i<=j;i++){
       printf("%d%s%d%s%d",j,"x",i,"=",j*i);                                                 System.out.print(j+"x"+i+"="+i*j);         
                                       printf("\t");                                                                                               System.out.print("\t");
             }                                                                                                              }
             printf("\n");                                                                                                       System.out.println();
        }                                                                                                                   }
                                                                                                                    }
          }                                                                                                   }



3.jpg (27.13 KB, 下载次数: 17)

C

C

4.jpg (28.29 KB, 下载次数: 21)

java

java

作者: week11    时间: 2013-11-6 13:04
/*获取1~10的和,并打印
        1~100之间 7的倍数的个数,并打印*/
        public static void main(String[] args)         {
                int res = add(1,10);
                //在java里怎么获取输入值?scanf(a,b)??
                System.out.println("result="+res);
                System.out.println(add(1,10));
                System.out.println(count(1,100,7));
                count1(1,100,7);
               
        }

        static int add(int a, int b){
                //void 不行,函数没有返回值,不能设置return?
                //我要是想用void,该怎么弄,只能直接在这个方法里打印?
                int sum =0;
                for ( int c = a; b >= c; c++ )
                {
                        sum += c;
                }
                return sum;
        }

        static int count(int s,int e, int c){
                 int num = 0;
                 for ( ; e >= s;s++ ){
                         if (s%c == 0){
                                 num++;
                         }
                 }
                 return num;
        }
                 //有办法同时获得,选中数吗?
        static void count1(int s,int e, int c){
               
                for ( int a = s;a <=e ;a++){
                        if (a%c == 0){
                                System.out.print("可被整除的数==="+a+"\n");
                                //System.out.println();
                        }
                }
             
        }
//累加思想?记录变化最终结果?还是变化后结果?字符串不断增加又该怎么弄?(最好给个实例)
作者: Ree~ven    时间: 2013-11-6 23:13
Ree~ven 发表于 2013-11-5 22:19

理解了,谢谢~
作者: 晓之飞    时间: 2014-12-20 22:11
学习学习下
作者: king——    时间: 2014-12-21 00:19
对我目前我这样的菜鸟来说太难了

作者: 南桥听雨    时间: 2015-3-12 14:57
看看,学习下




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2