1.    三种控制结构是什么?
顺序结构,选择结构,循环结构
2.    如果if语句后面不写{},if的控制范围是否只限于第一句?
正确
3.    Math.random()是什么意思?如果想获得15-20之间的随机数,怎么办?
产生一个0-1之间的随机数,包含0但不包含1
(int)(Math.random()*6)+15;
4.    switch语句的功能是否完全可以使用if else if else多选择结构来代替?如果是,为什么还需要switch结构?
可以
switch一般用来做多值的判断,如果判断条件为区间,则最好使用多重if来做,如果是等值情况最好使用switch来做
5.    switch中的表达式的结果需要是什么类型?
byte,char,short,int
jdk1.5 加入了枚举
jdk1.7加入了String
6.    switch语句中,一个case开始执行后,什么时候结束执行这个case的语句?
遇到break结束执行这个case语句
7.    switch语句中,default是否必须写?
不是必须写
8.    下面代码有什么错误?
switch (c2) {
        case 'y';
        case 'w';
            System.out.println("半元音");
            break;
        default:
            System.out.println("辅音");
}
    case后的表达式后面应该是“:”冒号
9.    循环结构模拟了现实世界中的什么逻辑?
循环结构模拟了现实世界中的“重复问题“的逻辑
10.    循环结构的四种内部结构是什么?
 while(布尔表达式){
      循环体;
}
do{
   循环体;
}while(布尔表达式);
for(初始表达式;布尔表达式;迭代因子){
    循环体;
}
foreach(数组或集合中元素的类型 迭代变量:数组或集合名){
    循环体;
}
11.    while和dowhile有什么区别?
当条件不成立时,do-while至少执行一次
12.    什么情况下,会出现死循环?并写出一个例子来
循环条件始终成立时,则会出现死循环
while(true){
     System.out.println(“helloworld”);
}
13.    for循环相比while循环有什么优势?
语法结构比while简便,
通常用于解决循环次数固定的问题
14.    下面代码都有什么问题:
do{
    System.out.println(a);
    a++;
} while (a<0)
a没有初始化
15.    下面代码有错误吗?如果有,指出错误:
for(int i=0;i<=10;i++){
    System.out.println(i);  //循环体
}
System.out.println("(((((("+i);
    i超出了作用域的范围
16.    循环中,break的作用是?continue的作用是?
break用于强行退出循环,不执行循环中剩余的语句
continue用于跳过本次循环, 不执行continue后的语句, 继续下一次循环
17.    语句块能否使用外部的变量?语句块中定义的变量,外部能否使用?
语句块能使用外部的变量, 但是语句块中定义的变量外部不能使用
18.    方法的定义中,是否必须要有返回值类型?如果确实不需返回值,使用哪个关键字声明?
返回值类型不是必须的
不需要返回值使用关键字void
19.    方法的定义中,return是否必须?它有什么作用?
不是必须
return语句终止方法的运行并指定要返回的数据
20.    Java中,参数的传递使用值传递还是引用传递?
值传递
21.    方法定义中,形式参数和实际参数有什么区别?用自己的话描述。
方法定义时的参数称为形式参数,需要数据类型
方法调用时的参数称为实际参数,不需要类型,只需要值
22.    方法定义时,使用实参还是形参?
方法定义时,使用的是形参
23.    定义形参时,必须要写变量类型吗?
必须要写变量类型
24.    实参类型是否必须和形参类型匹配?
必须匹配
25.    什么是方法的重载,有什么作用?
方法重载:
[1]在同一个类中
[2]方法的名称相同
[3]参数列表不同
[4]与访问修饰符和返回值类型无关
[5]与异常无关
作用:
传递不同的参数实现相同的效果
26.    两同三不同指的是?返回值不同构成重载吗?形参名称不同构成重载吗?
两同:同一个类中,方法名称相同
三不同:参数列表的参数的类型,个数,顺序不同
返回值不同构不能方法重载
形参名称不同构不成方法重载
27.    递归算法中,递归头和递归体分别指什么?
递归头:什么时候不调用自己方法,即递归的结束条件
递归体:什么时候需要调用自己方法,即自己调用自己
28.    递归算法的优点是什么?缺点是什么?
递归的优点:将问题逐渐简单化
递归的缺点:会占用大量的系统堆栈,内存耗用多,在递归调用层次多时速度    比循环慢的多。
29.    【上机】使用递归算法完成阶乘算法
public static int jiCheng(int number){
        if (number==1) {
            return 1;
        }else{
            return number*jiCheng(number-1);
        }
    }
