java初级易错问题总结

1.什么是变量?变量的定义格式?要使用变量需要注意什么?
就是可变的量
数据类型 变量名 = 数值;
同一范围内不能重复定义
不赋值不能使用

2.Java中的数据类型分几类?基本数据类型有哪些?
两大类
    基本数据类型
        byte(1) short(2) int(4) long(8) float(4) double(8) char(2) boolean(1)
    引用数据类型
        类 接口 数组 枚举

3.数据类型转换:
    隐式转换:由低级专向高级
    强制转换:由高级专向低级

面试题:
        第一题:
        byte b1=3,b2=4,b;
        b=b1+b2;//错误 因为他们最终是要转向int类型 而int类型的值不能赋值给byte
        b=3+4;//正确 因为他们都是常量 具有常量类型优化机制 可以直接识别为byte
        哪句是编译失败的呢?为什么呢?

第二题:
        byte  by = 130;有没有问题?有问题如何解决?结果是多少呢?
        有问题 因为这个数超出了byte的取值范围 要用byte类型进行强制转换 结果是-126

第三题:
        byte b = 10;
        b++;
        b = b + 1;//失败 因为在和一个int类型的常量进行相加的时候b自动转换成int类型 而一个int类型的数据是没办法直接赋值给byte类型的变量的
        哪句是编译失败的呢?为什么呢?
4.常见的算术运算符有哪些?
    答:+ - * / %
    (1)+运算符的作用有哪些?
        可以作为数学运算符 也可用作字符串拼接符
    (2)除法和取余的区别?
        除法是数学运算机型相初操作 取余数运算符是对除法操作之后取其余数进行操作的
    (3)++和--的使用规则?
        分别为自增 自减 在放在 变量前面就是先进行运算放在后面就是后进行运算

5.常见的赋值运算符有哪些?
    答:= += -= *= /= %=
    (1)+=运算的作用是什么?
        a += b;== a = a + b;
    (2)扩展的赋值运算符有什么特点?
        会进行自动强制数据类型转换
6. short s = 1; s = s + 1;有没有问题?如果有怎么解决?
    有问题 因为short类型的专用字节数比int小 但是1是int类型 在表达式进行运算的时候就吧其值提升为int类型了 而int类型不能直接赋值给short类型的变量可以同过强制数据类型转换来解决
   short s = 1; s += 1;有没有问题?如果有怎么解决?
    没有问题 因为使用的是扩展赋值运算符 这样的话就会实现自动强制数据类型转换    
7.分析以下需求,并用代码实现:
    (1)已知一个三位数,请分别获取该三位数上每一位的数值
        代码1:
    public static void main(String[] args) {
        @SuppressWarnings("resource")
        char chs[] = String.valueOf(new Scanner(System.in).nextInt()).toCharArray();
        System.out.println("个位是:"+chs[2]+"\n十位是:"+chs[1]+"\n百位是:"+chs[0]);
    }
        代码2:
    System.out.println("个位是:" + (354 % 10) + "\n十位是:" + (354 / 10 % 10) + "\n百位是:" +(354 / 100));
    
    (2)例如:123的个位、十位、百位,分别是3、2、1
    (3)打印格式"数字123的个位是 3, 十位是 2, 百位是 1"

8.看程序说结果,请不要提前运行?
    public class Test1 {
        public static void main(String[] args) {
             int x = 4;
             int y = (--x)+(x--)+(x*10);//26
             System.out.println("x = " + x + ",y = " + y);
        }
    }

x = 2
y = 26

原文地址:https://www.cnblogs.com/gu-bin/p/9859110.html

时间: 2024-11-08 07:39:52

java初级易错问题总结的相关文章

java中易错点(一)

由于replaceAll方法的第一个参数是一个正则表达式,而"."在正则表达式中表示任何字符,所以会把前面字符串的所有字符都替换成"/".如果想替换的只是".",那么久要写成"\\.". AWT :是通过调用操作系统的native方法实现的,所以在Windows系统上的AWT窗口就是Windows的风格,而在Unix系统上的则是XWindow风格. AWT 中的图形函数与 操作系统 所提供的图形函数之间有着一一对应的关系,我们

JAVA常见易错知识点整理(一)

