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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hainan080697 中级黑马   /  2016-3-8 21:49  /  830 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.计算出十进制46对应的二进制,八进制,十六进制的值。
         
          32 16 8  4  2  1
二进制    1  0  1  1  1  0
八进制           56
十六进制         2E     

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

变量:在程序运行过程中其值在指定的范围内可以发生改变的量
变量的定义格式:  
      格式1:数据类型 变量名 = 初始化值;
      格式2:数据类型 变量名;
            变量名 = 初始化值;
      格式3:数据类型 变量名1 = 初始化值 , 变量名2 = 初始化值;
      格式4:数据类型 变量名1 , 变量名2 ;变量名1 = 初始化值 ; 变量名2 = 初始化值;
注意事项:① 在一个{}内,不能存在重名的变量;  
          ② 变量在使用之前要进行 初始化
          ③ 为一个变量赋值的时候尽量不要超过变量的取值范围
          ④ 定义的变量名要见名知意
          ⑤ 定义long类型或单精度浮点型变量的时候,一定要在数据的后面+L或者+f

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

数据类型分成基本数据类型和引用数据类型:
基本数据类型共四类八种
整数型:byte short int long
字符型:char
布尔型:boolean (true false)
浮点型:float double


5.数据类型转换:
        隐式转换:
        强制转换:


        面试题:
                第一题:
                byte b1=3,b2=4,b;
                b=b1+b2;
                b=3+4;
                哪句是编译失败的呢?为什么呢?

   b = b1 + b2会编译失败 ①b1和b2是byte类型的变量在进行运算的时候会自动提升为int类型
                         ②b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面的具体的值的
   b = 3 + 4  3和4都是常量,Java有常量优化机制,就是在编译的时候直接把结果赋值给b了
               
                第二题:
                byte  by = 130;有没有问题?有问题如何解决?结果是多少呢?

   有问题 因为byte的取值范围是-128 - 127 130超出了byte的取值范围

                第三题:
                byte b = 10;
                b++;
                b = b + 1;
                哪句是编译失败的呢?为什么呢?

    b = b + 1会编译失败,因为b和1相加时会自动提升为int型,而b++在编译时系统会加一个强转.

6.常见的算术运算符有哪些?         * / % - ++ --
        (1)+运算符的作用有哪些?   代表正号,连接字符串和加法运算
        (2)除法和取余的区别?      '/' 获取的是除法操作的商 '%'获取的是除法操作的余数
        (3)++和--的使用规则?      ++和--单独使用时效果相同  ++和--放在前面使用时先自增或自减 然后参与运算   ++和--放在后面的使用的时候是先参与运算再自增或自减

7.常见的赋值运算符有哪些?                    = += -= - *= /= %=
        (1)+=运算的作用是什么?               两边相加赋值给左边
        (2)扩展的赋值运算符有什么特点?       ??????????????????????????


8. short s = 1; s = s + 1;有没有问题?如果有怎么解决?    有问题  s = (byte)(s + 1)
   short s = 1; s += 1;有没有问题?如果有怎么解决?       没有问题
       
9.常见的关系运算符有哪些?         == != > < <= >=  
  关系运算符的结果有什么特点?     只有true和false两种结果

11.分析以下需求,并用代码实现:
        (1)已知一个三位数,请分别获取该三位数上每一位的数值
        (2)例如:123的个位、十位、百位,分别是3、2、1
        (3)打印格式"数字123的个位是 3, 十位是 2, 百位是 1"

class ShuZhi {
        public static void main(String[] args) {
        int a = 123;
        int b = a%10;
        int c = a/10%10;
        int d = a/10/10%10;
                System.out.println("个位数字是" + b + "十位数字是" + c + "百位数字是" + d );
        }
}



12.看程序说结果,请不要提前运行?
        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);
                }
        }

     结果是  2 26
       

7 个回复

倒序浏览
不错,仔细看的话挺好的,谢谢
回复 使用道具 举报
自己做的,不知道对不对
回复 使用道具 举报
暴风城管 发表于 2016-3-8 22:28
不错,仔细看的话挺好的,谢谢

还有一个不知道怎么回答(中间打?????的)
回复 使用道具 举报
扩展的赋值运算符的特点:扩展的赋值运算符在给变量赋值时,会自动完成强转操作。
对于第一题,如果对基本数据类型执行算术运算或按位运算,只要类型比int小(char,byte或short),运算之前这些值会自动转换成int,最终生成的结果就是int类型。
例:short s =1;
      s = s + 2;//编译失败。
      s += 2;//编译通过。如有不对,请指正。
回复 使用道具 举报
谢谢回复
回复 使用道具 举报
感谢分享~
回复 使用道具 举报
进制那里了解下就行,不重要的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马