Java基础(2)

本文主要介绍了Java中的选择语句,包括if和switch,通过一系列的选择题和简答题,详细讲解了条件判断的使用,同时涵盖了while循环、do-while循环、数组定义与迭代、break和continue的区别,以及简单的编程题目,如整数排序和阶乘计算等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java基础(2)

一、选择题

  1. 下面程序的运行结果是(D )
    int a=3,b=1;
    if(a==b){ //a不等于b不执行后面语句
    System.out.println(“a=”+a);
    }
    A. a=1
    B. a=3
    C. 编译错误 //语法错误
    D. 正常运行但没有输出

  2. 下面程序执行的结果是?(B )
    int i =100;
    while(true) { //永真循环
    if (i++ > 100) {
    break; //先比较在运算,当i为101>100,中断并跳出
    }
    System.out.println(i);
    }
    A. 100
    B. 101
    C. 102
    D. 报错

  3. 下面程序执行的结果是?( C)
    boolean b = true; //赋值
    if(b=false){ //b=false
    System.out.println(“a”);
    }
    else if(b){ //b=false
    System.out.println(“b”);
    }
    else if(!b){ //b=true
    System.out.println(“c”);
    }
    else{
    System.out.println(“d”);
    }
    A. a B. b C. c D. d
    //多重 if 语句,在条件 1 不满足的情况下,才会进行条件 2 的判断;当前面的条件均不成立时,才会执行 else 块内的代码

  4. 下面程序执行的结果是?( D)
    Int x = 2 , y = 3 ;
    switch(x){ //x = 2
    default: y++; //default只有在case匹配失败的时候才会执行,无case2即y为3 然后依次执行 y为4
    case 3: y++; //y为5
    case 4: y++; //y为6

}
Sysetem.out.println(“y=”+y);
A. 3 B. 4 C. 5 D. 6

  1. 下面程序执行的结果
    for(int i=1;i<=10;i++){
    if (i%3==0){ //无余数 整除 3/3 6/3 9/3
    continue; //停止任务3/3 6/3 9/3 执行其他
    }
    System.out.println(“java基础班”);//7次
    }
    在屏幕上打印几次“java基础班”?( C )
    A. 5 B. 6 C. 7 D. 8

  2. 和下面代码能完成相同的选项是(B )
    int i=1;
    int sum=0;
    while(i<=100) {
    if(i%2==0) {
    sum=sum+i;
    }
    i++;
    }
      
    A. for (int x=1; x<=100;x++){ sum=sum+x;}
    B. for (int x =0; x<=100;x+=2){ sum=sum+x;}
    C. for (int x =1; x<=100;x+=2){ sum=sum+x;}
    D.上述全对

  3. 以下代码输出是( D)
    int i=0;
    int sum=0;
    while(i<=10) {
    i++;
    if( i%2!=0 ) //执行不能被整除的数
    continue;//有余数停止本次计算执行下面的计算
    sum+=i; // 2/4/6/8/10
    }
    System.out.println(sum);
    A. 55
    B. 45
    C. 35
    D. 30

  4. 给出下列代码片段:
    if ( x> 0 ) { System.out.println(“Hello”); }
    else if (x >-3 ) { System.out.pirntln ( “I am Tom”); }
    else {System.out.println (“How are you?”); }
    请问将打印字符串 “How are you ?”的x的范围是(C )
    A. x>0
    B. x > -3
    C. x <= -3
    D. x <=0 & x >-3

  5. 下面程序执行的结果是(A )
    classDemo {
    public static void main(String [] args) {
    int a=10;
    if(a++>10){// 先判断在自加 10不>10 自加为11 不执行a=20
    a=20;
    }
    System.out.println(a);
    }
    }
    A. 11
    B. 12
    C. 20
    D. 21

  6. 执行下面代码结果(D)
    for(int i=0;😉{
    System.out.println("这是 "+i);
    break;
    }
    A、 语法错误,缺少表达式2和表达式3
    B、 死循环
    C、 程序什么都不输出
    D、 输出:这是0

  7. 下面代码输出结果是(B )。
    int i=0,s=0;
    do{
    if (i%2 = = 0 ){
    i++;
    continue;
    }
    i++;
    s = s + i;
    } while (i<7);
    System.out.println(s);
    A、 16
    B、 12
    C、 28
    D、 21

  8. 下列输出结果是( C )
    int a = 0 ;
    while ( a < 5 ) {
    switch(a){
    case 0:
    case 3 : a = a + 2;
    case 1 :
    case 2 : a = a + 3;
    default : a = a + 5;
    }
    }
    System.out.print (a) ;
    A、 0
    B、 5
    C、 10
    D、 其他

二、简答题

  1. while循环和do-while循环的区别?
    while 先判断再执行,至少执行0次,
    do-while 先执行再判断,至少执行1次。

2.数组的三种定义方式?
int[] a = {1,2,3,4,5};
// int a[] = {1,2,3,4,5};
int[] b = new int[5];
int[] b = new int[]{1,2,3,4,5};

3.数组的迭代方式?
1.下标法 2.for-each循环
4. break和continue的区别?
break跳出循环,continue 结束本次循环,开始下一次循环

三、编程题

  1. 从键盘输入三个整数,从小到大排序。

package com.sy.day22;

import java.util.Scanner;

public class Test8 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println(“请输入三个整数”);
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
if(a<b){
int d = a ;
a = b ;
b = d ;

    }
    if(a<c){
        int d = a ;
        a = c ;
        c = d ;

    }
    if(b<c){
        int d = b ;
        b = c ;
        c = d ;

    }
    System.out.println("");
    System.out.println(c +" "+ b + " " + a);
}

}

2.从键盘输入整数,输出该整数的阶乘。5!= 5* 4* 3* 2*1
package com.sy.day22;

import java.util.Scanner;

public class Test9 {
public static void main(String[] args) {
int a = 1 ;
Scanner sc = new Scanner(System.in);
int b = sc.nextInt();
for(int i =1 ; i <= b; i++ ){
a=a*i;
}
System.out.println( b + “的阶乘为:” + a);
}
}

3.打印出100-1000之间所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
package com.sy.day22;

public class Test10 {

    public static void main(String[] args) {

/* 打印1-1000的水仙花数
水仙花数:例如 153=111+555+333*/

        //1定义标记,水仙花数起始值位0
        int count =0;
        //2要找出1000以内的水仙花数,先要遍历其每个数字;因为水仙花数是三位数所以从100开始
        for (int i = 100; i < 1000; i++) {
            //3取出个位
            int g = i%10;
            //4取出十位
            int s = i/10%10;
            //5取出百位
            int b = i/100;
            //6判断每个位上的立方和是否等于它自己,如果是则打印出该数字
            if (g*g*g+s*s*s+b*b*b==i){
                //7如果是水仙花数,count加一
                count++;
                System.out.println(i);
            }
        }
        System.out.println("1000以内水仙花数的个数:"+count);
    }
}
  1. 用if语句和switch语句分别计算消费金额:
    消费金额在1000以上打7折, 800-1000之间打8折,500-800之间打9折,300-500之间打9.5折

if语句

在这里插入图片描述

switch语句

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值