A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© CRT 中级黑马   /  2016-9-3 01:22  /  351 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.什么是变量?变量的定义格式?要使用变量需要注意什么?

答:在程序执行的过程中其值不可以发生变化。
    注意:1、同一个区域不能使用相同的变量名
          2、局部变量在使用之前必须赋值
          3、一条语句可以定义几个变量

2.Java中的数据类型分几类?基本数据类型有哪些?

答:基本数据类型和引用数据类型两类

    整数型:byte,short,int, long
    浮点型:float,double
    字符型:char
    布尔型:boolean

3.数据类型转换:
        隐式转换:取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算
        强制转换:


        面试题:
                第一题:
                byte b1=3,b2=4,b;
                b=b1+b2;//编译错误:b1和b2的值是变化的,JVM无法判断里面的值;byte类型在进行运行时,会自动提升int类型
                b=3+4;
                哪句是编译失败的呢?为什么呢?
               

                第二题:
                byte  by = 130;有没有问题?有问题如何解决?结果是多少呢?
                //有问题;byte的范围是-128-127,应该把byte改成short,int,long

                第三题:
                byte b = 10;
                b++;
                b = b + 1;//运行时b会自动转成int类型进行运算,导致无法赋值
                哪句是编译失败的呢?为什么呢?


4.常见的算术运算符有哪些?

        (1)+运算符的作用有哪些?
        代表正号,做加法运算,字符串的连接符

        (2)除法和取余的区别?
        /获取的是除法操作的商,%获取的是除法操作的余数

        (3)++和--的使用规则?
        对原有的数据进行+1;
        对原有的数据进行-1;
        * a:单独使用:
                * 放在操作数的前面和后面效果一样。(这种用法是我们比较常见的)
        * b:参与运算使用:
                * 放在操作数的前面,先自增或者自减,然后再参与运算。
                * 放在操作数的后面,先参与运算,再自增或者自减。
               

5.常见的赋值运算符有哪些?
        (1)+=运算的作用是什么?
        答:把左边和右边做加法,然后赋值给左边。

        (2)扩展的赋值运算符有什么特点?
        答:会自动转型

6. short s = 1; s = s + 1;有没有问题?如果有怎么解决?//有问题,把short改int,或者使用s++;
   short s = 1; s += 1;有没有问题?如果有怎么解决?//没有问题;
       
7.分析以下需求,并用代码实现:
        (1)已知一个三位数,请分别获取该三位数上每一位的数值
        (2)例如:123的个位、十位、百位,分别是3、2、1
        (3)打印格式"数字123的个位是 3, 十位是 2, 百位是 1"
方法1:
        public static void main(String[] args) {
                 int x = 123;
                        int x1=x/100;
                        int x2=x%100/10;
                        int x3=x%100%10;
                 System.out.println("数字"+ x +"的个位是" + x3 + ",的十位是" + x2 + ",的百位是" + x1);
        }
方法2:
                public static void main(String[] args) {
                int x = 123;
                int y = 123;
                int[] arr = new int[3];
                int j = 0;
                for (int i = 100; i >= 1; i /= 10) {
                        int z = 1;
                        x = y;
                        z = x / i;
                        y = x % i;
                        arr[j] = z;
                        j++;
                }
                System.out.println("数字" + x + "的个位是" + arr[0] + ",的十位是" + arr[1]
                                + ",的百位是" + arr[2]);
        }

8.看程序说结果,请不要提前运行?
        public class Test1 {
                public static void main(String[] args) {
                         int x = 4;
                         int y = (--x)+(x--)+(x*10);
                         System.out.println("x = " + x + ",y = " + y);
                }
        }
        x=2,y=26;

       

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马