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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1:计算出十进制46对应的二进制,八进制,十六进制的值。

        128 64 32 16 8 4 2 1
        0    0  1  0 1 1 1 0
答:
    二进制:101110    八进制:56  十六进制:2E

至于进制的内容今天在练习一次,以后就可以不用练习了。
后面能听懂就OK了。不用浪费太多时间。
(可用计算器验证你算的是否正确)

2:什么是变量?变量的定义格式?要使用变量需要注意什么?
       
答:
   变量:在程序执行过程中,其值可以发生改变的量
   格式:数据类型 变量名=变量值
   注意事项:
            A:同一区域不能使用相同的变量名
            B:局部变量使用前必须赋值

3:Java中的数据类型分几类?基本数据类型有哪些?
答:       
   A:基本数据类型
                byte   占用1个字节  -128-127
                short  占用2个字节  -2^15-2^15-1
                int    占用4个字节  -2^31-2^31-1
                long   占用8个字节  -2^63-2^63-1
               
                float  占用4个字节  -3.403E38~3.403E38
                double 占用8个字节 -1.798E308~1.798E308
               
                char '' 占用2个字节  0-65535
                boolean 占用8分之一个字节
                        true
                        false
       
       
        B:引用类型

4:数据类型转换:
        答:
        隐式转换:取值范围小的数据类型与取值范围大的数据类型进行运算,会将取值范围小的数据类型自动转换为取值范围大的数据类型,在进行运算

        强制转换:
                (数据类型) 变量或者表达式或者值
                 注意:如果超出了被赋值数据类型的取值范围得到的结果会与想象的不同

        面试题:
                第一题:
                byte b1=3,b2=4,b;
                b=b1+b2; //
                b=3+4; // b = 7;
                哪句是编译失败的呢?为什么呢?
      答:b=b1+b2编译失败,首先b1和b2都是变量,里面存储的值是变化的,在程序运行中JVM无法判断里面具体的值;
          byte变量在运算的过程中会自动向上转型为int类型,所以编译失败

                第二题:
                答:
                 byte  by = (byte)130;有没有问题?有问题如何解决?结果是多少呢?
                有问题,byte的取值范围是-128至127,130超出其取值范围,
                 130换成二进制数为:1000 0010(为补码)
                            反码为:1000 0001
                            原码为:1111 1110  转化成二进制数为 -126
                 则结果为:-126


                第三题:
                byte b = 10;
                b++;
                b = b + 1;
                哪句是编译失败的呢?为什么呢?
               答:b=b+1编译失败,b是byte类型,与int类型数据运算会自动向上转型,所以编译失败

5:常见的算术运算符有哪些?
  +运算符的作用有哪些?
  答:
     正号,字符串连接符号,算术运算符  sop(1 + 2 + "hello" + 3 + 4); 输出为:3hello34
  除法和取余的区别?
  答:
     /获取的是除法操作的商,%获取的是除法操作的余数
  ++和--的使用规则?
        答:
           自加(++)自减(--)运算
           ++:自加。对原有的数据进行+1
           --:自减。对原有的数据进行-1

          a:单独使用:
                 放在操作数的前面和后面效果一样。(这种用法是我们比较常见的)
           b:参与运算使用:
                放在操作数的前面,先自增或者自减,然后再参与运算。
                放在操作数的后面,先参与运算,再自增或者自减。

6:常见的赋值运算符有哪些?
   答:
      有=、+=、-=、*=、/=
  +=运算的作用是什么?
   答:
        += 把左边和右边做加法,然后赋值给左边。
  扩展的赋值运算符有什么特点?
   答:
       
7:short s = 1; s = s + 1;有没有问题?如果有怎么解决?
   答:
        有问题,s是short类型,1是int类型,运算过程中会将结果自动转型为int类型,结果会损失精度
        解决方法:改为s=(short)(s+1)
   short s = 1; s += 1;有没有问题?如果有怎么解决?
  答:
        没有问题
8:常见的关系运算符有哪些?
答:
        ==,!=,>,>=,<,<=
  关系运算符的结果有什么特点?
答:
       无论你的操作是简单还是复杂,结果是boolean类型
9:练习打字(每天十分钟,即使休息的时候,也建议练习)
10:分析以下需求,并用代码实现:
        (1)已知一个三位数,请分别获取该三位数上每一位的数值
        (2)例如:123的个位、十位、百位,分别是3、2、1
        (3)打印格式"数字123的个位是 3, 十位是 2, 百位是 1"

public class TestDemo2 {
        public static void main(String[] args) {
            //        需求:
        /*分析以下需求,并用代码实现:
         *        (1)已知一个三位数,请分别获取该三位数上每一位的数值
         *        (2)例如:123的个位、十位、百位,分别是3、2、1
         *        (3)打印格式"数字123的个位是 3, 十位是 2, 百位是 1"*/
            int x=123;
            int ge=x%10;
            int shi=(x/10)%10;
            int bai=(x/10/10)%10;
            System.out.println("ge="+ge+" "+"shi="+shi+" "+"bai="+bai);

        }
}

2 个回复

倒序浏览
很详尽的笔记,希望你每天坚持,.
回复 使用道具 举报
大山的伤 发表于 2016-4-13 22:40
很详尽的笔记,希望你每天坚持,.

好的,一定
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马