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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

适合基础差的同学将前五天所有问题捋一遍
1,System.out.print();和System.out.println();的区别是什么?
        前者打印输出后不换行,后者打印输出后换行
2,JVM能跨平台吗,它有什么作用?
        不能跨平台,可以保证Java系统跨平台
3,标识符的命名规则注意事项?
        包:全部小写,一般用企业域名反写,不写WWW,多级包之间用.隔开
        类或者接口:所有单词首字母大写,其他字母小写
        变量或者方法:一个单词时全部小写,多个单词时从第二个单词首字母开始大写
        常量:全部大写,不同单词间用_隔开
4,什么是保留字?
        现在还不是关键字,但在以后JDK升级可能成为关键字,例如goto,const
5,JDK和JRE的区别:
        JDK:Java开发工具包,包含Java开发工具包和JRE
        JRE:Java运行环境,包含在运行Java程序所需要的核心类库和JVM
        JVM:Java虚拟机,用来保证Java程序跨平台
6,什么是变量?变量的定义格式?要使用变量需要注意什么?
        变量是在程序运行过程中,其值可以在一定范围内改变
        两种定义格式:1数据类型 变量名=数值
                      2数据类型 变量名;
                       变量名=数值
        注意1同一大括号内相同变量名不能重复定义
            2局部变量使用前必须初始化(定义,赋值)
            3可以同时定义多个同类型变量
7数据类型注意事项?
                1、整型默认的是int类型,浮点型默认的是double类型。
                2、如果定义long类型的变量,在变量值后边加L或者(小写L)。
                   如果定义float类型的变量,在变量值后边加F或者(f)。
8,Java中的数据类型分几类?基本数据类型有哪些?
        两类1基本数据类型2引用数据类型
        基本数据类型分为四类八种:整数型(byte short int long),浮点型(float double),布尔类型(boolean),字符型(char)
9,boolean类型占几个字节?
        一个字节,理论上来讲,八分之一个字节就够了,因为他只有两个数值(true,false),但计算机最底层储存单位是字节,所以当做一个字节来算
10,为什么long的范围比float的范围小?
        因为底层存储结构不同
11,数据类型转换:
        隐式转换:把描述范围小的变量赋值给描述范围大的变量,格式与定义变量格式一样
        强制转换:把描述范围大的变量赋值给描述范围小的变量,格式(转换后的数据类型)要转换的值或者变量名
12,byte b1=3,b2=4,b;
                b=b1+b2;
                b=3+4;
                哪句是编译失败的呢?为什么呢?
                第一个, 第一b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值
                                第二byte类型的变量在进行运算的时候,会自动类型提升为int类型
                第二个不会编译失败,3和4都是常量,java有常量优化机制,就是在编译的的时候直接把3和4的结果赋值给b4了
13,byte  by = 130;有没有问题?有问题如何解决?结果是多少呢?如何计算结果?
                会超过byte所描述范围,强制转换为byte类型或者将类型提升为int类型
                先算出130的二进制补码为00000000 00000000 00000000 10000010,
                因为byte所描述范围只有一个字节,截取130的二进制补码一个字节为10000010
                然后算出反码为10000001,最后算出原码11111110并转换为十进制为-126
14,byte b = 10;
                b++;
                b = b + 1;
                哪句是编译失败的呢?为什么呢?
                第三个,1为默认的int类型,b需要提升为int类型后进行运算,运算后类型为int而b为byte类型,大的数据类型不能赋值给小的,会损失精度
15,a,A,0的ASCII码值?
        'a' 97  'A'65  '0'48
16,+运算符的作用有哪些?
        表示正数,字符串连接符号,表示加法       
17,除法和取余的注意事项?
        整数间相除结果是整数,如果想得到小数,任意数转换成浮点型即可
        取余得到的结果只跟左边的数据符号有关
18,++和--的使用规则?
        单独使用,前后没区别。参与运算时符号在前面,先自增(自减)在参与运算,符号在后面,先参与运算再自增(自减)
19, int x = 4;
        int y = (x++) + (++x) + (x*10)        求y值?               
            y =   4   +   6   + (6*10)= 70
        x的值的变化:5    6       6
20,扩展的赋值运算符有什么,并有什么特点?
        有+=,-=,*=,/=,%=
        符号左右两边的值运算后赋值给左边,并且包含了强制转换
21 &和&&的区别是什么?|和||的区别是什么?
        &是逻辑与,不论前面是true还是false,后面都执行
        &&是短路与,如果前面是flase后面不执行
        |是逻辑或,不论前面是true还是false,后面都执行
        ||是短路或,如果前面是true后面不执行
22,位运算符^的特点是什么?
        相同为0不同为1,一个数据异或另一个数据两次,结果还是这个数据
23,怎么交换两个int类型的值(int a = 1,int b =2)
        第一种:采用第三方变量。(开发中常用)
                        int temp = a;
                        a = b;
                        b = temp;
        第二种:可以采用+法运算。
                        a = a + b;
                        b = a - b;
                        a = a - b;
        第三种:采用位运算符。
                        a = a ^ b;
                        b = a ^ b;
                        a = a ^ b;
24,2*8和2*12的高效运算是什么?
        2*8=2<<3 ,  2*12=2<<2+2<<3
25,用三元运算符获取三个数a,b,c中最大值
        a>b?(a>c?a:c):(b>c?b:c);
26,if的第二种格式(if else)和三元表达式有什么区别?
        能用三元运算符解决的问题,都可以用if来做,反之不成立。
27,if语句的注意事项
        1条件表达式的结果只能是boolean类型
        2如果if控制的是一句,可以省略大括号,反之不能
        3一般左大括号和;不能共存
28,        int x = 1,y = 1;
        if(x++==2 & ++y==2){
        x =7;
        }
        System.out.println("x="+x+",y="+y);  
        结果为多少?
        x=2,y=2
29, int x = 1,y = 1;
        if(x++==1 || ++y==1){
        x =7;
        }
        System.out.println("x="+x+",y="+y);
        结果为多少?
        结果x=7,y=2

0 个回复

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