变量运算和表达式

2019-04-14 08:54发布

  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;          10 (int 取整数部分 2/3=0) 2Infinity(无穷大,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编写一个程序,求圆的面积,圆的半径由命令行参数输入。★ 注:将命令行参数赋给半径rdouble型)使用的语句为:  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 / 2n次方的值,a, n 都是命令行参数。★ 注:将命令行参数赋给anint型)使用的语句为:  Int a = Integer.parseInt(args[0])  Int n = Integer.parseInt(args[1])    2n次方的表达式为: (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输入一个01000的整数,求各位数的和,例如345的结果是3+4+512注:分解数字既可以先除后模也可以先模后除★★        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