型 char,布尔类型 boolean;引用数据类型包括数组(array) 、类(class)和接口(interface) 3.试分析基本数据类型与引用数据类型的主要特点,并说明使用这两种变量有哪些差别? 【答】基本数据类型的变量保存数据值,而引用数据类型的变量保存地址。 4.算术运算、关系运算、逻辑运算和位运算各有哪些运算符? 【答】算术运算:单目运算符有+(正) 、—(负) 、++(自增) 、——(自减) ,双目运算符 有+(加) 、—(减) 、*(乘) 、/(除) 、%(取余) 关系运算:=(等于) 、!=(不等于) 、>(大于) 、<(小于) 、>=(大于等于) 、<=(小 于等于)都是双目运算 逻辑运算:&;(与)、|(或) 、!(非) 、^(异或) 、&;&;(条件与) 、||(条件或) ,其中!是 单目运算,其它都是双目运算 位运算:~(非) 、&;(与) 、|(或) 、^(异或) 、<<(左移位) 、>>(右移位) 、>>>(无 符号移位) 5. 程序中为什么需要常量和变量?声明常量或变量时, 为什么必须给出其所属的数据类型? 【答】在程序中使用的数据大多需要经常变化,用常量值表示显然不够,因此每一种算法语 言都提供常量和变量来存储数据。 为了确定常量或变量的数据性质、取值范围、以及它们占用的内存单元的字节数和它 们参加的合法运算和操作。 6.什么是变量的作用域,声明变量时,如何确定变量的作用域? 【答】 变量的作用域是指其作用范围
。变量声明的位置决定了它的作用域 7.设 i 是一个整数类型变量,写出下列问题对应的表达式? (1) 判断 i 为奇数或偶数; //取值为 true 时是偶数,否则是奇数 【答】i%2==0 (2) 判断 i 的值是否在 0~9 之间; 【答】 (i>0)&;&;(i<9) 8.设 ch 是一个字符变量,写出下列
问题对应的表达式 (1) 判断 ch 是一个十进制的数字字符
(2) (3) (4) (5) (6)
判断 ch 是一个十六进制的数字字符 判断 ch 是一个大写字母 判断 ch 是一个英文字母,不论大写和小写 如何将一个十进制的数字字符 ch 转换成对应的整数类型值 如何将一个十六进制的数字字符 ch 转换成对应的整数类型值
9.说明 for、while、和 do-while 三种循环语句的特点和区别? While 语句的特点: “先判断后执行” ,当条件满足时执行循环体 Do-while 语句的特点: “先执行后判断” ,先执行循环体,再判断条件是否满足 For 语句的特点: “先判断后执行” ,但 for 语句将循环控制变量初始值、循环条件和变 量的变化规律都以表达式形式写在循环体之前。 10.分别用 for,while,do-while 三种循环语句计算一个正数的阶乘 (1)for(i=1,i<=10,i++){ int Sum=1; Sum=Sum*i;} \\等价于 Sum*=i; (2)int i=1; while(i<=10){ int Sum=1; Sum=Sum*i; i++;} int i=Sum=1; do{ Sum=Sum*i; i++;}while(i<=10); 11.输出以下数字的形式; (1) 0 0 0 0 0 1 1 1 0 1 2 2 0 1 2 3 解答〗 〖解答〗采用二重循环的程序如下。 public class Phalanx { public static void main(String args[]) { int n=4; for (int i=0;i
//阶数
} (2)输出下列形式的数字三角阵(当 n=4 时) 。 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 解答〗 〖解答〗采用二重循环的程序如下。 public class Tower { public static void main(String args[]) { int n=4; for (int i=1;i<=n;i++) { for (int j=1;j<=n-i;j++) System.out.print(" "); for (int j=1;j<=i;j++) System.out.print(" "+j); for (int j=i-1;j>0;j--) System.out.print(" "+j); System.out.println(); } } } 12.下列程序希望用 for 语句求出 1~n 累加和并显示,请问程序有错误吗?错在哪里?输出 结果 i 和 s 的值分别是多少? int i=1,n=10,s=0; for(i=1,i<=n,i++); s+=i; System.out.pointln(“Sum=1+……+”+n+”=”+s); 有错误,正确的如下 int i=1,n=10,s=0; for(i=1,i<=n,i++) s+=i; System.out.pointln(“Sum=1+……+”+n+”=”+s); 13.编程验证哥德巴赫猜想。哥德巴赫猜想: (1)