1.局部变量不能加访问修饰符2.线程中的run方法是public void run(){},重写时需要注意修饰符3.instanceof的作用是判断其左边对象是否为其右边类的实例,返回boolean类型的数据.4.StringBuffer没有重写equals方法,该方法是比较两个对象是否相同,而不是比较字符串内容5.Throwable有两个子类分别是Error和Exception6.多态不能应用在泛型参数上7.抽象类可以有构造方法8.线程优先级1最小,10最大9.接口中的方法是public ab

java基础易错点总结(一)

子类继承父类表示子类比他的父类包含更多的信息和方法 子类调用重载的构造方法时会调用父类的构造方法,super();一般如果不写的话会隐式的调用,而且每次调用都在所有语句之前. 在函数中,使用父类的地方都可以使用子类,这即是常说的多态,变量的实际类型是被变量引用的对象的实际类,变量调用的函数由变量的实际类决定,这称为动态绑定. 如:Object o =new int(); o.toString()调用的是int的toString()方法,如果实际类没有该方法则向上找他的父类是否有该方法,直到找到为

细节!重点!易错点!--面试java基础篇(一)

今天来给大家分享一下java的重点易错点部分,也是各位同学面试需要准备的,欢迎大家交流指正. 1.java中的main方法是静态方法,即方法中的代码是存储在静态存储区的. 2.任何静态代码块都会在main方法之前执行. 3.java程序的初始化顺序:原则:静态优先于非静态,且只初始化一次:父类优先于子类:按照成员定义顺序初始化.例顺序:父类静态变量,父类静态代码块,子类静态变量,子类静态代码块,父类非静态变量,父类非静态代码块,父类构造函数,子类非静态变量,子类非静态代码块,子类构造函数. 4.

细节!重点!易错点!--面试java基础篇(二)

今天来给大家分享一下java的重点易错点第二部分,也是各位同学面试需要准备的,欢迎大家交流指正. 1.字符串创建与存储机制:当创建一个字符串时,首先会在常量池中查找是否已经有相同的字符串被定义,其判断的依据是String类型equals的返回值,若已经定义,则直接获取对其的引用.此时不需要创建新的对象,如果没有定义,首先创建这个对象,然后把它加入到字符串池中,再将它的引用返回.(例:new String(”aaa“)可能创建了1个或者2个对象,如果常量池中原来有aaa那么之创建了一个对象,如果没

Java五道输出易错题解析(进来挑战下)

收集了几个易错的或好玩的Java输出题,分享给大家,以后在编程学习中稍微注意下就OK了. 1. 看不见的空格? 下面的输出会正常吗? package basic; public class IntegerTest { public static void main(String[] args) { System.out.println(Integer.parseInt("1")); System.out.println(Integer.parseInt("?2"))

Java五道输出易错题解析(避免小错误)

收集了几个易错的或好玩的Java输出题,分享给大家,以后在编程学习中稍微注意下就OK了. 1. 看不见的空格? 下面的输出会正常吗? package basic; public class IntegerTest { public static void main(String[] args) { System.out.println(Integer.parseInt("1")); System.out.println(Integer.parseInt("2"));

黑马程序员---C基础3【变量的易错】【程序结构】【if语句】【Switch语句】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- [变量的易错] 1.变量为什么要初始化为0 int  sum,a=3: sum = sum+a 如果未初始化则会成为一个不确定的变量,结果也会不确定,容易出错. 2.不同类型的变量之间的转换 切记int  a=1,b=0:b=1-1.5:其中b为一个整型所有结果是保留整数部分的0,而不是-0.5,又因为0没有正负之分,所有保存结果为b=0: 3.关于Xcode的一个快速注释的插件 快捷键://

软考程序员新手易错笔记

1.●标准化对象一般可分为两大类:一类是标准化的具体对象,即需要制定标准的具体事物:另一类是  (4)  ,即各种具体对象的总和所构成的整体,通过它可以研究各种具体对象的共同属性.本质和普遍规律. (4) A.标准化抽象对象    B.标准化总体对象    C.标准化虚拟对象    D.标准化面向对象 [解析]:标准化对象一般可分为两类:一类是标准化的具体对象:另一类是标准化的总体对象. 2.●用二进制加法器对二-十进制编码的十进制数求和,当和大于1010时,  (5)  . (5) A.不需要