zoukankan      html  css  js  c++  java
  • 0066 阿里云大学的几道Java基础测试题

    阿里云大学的几道Java基础测试题:
    https://edu.aliyun.com/clouder/exam/intro/15
    https://edu.aliyun.com/clouder/exam/intro/17

    byte数据类型可以正常保存200这个数字?

    Java数据类型的byte,长度是1个字节,其取值是-128~+127,即-27~+27-1

    关于0%3=?

    没错,模就是0,商也是0

    关于Java整数类型的取值范围

    记住:byte/short/int/long分别是1/2/4/8个字节
    取值范围都是从-X~+X-1,且X是偶数

    Java的assert关键字

    见得少,表示断言。见Java核心技术第九版P493

    关于Java基本类型的自动类型转换

    具体见Java核心技术第九版P43
    总的来说:
    小字节类型可以往大字节类型转,反之不可以自动转换,但可以强制转换
    两个操作数,如果其中一个是double/float/long类型,另一个数要往字节多的一个类型转;如果这三种类型都没有,那就都转为int进行计算

    注意这个情况

    public class Test {
        public static void main(String[] args) {
            int num = 2147483647 ;
            //num=num+2L;注意这个不符合语法,但下面这行是符合语法的,有点像强制类型转换
            num += 2L ;
            System.out.println(num) ;
        }
    }
    

    关于加号+

    public class Demo {
         public static void main(String args[]) {
             int x = 10 ;
             double y = 20.2 ;
             long z = 10L;
             String str = "" + x + y * z ;
             System.out.println(str) ;
         }
     } 
    

    上面的程序输出是:10202.0
    第一、二个加号都是字符串的拼接符,后面的y*z才会参与数学运算,且是double跟long运算,会转为double

    关于自增运算符的的运算规则

    public class Test {
        public static void main(String[] args) {
            int i = 1 ;						//第01行
            int j = i++ ;					//第02行
            if((i==(++j))&&((i++)==j)) {	//第03行
                i += j ;					//第04行
            }
            System.out.println("i = "+i);   //输出:i=5
        }
    }
    

    运算过程:
    第02行:
    自增在后面,因此『先用后加』,所以:j=1,i=2
    第03行:
    i(++j):自增在前面,『先加后用』,所以比较的结果是true,此时i=2,j=2
    (i++)
    j:自增在后面,『先用后加』,所以比较的结果还是true,此时i=3,j=2
    第04行:
    i+=j:此时i=5

    零碎

    try后面可以没有catch,但如果没有catch就得有finally
    父类的private方法对子类来说就是不存在的,因此完全可以在子类中定义一个跟父类中的private方法完全相同的方法
    所有程序可处理异常的共同父类是Exception
    Java的元注解有6个:@Retention/@Target/@Documented/@Inherited/@Repeatable/@Native
    Java的基本注解有5个:@Override/@Deprecated/@SuppressWarnings/@SafeVarargs/@FunctionalInterface

  • 相关阅读:
    Android Studio获取开发版SHA1值和发布版SHA1值的史上最详细方法
    Android Studio 汉化包
    Genymotion模拟器下载及安装步骤详解
    react native 搭建开发环境——Mac
    ::before和::after伪元素的用法
    前端面试题整理
    echarts图表自适应
    下拉加载更多
    vue之webpack+vuecli打包生成资源相对引用路径与背景图片的正确引用
    微信小程序之tab切换
  • 原文地址:https://www.cnblogs.com/sonng/p/7072460.html
Copyright © 2011-2022 走看看