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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


  • 位运算符都有哪些?

    &与 |或 ^异或 ~非 >>右移 <<左移 >>>无符号右移
  • 1<<35怎么理解?

    1是int类型是32位,所以需要把35%32=3,所以事实上是和执行1<<3等价的
  • 数据类型转换需要遵循什么原则?

    小类型向大类型转换,是自动转换的,或者说隐式转换的
    大类型向小类型转换,是需要强制转换的,或者说显式转换
        例如:
        byte b = 1;
        short s = b;//自动转换   
        b = (byte) s;//强制转换
  • byte b = 10这个语句是正确的,为什么10是int型比byte大还不需要强制转换呢?

    因为在java中做了特殊处理,其中规定byte,short,char类型可以直接赋予int类型的直接量,
    例如:
    byte b = 10;
    short s = 10;
    char c = 10;
    以上赋值语句都是正确的。
    但是不能超出超出类型的范围,例如以下赋值就是错误的:
    byte b = 128;
    如果超出范围,必须得作强制转换,例如以下语句是正确的:
    byte b = (byte) 128;
    需要强调的是,必须是int类型的直接量,以下语句就是错误的:
    byte b = 10L;
    10L不是int类型的直接量。
  • byte b = (byte) 300;强制转换后的结果是44,是按照什么规律得出来的?

    是先把300转换成二进制,然后根据byte类型的大小截取了后8个位

300的补码是00000000 00000000 00000001 00101100

b的结果是:00000000 00000000 00000001 00101100 结果为44


  • byte b = (byte) true;这个转换成立吗?

    不成立,布尔值和数字是不兼容的,不能作任何转换。
  • int i = (int) “100″;这个转换成立吗?

    不成立,引用类型和基本类型是不能直接强制转换的,需要用包装类的方法来转换。
  • char型和short型哪个比较大?

    不能说哪个大,哪个小,这两个类型char的取值是从0~65535,而short类型的取值是-32768~32767,这个两个类型之间的转换都需要强制转换。
  • 字符串是不是基本类型?

    不是,String是java.lang包中的一个类,是引用类型的,8种基本类型中没有一个是String类型。
  • 空字符串用什么来表示?

    用“”(两个并列的双引号)表示,代表0个长度的字符串对象。
  • String s = “”;和String s = null;有什么区别?

    第一个表示s被赋值,指向了一个字符串对象,第二个表示s没有指向任何对象实例,是真空
  • 两个字符串用什么运算符可以连成一个字符串?

    用+运算符,例如“abc” + “xyz”最后的结果就是”abcxyz“
  • 数学运算符加法和字符串连接符都是+,怎么区分?

    是通过运算符两边的操作数来判断的,如果两边的操作数都是数字型的基本类型,则进行数学运算,如果两边的操作数有一个是字符串,则把另一个操作数也转换为则进行字符串连接运算。
    例如:
    5 + 4 的结果是9
    “5″ + 4的结果是54
  • 判断字符串内容相同用什么方法?

    用equals方法判断内容相同,==只能判断引用是否相同
  • 提供用户输入使用哪个类

    使用javav.util.Scanner类
  • if语句可以用if(-1)形式判断吗?

    不可以,数字不能代替布尔值
  • if语句和循环语句的花括号什么时候可以省略?

    当执行的语句只有一句的时候
  • switch语句有哪些规则?

    表达式expr的返回值必须是下述几种类型之一:int, byte, char, short或枚举常量;
    case子句中的值必须是常量,且所有case子句中的值应是不同的,也必须是下述几种类型之一:int, byte, char, short或枚举常量
    default子句是任选的;
    break语句用来在执行完一个case分支后使程序跳出switch语句块;
  • 对于退出循环break和continue有什么区别?

    break是退出整个循环
    continue是退出当前循环继续下一次循环
  • 声明数组创建数组的方法?

    以下声明都是合法的:
    int [] a;
    int a[];
    String[] a;
    以下创建数组对象都是合法的:
    int[] a = new int[3];
    int[] a = {1,2,3};
    int[] a = new int[] {1,2,3};
  • int[] x和String[] s这两个数组对象,哪个是基本类型,哪个是引用类型?

    两个都是数组对象,都是引用类型的
  • 数组元素下标最小是多少,最大是多少,超出范围会怎么样?

    最小是0,最大是数组元素个数减一,超出范围将会出现下标越界异常
  • 得到数组长度用length属性还是length()方法?

    是length属性,得到字符串长度才有length方法
  • 声明int[][] a = new int[3][],a是一个二维数组,a[0]本身是什么类型的?

    二维数组的元素都是一维数组,a[0]是int[]类型的
  • 数组的大小一经创建可不可以改变大小了?

    不可以,数组是定长的,一经创建就不能再改变大小了
  • 可以把2个int型,3个double型,4个String型的值放到一个数组中吗?

    不可以,数组的元素类型必须是相同类型的。
  • java中的多维数组必须是要形成矩阵排列吗?

    不一定,也可以是不规则的。
  • 操作数组比较方便的实用类?

    java.util.Arrays类提供了很多关于数组的实用方法。


1 个回复

倒序浏览
可以的  有用
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马