30.    【上机】根据随机生成的的月份,打出该月份的天数.(不考虑闰年、闰月)
public class Test{
public static void main(String [] args){
    int day=0;
    int ran=(int)(Math.random()*12)+1;
    switch(ran){
       case 2:
          day=28;
          break;
      case 1:
      case 3:
          case 5:
case 7:
case 8:
case 10:
case 12:
   day=31;
   break;
default:
   day=30;
   break;
}
System.out.println(ran+”月,共”+day+”天”);
}
}
31.    【上机】用while和for循环分别计算100以内奇数和偶数的和,并输出。
(1)求1-100以内奇数的和;
用while循环:
int i=1;
int sum=0;
while(i<=100){
sum=sum+i;
i+=2;
}    
System.out.println("1-100之间所有奇数的和是"+sum);
用for循环:    
int  i=1;
int  sum=0;
for(i=1;i<=100;i+=2){
    sum=sum+i;
}
System.out.println("1-100之间所有奇数的和是"+sum);
(2)求1-100以内偶数的和(略)
32.    【上机】用while和for循环输出1-1000之间能被5整除的数,且每行输出3个。
用while:
int i=1;
int count=0;
while(i<=1000){
     if(i%5==0) {
        System.out.print(i+"\t"); 
        count++; 
        if(count%3==0){
    System.out.println();
    }
     }  
     i++;    
  }
用for循环:
int  i=1;
int  count=0;
for(i=1;i<=1000;i++){
   if(i%5==0) {
      System.out.print(i+"\t"); 
      count++; 
      if(count%3==0){
          System.out.println();
       }
    }  
}
33.    【上机】打印出九九乘法表
for(int i=1;i<=9;i++){
   for(int j=1;j<=i;j++){
     System.out.print(j+”*” +i+”=”+(i*j)+””);
}
System.out.println();
}

34.    【上机】编程求:∑1+∑2+……+∑100
public static int getSum(int number){
    if(number==1){
         return 1;
     }else{
         return number+getSum(number-1);
     }
}
public static void main(String [] args){
    int sum=0;
    for(int i=1;i<=100;i++){
          sum+=getSum(i);
   }
   System.out.println(“和为:”+sum);
}
35.    【上机】生成0-100随机数,直到生成88为止,停止循环!
public static void main(String[] args) {
        //生成1-100随机数;
        int r=(int)(Math.random()*100)+1;
        while(r!=88){
            r=(int)(Math.random()*100)+1;
        }
}
36.    【上机】把100~150之间不能被3整除的数输出
 for(int i=100;i<=150;i++){
if(i%3!=0){
   System.out.println(i);
}
}
37.    【上机】打印出实心10*10正方形、空心10*10正方形
for(int i=1;i<=10;i++){
for(int j=1;j<=10;i++){
   System.out.print(“*”);
}
System.out.println();
}
38.    【上机】打印出实心10*10菱形, 空心10*10菱形
//1-6行正三角
for(int i = 0; i < 6; i++){
    //*前空格
    for(int j = 0; j < 5 - i; j++){
        System.out.print("");
    }
    //*
    for(int j = 0; j < 2 * i + 1; j++){
        System.out.print("*");
    }
    //*后空格
    for(int j = 0; j < 5 - i; j++){
            System.out.print("");
    }
    System.out.println();
}
//7-11行倒三角
    for(int i = 0; i < 5; i++){
    //*前空格
    for(int j = 0; j < i + 1; j++){
        System.out.print("");
    }
    //*
    for(int j = 0; j < 9 - 2 * i; j++){
        System.out.print("*");
    }
    //*后空格
    for(int j = 0; j < i + 1; j++){
        System.out.print("");
    }
    System.out.println();        
}
39.    【上机】将如上所有上机相关算法的作业,封装成方法,便于重用。

