学习Java的第四天

今天学习的是循环和判断,内容还挺简单的,不过里面有两道小练习,回文数和商和余数这两道经典算法题,相信大家都会做。

目录

1.if 判断语句

2.switch 判断语句

3.for 循环语句

4.while 循环语句

5.do...while 循环语句

6.练习题


1.if 判断语句

格式一:

if(关系表达式){

        语句体; 

}

格式二:

if(关系表达式){

        语句体; 

} else {

        语句体; 

}

格式三:

if(关系表达式){

        语句体;

} else if(关系表达式){

        语句体;

}

        ...

   else {

        语句体 n + 1;

}

三种格式可以按照具体需求去使用

2.switch 判断语句

格式:

switch(表达式){

        case 值1:

                语句体1;

                break;

        case 值2:

                语句体2;

                break;

        ...        

        default:

                语句体 n + 1;

                break;

}

知识点:

(1)default可以省略,位置也可以随便放

(2)case具有穿透性

(3)switch和if的第三种格式使用场景类似

3.for 循环语句

格式:

for(初始化语句;条件判断语句;条件控制语句){

        循环体语句;

}

4.while 循环语句

格式:

初始化语句;

while(条件判断语句){

        循环体语句;

        条件控制语句;

}

for 和 while 的区别:
        for 循环中,控制循环的变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了
        while 循环中,控制循环的变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用 

for 和 while 的使用场景:

        for 循环中:知道循环的次数范围

        while 循环:只知道循环的结束条件

5.do...while 循环语句

格式:

初始化语句;

do {

        循环体语句;

        条件控制语句;

} while(条件判断语句);

特点是先做后判断,且至少执行一次循环体语句

6.练习题

练习题1:回文数


需求:键盘录入一个整数x。
如果x是一个回文整数,打印true,否则,返回false。


解释:回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
例如,121是回文,而123不是。

下面是我自己写的代码,大家看看有没有可以改进的地方,负数的回文数目前还不会

public class Test {
    public static void main(String[] args) {
        //判断是否为回文数
        Scanner sc = new Scanner(System.in);
        int x = sc.nextInt();
        int temp = x;//临时变量储存x
        int number = 0;
        while (x > 0) {
            number = (number * 10) + (x % 10);//得到个位,然后与前面提升位数的相加
            x /= 10;//修改数值
        }
        System.out.println(temp == number);
    }
}

练习题2:求商和余数


需求:给定两个整数,被除数和除数(都是正数,且不超过int的范围)。
将两数相除,要求不使用乘法、除法和%运算符。
得到商和余数。

public class Test2 {
    public static void main(String[] args) {
        //不使用*/%三个运算符求商和余数
        //被除数/余数
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入被除数");
        int number1 = sc.nextInt();
        System.out.println("请输入除数");
        int number2 = sc.nextInt();

        int shang = 0;
        int yushu;
        if (number1 >= number2) {
            while (number1 >= number2) {
                number1 = number1 - number2;//相减的次数就是商,直到被除数小于除数
                shang++;
            }
            yushu = number1;//此时不能再减了,被除数就是余数了
        } else {//被除数小于除数的情况
            yushu = number1;
        }
        System.out.println("商为:" + shang);
        System.out.println("余数为:" + yushu);
    }
}

应该就是这样写了。嗯,没毛病!

终于搞完了,洗澡去!

  • 12
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空中凌风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值