习题两则(自增操作符和数据类型相关知识点)
程序员文章站
2023-12-31 18:37:04
自增、自减操作符 自增自减操作符是可以直接改变变量值的操作符 前加加、前减减(先赋值后使用) 后加加、后加加(先使用后赋值) 实际上是一个+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)); } }
难点解析:利用自增运算符的特性,这里用到的是后加加,这样就实现了先使用原值再赋值得到新值的目的。