1.下列哪些变量名是合法的?Ab?1,
@abc , lname, _int, $25, private, ab*5, #abc★
Lname, _int, $25
标识符的命名规则
必须以字母、下划线(_)或美元符号($)开头
余下的字符可以是下划线、美元符号或任何的字母或数字,长度不限。标识符中不能有空格。
不能使用Java中的关键字或者保留字做为标识符
字母大小写敏感
注意代码规范起名要有一定含义要让别人读懂
2.写出以下表达式的值:★
(1) int a = 2,
b = 3, c;
c = a / b * 8;
(2) float a = 3.0F,
b;
b = a / 0;
(3) double a = 3.0, k;
Int b = 3, c = 2;
k = a / c + b / c;
(4) int a = 3,
b = 6, c;
c = (a++) + (++b) + a * 2 + b * 4;
(5) int a = 10, b=3, c;
c = ((a % b) == 0) ? ++a * 2:++b * 2;
(6) int a = 5,b ;
b = 5 << 2;
(7) int a = 0, b = 12345, c = 0xffffffff, d, e, f;
d = a & b;
e = a | b;
f = b & c;
1)0 (int 取整数部分 2/3=0)
2)Infinity(无穷大,float把0.0当成一个无限小的数据,在Java中对于0作为除数的情况,根据操作数的数据类型,做了不同的处理:对于整数的运算,它将会出现异常;对于浮点型数据的运算,它将得到一个无穷大值或者NaN)
3) 2.5 (b/c=1若是两个整数相除,只保留整数部分);
4)46(++变量名:变量在参与其他操作前先将自己加1;变量名++:先用原来的值参与其他操作后,再将自己加1)
5)8(取余 被模数为正数结果都为正,被模数为负数结果都为负)
6)20(101 à 10100a<
a>>b,将a的二进制数据右移b位,如果最高位是0,则左边移空的部分补0,如果最高位是1,则左边移空的部分补1)
7)0,12345,12345(&只有参加运算的两位都为1,&与运算的结果才为1,否则为0;|或只有参加运算的两位都为0,|运算的结果才为0,否则为1;)
3.写出以下程序的运行结果:★
public class Test {
public static void main (String args[]) {
float a = 3.25F, b= -2.5F;
int c , d;
c = (int) (a * b);
d = (byte) 386;
System.out.println(“c=c” + c);
System.out.println(“d=” +d);
}
}
c=c-8
d=-126
(容量大的数据类型转换为容量小的数据类型时,需要使用强制类型转换,在强制类型转换过程中,源类型的值可能大于目标类型,因此可能造成精度降低或溢出,使用时需注意)
4.编写一个程序,求圆的面积,圆的半径由命令行参数输入。★
注:将命令行参数赋给半径r(double型)使用的语句为:
double r = Double.parseDouble(args[0]);
double r = Double.parseDouble(args[0]);
double size = 0;
size = 3.1415*r*r;
System.out.println("size = "+size );
命令行参数:run as
à run configurations àProgram argument
5.华氏温度和摄氏温度互相转换,从华氏度变成摄氏度你只要减去32,乘以5再除以9就行了,将摄氏度转成华氏度,直接乘以9,除以5,再加上32即行。★
float c = 45.0f;
float f = 113.0f;
float cTof = (f-32) * 5/9;
float fToc = c*9/5+32;
System.out.println("摄氏转华氏
= "+cTof );
System.out.println("华氏转摄氏
= "+fToc );
6.已知a,b均是整型变量,写出将a,b两个变量中的值互换的程序。★
int a=9,b=5,c=0;
c=a;
a=b;
b=c;
System.out.println("a
= "+a );
System.out.println("b
= "+b );
二、【选做题】
1.
说出以下方法实现什么功能:★
public static double myFuction(double a, double b, double c) {
double result;
result = (a < b) ? a: b;
result = (result < c) ? result : c;
return result;
}
选出最小值三元操作符小算法
2.假设a,n为任意整数(0),编写一个程序,分别求出表达式a
<的n次方,
A >> n以及 a / 2的n次方的值,a,
n 都是命令行参数。★
注:将命令行参数赋给a,n(int型)使用的语句为:
Int a = Integer.parseInt(args[0])
Int n = Integer.parseInt(args[1])
求2的n次方的表达式为:
(int) Math.pow(2.0, (double) n) ;
int a = Integer.parseInt(args[0]);
int
n = Integer.parseInt(args[1]);
System.out.println(a);
System.out.println(n);
System.out.println(a <<n );
System.out.println(a*(int) Math.pow(2.0,
(double)
n) );
System.out.println(a >>n );
System.out.println(a/(int) Math.pow(2.0, (double)
n) );
命令行参数用空格隔开
3.输入一个任意的5位整数,将它保留到百位,无需四舍五入★★
Scanner scanner = new Scanner(System.in);
int i = scanner.nextInt();
//int i = 12345;
System.out.println(i/100*100 );
4.输入一个0~1000的整数,求各位数的和,例如345的结果是3+4+5=12注:分解数字既可以先除后模也可以先模后除★★
Scanner scan = new Scanner(System.in);
int i = scan.nextInt();
int x1 = i / 1000;
int x2 = i / 100 % 10;
int x3 = i / 10 % 10;
int x4 = i % 10;
System.out.println(x1 + x2 + x3 + x4);
5.输入一个任意的大写字母A~Z,转换为小写字母,(后面再练习输入一个字符串,大写全部转换为小写)★
char c =
'A';
System.out.println((char) (c + 32) );//加32即小写对应字母
ASCii码