10.27 java运算符and循环结构学习日记

目录

一.运算符的描述及例子

二.课后作业及心得


一.运算符的描述及例子

1.算术运算符

 自增的概念:a++为先输出结果,再进行a=a+1的运算;++a为先进行运算再输出结果

 自减的概念:a--为先输出结果,再进行a=a-1的运算;--a为先进行运算再输出结果

2.关系运算符

 3.位运算符

4.逻辑运算符

 

5.赋值运算符 

 

6.条件运算符,三元运算(重要!!)

(布尔条件表达式)?(表达式1):(表达式2)

 条件表达式若为true则取值表达式1,否则取值表达式2

二.课后作业及心得

1.九九乘法表的实现

package com.company.table;

public class Table {
    public static void main(String[] args) {
        for(int i=1;i<=9;i++) {
            for (int j = 1; j <=i ; j++) {
                System.out.printf(j+ "*" + i + "=" + j* i + "\t");
            }
            System.out.println();
        }
    }
}

for循环中的嵌套用法,一次for循环中如果还有循环,则先把次级循环全部执行完毕,再执行主循环的第二次循环,以此类推。例如此代码中首先声明并赋值i = 1,此时判断i的值是否小于等于9,并进入次级循环执行一个赋值j=1,判断此时j是否小于等于i的值,然后输出i*j= ,然后执行j++ ,循环完毕,再执行主循环的i++,以此类推直到循环条件不满足,循环完毕。

2.输入一个四位数,求各位数字之和

package com.company.sum;

import java.util.Scanner;

public class SumTest {
    public static void main(String[] args) {
        System.out.println("请输入一个四位数");
        Scanner scan = new Scanner(System.in);
        String str = scan.next();
        Integer a = Integer.valueOf(str);
        int b = 0;
        if(a>=1000&&a<=9999){
            while (a!=0){
                b=b+a%10;
                a=a/10;
            }
            System.out.println("四位数字相加的和为:"+b);

        }else if(a<1000||a>10000){
            System.out.println("你输入的数不是四位数!!");
        }

    }
}

首先我们要知道的是题目要求我们输入的数字为一个四位数,所以我们首先需要判断的的是输入的数字是否为一个四位数,那么为了完成这个功能我用if的判断语句来确定我的数字是否在4位数的一个范围(1000~9999) ,如果我们输入的不是一个四位数那么直接跳入else if的语句中 输出”你输入的数不是四位数“。如果我们输入的在判断范围内则需要开始计算,计算功能我用while语句实现

我把判断的指标定为输入的数经过计算最后是否为0

先定义一对象b 并赋予初始值为0

b=b+a%10 -------- 此行的目的是计算出处于每个数的最后余的那个数字

a=a/10 --------------此行的目的是求出下一位数

 

package com.company.table;

import java.util.Scanner;

public class if_test {
    public static void main(String[] args) {
        while (true) {
            System.out.println("☆☆十进制转换二进制系统☆☆" + "\n");
            while (true) {
                System.out.println("请输入一个byte类型的数:");
                Scanner scan = new Scanner(System.in);
                String str = scan.next();
                Integer a = Integer.valueOf(str);
                byte b = -128;
                byte e = 127;
                String f = "";
                if (a >= b && a <= e) {
                    while (a != 0) {
                        f = a % 2 + f;
                        a = a / 2;
                    }
                    System.out.println("转换完的二进制为" + f+"\n");
                } else if (a < b || a > e) {
                    System.out.println("输入的数不是byte类型,无法转换!!!"+"\n");

                }
            }
        }
    }
}

其实这道题让你输入byte类型的数,无非可以转化为判断输入的数字是否在byte的取值范围内(-127~128)有了这个思路这道题就好解决了。

通过if和else if语句判断输入的数,不在区间范围的直接Pass掉进入else if 输出”输入的数不是byte类型,无法转换!!!“

在区间范围的进入if语句中的while循环中,给定我们输入的数a最后被计算加工处理为0时跳出循环,在此之中我们可以先设定一个空的字符串用来实现后面的字符连接,输入的a进行a%2的取余计算,并通过f = a%2 + f 连接 就这样这道题就解决了

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值