欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

习题两则(自增操作符和数据类型相关知识点)

程序员文章站 2022-03-25 18:53:37
自增、自减操作符 自增自减操作符是可以直接改变变量值的操作符 前加加、前减减(先赋值后使用) 后加加、后加加(先使用后赋值) 实际上是一个+1操作和一个赋值操作的缩写形式(a++; a=a+1; a+=1;) public class IncreaseDecrease { public static ......

自增、自减操作符

  • 自增自减操作符是可以直接改变变量值的操作符
  • 前加加、前减减(先赋值后使用
  • 后加加、后加加(先使用后赋值
  • 实际上是一个+1操作和一个赋值操作的缩写形式(a++;  a=a+1;  a+=1;
public class increasedecrease {
    public static void main(string[] args) {
        int a = 1;
        system.out.println("a++=" + a++); // 先使用再+1 此时:a的值为1
        system.out.println("a=" + a); // a的值为2

        a=1;
        system.out.println("++a=" + ++a); // 先+1再使用 此时:a的值为2
        system.out.println("a=" + a); // a的值为2

        int b = 10;
        system.out.println("b--=" + b--); // 此时:b的值为10
        system.out.println("b=" + b); // b的值为9
    }
}

 

 

习题一、打印26个英文字母

知识点

  • 自动类型转换:char 到 int
  • 强制类型转换:int 到 char
  • 字符和数字的对应关系,字符集和编码
  • 字符串的加法:任何数据和字符串都可以相加,将这个数据的字符串和另一个字符串拼接起来
  • 自增操作符
public class print26char {
    public static void main(string[] args) {
        char ch = 'a';
        int num = ch; // char -> int 自动类型转换
        system.out.println( num + "\t" + ((char)(num++)) ); // int -> char 强制类型转换(可能会丢失精度)
        system.out.println( num + "\t" + ((char)(num++)) );
        system.out.println( num + "\t" + ((char)(num++)) );
        system.out.println( num + "\t" + ((char)(num++)) );
        system.out.println( num + "\t" + ((char)(num++)) );
        system.out.println( num + "\t" + ((char)(num++)) );
        system.out.println( num + "\t" + ((char)(num++)) );
        system.out.println( num + "\t" + ((char)(num++)) );
        system.out.println( num + "\t" + ((char)(num++)) );
        system.out.println( num + "\t" + ((char)(num++)) );
        system.out.println( num + "\t" + ((char)(num++)) );
        system.out.println( num + "\t" + ((char)(num++)) );
        system.out.println( num + "\t" + ((char)(num++)) );
        system.out.println( num + "\t" + ((char)(num++)) );
        system.out.println( num + "\t" + ((char)(num++)) );
        system.out.println( num + "\t" + ((char)(num++)) );
        system.out.println( num + "\t" + ((char)(num++)) );
        system.out.println( num + "\t" + ((char)(num++)) );
        system.out.println( num + "\t" + ((char)(num++)) );
        system.out.println( num + "\t" + ((char)(num++)) );
        system.out.println( num + "\t" + ((char)(num++)) );
        system.out.println( num + "\t" + ((char)(num++)) );
        system.out.println( num + "\t" + ((char)(num++)) );
        system.out.println( num + "\t" + ((char)(num++)) );
        system.out.println( num + "\t" + ((char)(num++)) );
        system.out.println( num + "\t" + ((char)(num++)) );
    }
}

难点解析:强制类型转换公式:(目标转换类型)(转换前的源数据)

 

习题二、找到可以被整除的数

知识点

  • 取模运算:整数的取模运算(%)
  • 布尔运算:== 操作符
  • 自增运算
public class finddiv {
    public static void main(string[] args) {
        int dividend = 35; // 被除数
        int divisor = 9; // 除数
        system.out.println(dividend+"可以整除"+divisor+"吗?" + ((dividend++) % divisor== 0));
        system.out.println(dividend+"可以整除"+divisor+"吗?" + ((dividend++) % divisor == 0));
        system.out.println(dividend+"可以整除"+divisor+"吗?" + ((dividend++) % divisor == 0));
        system.out.println(dividend+"可以整除"+divisor+"吗?" + ((dividend++) % divisor == 0));
        system.out.println(dividend+"可以整除"+divisor+"吗?" + ((dividend++) % divisor == 0));
        system.out.println(dividend+"可以整除"+divisor+"吗?" + ((dividend++) % divisor == 0));
        system.out.println(dividend+"可以整除"+divisor+"吗?" + ((dividend++) % divisor == 0));
        system.out.println(dividend+"可以整除"+divisor+"吗?" + ((dividend++) % divisor == 0));
        system.out.println(dividend+"可以整除"+divisor+"吗?" + ((dividend++) % divisor == 0));
        system.out.println(dividend+"可以整除"+divisor+"吗?" + ((dividend++) % divisor == 0));
        system.out.println(dividend+"可以整除"+divisor+"吗?" + ((dividend++) % divisor == 0));
        system.out.println(dividend+"可以整除"+divisor+"吗?" + ((dividend++) % divisor == 0));
        system.out.println(dividend+"可以整除"+divisor+"吗?" + ((dividend++) % divisor == 0));
        system.out.println(dividend+"可以整除"+divisor+"吗?" + ((dividend++) % divisor == 0));
        system.out.println(dividend+"可以整除"+divisor+"吗?" + ((dividend++) % divisor == 0));
        system.out.println(dividend+"可以整除"+divisor+"吗?" + ((dividend++) % divisor == 0));
        system.out.println(dividend+"可以整除"+divisor+"吗?" + ((dividend++) % divisor == 0));
    }
}

难点解析:利用自增运算符的特性,这里用到的是后加加,这样就实现了先使用原值再赋值得到新值的目的。