尚学堂百战程序员1573题---答案总结第三章 控制语句相关推荐

  1. 尚学堂百战程序员1573题---答案总结第一章 初识Java

    第一章 初识Java 1. 你学习编程的目的是什么?学习编程最快的办法是什么? 答:我觉得的我喜欢计算机,我认为计算机是一个很神奇的东西,所以我要学计算机专业,同时,我认为学计算机学编程是一个比较容易 ...

  2. 尚学堂百战程序员---第一章面试题

    1.你学习编程的目的是什么?学习编程最快的方法是什么? 因为喜欢编程.所以大学就报了编程.我觉得人一生起码要为自己喜欢的奋斗一下,所以我学习了编程 最快的方法当然还是敲代码了,因为很多东西你不打你根本 ...

  3. c++ fork 进程时 共享内存_尚学堂百战程序员:Python多进程与共享内存

    多进程使用 linux下可使用 fork 函数 #!/bin/env python import os print 'Process (%s) start...' % os.getpid() pid ...

  4. 如何编写代码使jsp程序错误在输入框上面显示_252尚学堂百战程序员049天

    训练大纲(第052天) 大家如果想快速有效的学习,思想核心是"以建立知识体系为核心",具体方法是"守破离".确保老师课堂上做的操作,反复练习直到熟练. 第103 ...

  5. sprintf函数的格式化字符串_尚学堂百战程序员:Python 字符串处理

    一个字符不等价于一个字节,字符是人类能够识别的符号,而这些符号要保存到计算的存储中就需要用计算机能够识别的字节来表示.一个字符往往有多种表示方法,不同的表示方法会使用不同的字节数.这里所说的不同的表示 ...

  6. Linux的快速使用_jdk安装_tomcat安装_mysql安装-尚学堂~百战程序员学习笔记

    一.Linux 简介 1.发展历史 丹尼斯·里奇 肯·汤普逊 系统内核汇编. B 语言. C 语言做为内核语言,发明 unix linus 召集 unix 原班人马.发明了系统 linus 后更名为 ...

  7. 百战程序员试题与答案(仅供参考)

    JAVA基础篇 1.你学习编程的目的是什么?学习编程最快的办法是什么? 答案:我觉得多敲代码,多思考学的能快一点 2.程序员的职业规划是什么?我怎么能拿到10万年薪,30万年薪,50万年薪? 答案:努 ...

  8. 《程序员代码面试指南》第三章 二叉树问题 二叉树节点间的最大距离问题

    题目 二叉树节点间的最大距离问题 java代码 package com.lizhouwei.chapter3;/*** @Description:二叉树节点间的最大距离问题* @Author: liz ...

  9. 《Android移动应用基础教程》(Android Studio)(第二版)黑马程序员 课后习题答案

    <Android移动应用基础教程>(Android Studio)(第二版)黑马程序员 课后习题答案 目录 第1章 Android基础入门 第2章 Android常见界面布局 第3章 An ...

  10. 这些题目,据说只有程序员才懂得答案?

    0.据说最近流行答题,先来一道热热身. 1.下面这道题的答案显而易见,不会的自动罚站. 2.来一道简单的算术题,你的答案是什么? 3.一道程序员的面试题,请写出你认为的答案. 4.B站的校招面试题,请 ...

最新文章

  1. linux 命令之文件读取,head, tail, tailf, sed
  2. UBUNTU安装SSH和xrdp
  3. Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
  4. 前言(CSDN也有Markdown了,好开森)
  5. 在windows下安装flex和bison、GCC
  6. JAVA——构建FAT32文件系统的DBR(DOS引导记录)类
  7. 学成在线--22.课程营销
  8. kafka server常用核心配置
  9. 选择嵌套_还不会if函数的嵌套判断,学会这方法,就跟复制粘贴一样简单
  10. 遥感图像计算机自动分类原理,遥感原理与应用_第5章_2遥感影像解译-遥感影像计算机自动分类讲义.ppt...
  11. 斗地主发牌游戏编程java,自己做的斗地主游戏发牌C#程序
  12. 显示器偏色测试软件,显示器偏色,如何解决显示器偏色?
  13. idea git操作
  14. tomcat+nginx配置htpps
  15. iOS二维码限制区域识别、扫描动画
  16. 计算机专业分类分级,计算机等级分级
  17. mount:special device does not exist (a path prefix is not a directory)
  18. 物联网核心技术M2M的构成、基本特征和应用类别
  19. 万向节死锁_欧拉角的奇异问题和万向节死锁问题,会对实际的哪些应用带来什么问题?...
  20. Part 5 多元函数基础

热门文章

  1. Qt视频直播软件--项目实战(Day2)
  2. 抽象代数的人间烟火——北航李尚志
  3. 计算机电路电子技术试题答案,数字电子技术基础试题及答案
  4. java表情字符怎么判断_判断字符串中是否包含Emoji表情代码
  5. 有趣的github项目
  6. 一个无限批量下载百度美女图片的demo
  7. Mac上的全局翻译利器 : Bob + PopClip
  8. 周立功USBCANFD_200U的Python调用
  9. php 删除服务器指定目录图片
  10. GISAXS和GIWAXS的分析