学习java一周后的问与答,你的正确率是多少呢?

学习一周了,对这一周所学的知识点、一些细节、一些模棱两可的问题做了一下整理,以提问的方式进行记录。学过java的和正在学java的朋友可以一起讨论研究下。

        Q1:ava环境变量的配置?(该不会每次配置的时候都上网查吧)

        A1:默认安装,①配置JAVA_HOME:C:\Program Files\Java\jdk1.7.0_25   ②添加Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

                 ③配置CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

        Q2:java的基本数据类型?复合数据类型?

        A2:基本数据类型:整数类型(byte、short 、int 、long)1位2位4位和8位、浮点型(float、double)4位和8位、字符型(char)2位、布尔型(boolean)1位。

            构造数据类型:数组、接口、类、对象

        Q3:对于float a = 1.5 和 short b = 5 这两条语句,分别会不会出错?如果有错的话,什么错误?为什么?
    A2:第一句会出错,第二句不会出错。因为浮点型数据默认字面量是double,赋值给float类型,编译时会出“可能损失精度的错误”。而整数数据类型虽然默认是int类型,但只要                不超过前面所赋类型的取值范围,是可以的,当然如果超过了,一样会在编译时出“可能损失精度的错误”。
    Q3:boolean a = false;int b = a+1;运行结果是什么?boolean a = 0;能通过编译吗?
    A3:编译时,提示:二元运算符+的操作数的类型错误。boolean类型不能参与混合运算。不能用数字表示boolean类型,不兼容的数据类型。    
    Q4:char a = 'a'+1; char c = a+1;运行结果是什么?
        A4:第一句正常运行,第二句会出错。因为有变量参与的混合运算,按照以下方式进行类型转换byte、char、short都会转换成int类型进行运算,返回的也是int类型。
        int、long、float、double类型混合运算会转换成最长数据类型,然后返回的也是最长的数据类型。而没有变量参与的不报错。
        Q5:System.out.println("3+5+\"adfewr\"+3+5");System.out.println(3+5+"adfewr"+3+5");会输出什么?
    A5:第一句:输出3+5+"adfewr"+3+5 第二句输出8adfewr35  因为一旦遇上字符串,所有和字符串的+号都是连接符。
    Q6:写一个二维数组。int[] a =new int[3];a[3] = 5;System.out.println(a[3]);运行结果是什么?
    A6:首先java中没有二维数组,只有数组的数组。虽然我不知道这和C 语言中的二维数组有什么区别。
        再者,第一句就会出错,编译时提示:需要‘】’,需要‘;’,因为这样创建数组,需要new 关键字 int[] a = new int[3]。
            最后,就算修改了上一条错误,运行时也会提示错误:java.lang.ArrayIndexOutOfBoundsException。
    Q7:boolean a=b=c=d=false;System.out.println(a+b+c+d);运行结果是什么样的?如果有错,怎么改?
    A7:错误一:编译时会出错,b,c,d找不到符号,因为没定义  错误二:如果改为boolean a;boolean b;boolean c;boolean d;编译时会提示+的操作数类型错误,boolean不能用+
        错误三:如果改为System.out.println(a+""+b+""+c+""+d);运行时提示错误:可能尚未初始化变量,只有成员变量才有默认初始化值,普通变量没有,必须赋初值。
            另外,如果赋初值a=b=c=d=false;是可以的。
    Q8:public static void main(String... args)中的...什么意思?怎么接收命令行传的参数?
    A8:代表可变参数,只能是...两点和四点都不行。System.out.println(args[0]);如果一个字符串有空格,可以用双引号引起来。
    Q9:System.out.println("a">"b");运行结果是什么?
    A9:编译时错误,>的操作数类型错误
    经验之谈:①两个字符串不能进行><-运算,==能比较,但不是通常想要的结果。②对小数比较不要用==③比较两个字符串是否内容一致,可以用“内容”.equals(变量),防止变量    为null报错。④&&短路与,||短路或,&和|一定是执行完两边的语句再判断;⑤无论怎么样都放个return的话,return后如果有语句,会出现“无法访问到的语句”异常。
    ⑥System.exit(0);用来主动正常退出系统。⑦switch(1){case 1:case 2:System.out.println("成功!");default:}可以写在一行。⑧flag要用好⑨从java7开始可以用字符串作为    case
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值