zoukankan      html  css  js  c++  java
  • 7月16号 高博教育 知识扩展

    &与&&的区别

    都代表与

    区别在于&是非短路运算,即使左边是false,也要执行右边代码

    而且&&在java中运算符必须是bloolean类型的,而&可以是int类型

    例如

    System.out.println(5&3);打印结果1

    System.out.println(i++==1&&i++==2);打印结果是false

    System.out.println("hello"+'a'+1);
    System.out.println('a'+1+"hello");
    System.out.println("5+5="+5+5);

    A:下面两种方式有区别吗?
    float f1 = 12.345f;
    float f2 = (float)12.345;

    答:有区别 f1是

    B:下面的程序有问题吗,如果有,在哪里呢?
    byte b1 = 3;
    byte b2 = 4;
    byte b3 = b1 + b2;
    byte b4 = 3 + 4;
    答:有,byte b3=b1+b2;中b1和b2默认为int数据类型,b3是byte数据类型,需强制转换

     

    C:下面的操作结果是什么呢?
    byte b = (byte)130;
    答:-126
    数据130默认是int类型的十进制数据
    第一步十进制的130转换成二进制数据
    1 0 0 0 0 0 1 0

    第二步130是int类型是占4个字节的,
    所以在内存的表现形式是
    00000000  00000000  00000000  10000010

    做了截取后的结果为
    10000010
    通过观察最高位符号位是1,这是一个负数,
    因为在计算机中所有的数据都是以补码的形式出现的所以要算它的补码
    原码:1 0000010
        原码变反码,最高位符号位不变,其他数值位1变0,0变1得反码
    反码:1 1111101   
    反码变补码就是反码加1得
    补码;1 1111110

    最终的看到的结果就是
    11111110最高为是符号位不运算,
    数值为转化为十进制是64+32+16+8+4+2=126符号位负
    所以为-126
    
    D:字符参与运算
    是查找ASCII里面的值
    'a'
    'A'
    '0'

    System.out.println('a');
    System.out.println('a' + 1);
    答:97
    65
    48
    a
    98
    E:字符串参与运算

    System.out.println("hello"+'a'+1);
    System.out.println('a'+1+"hello");
    System.out.println("5+5="+5+5);
    System.out.println(5+5+"=5+5");
    答:helloa1
    98hello
    5+5=55
    10=5+5
    F:基本小题目
    int a = 10;
    int b = 10;
    int c = 10;

    a = b++; a=10,b=11
    c = --a; a=9,c=9
    b = ++a; a=10,b=10
    a = c--; a=9,c=8
    请分别计算出a,b,c的值
    答:a=9,b=10,c=8


    G:比较复杂的题目
    int a = 4;
    int b = (a++)+(++a)+(a*10);

    int x = 3;int y =4;
    System.out.println((x++ > 4) & (y++ > 5));
    System.out.println(x);
    System.out.println(y);

    System.out.println((x++ > 4) && (y++ > 5));
    System.out.println(x);
    System.out.println(y);
    答:(1)b=70 b = (a++)+(++a)+(a*10) ===》 b=4+6+60=70
    (2)false
    x=4
    y=5

    false
    x=4
    y=4
    (&与&&的区别,其中还包括&可以比较int类型)


    System.out.println(5+5+"=5+5");
    答:helloa1
    98hello
    5+5=55
    10=5+5

     

    1.什么是常量?常量的分类?字面值常量表现形式有哪些?
    答:常量是指不变的值;分为字面值常量和自定义常量;表现形式有:字符串常量、整数常量、小数常量、字符常量、布尔常量和空常量
    2.什么是变量?变量的定义格式?要使用变量需要注意什么?
    答:在程序的执行过程中,其值在某个范围内可以发生改变的量;
    A:数据类型 变量名 = 初始化值;
    B:数据类型 变量名;
    变量名 = 初始化值;
    成员变量和局部变量的作用域
    3.Java中的数据类型分几类?基本数据类型有哪些?
    答:基本数据类型和引用数据类型
    整数
    byte
    short
    int(默认)
    long
    浮点型
    float
    double(默认)
    布尔型
    boolean
    字符型
    char
    4.JDK和JRE的区别是什么?他们各自有什么作用
    答:JDK和JRE是java开发和运行工具,JDK 包含了JRE,JRE包含了JVM
    5.如何利用JDK编译和运行应用程序
    答:利用JDK提供的javac命令来编译java源代码,将Java源文件编译成字节码文件,java命令来运行java程序。将字节码文件放到JVM中运行
    6.环境变量classpath的作用
    答:classpath是java编译器专用的变量,用于告诉java编译器找类文件的路径
    7.环境变量path的作用
    答:path是路径变量,它的作用是告诉系统在当前目录找不到所需文件时,就按path指定的路径查找
    8.什么是JVM和其工作原理
    答:JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器。它是一种基于下层的操作系统和硬件平台并利用软件方法来实现的抽象的计算机,可以在上面执行java的字节码程序。java编译器只需面向JVM,生成JVM能理解的代码或字节码文件。Java源文件经编译器,编译成字节码程序,通过JVM将每一条指令翻译成不同平台机器码,通过特定平台运行。

     

  • 相关阅读:
    2020-2021-1 20209314《Linux内核原理与分析》第七周作业
    2020-2021-1 20209314《Linux内核原理与分析》第六周作业
    2020-2021-1 20209314《Linux内核原理与分析》第五周作业
    2020-2021-1 20209314《Linux内核原理与分析》第四周作业
    2020-2021-1 20209314《Linux内核原理与分析》第三周作业
    选做题MyOD 20209314
    2020-2021-1 20209314《Linux内核原理与分析》第二周作业
    2020-2021-1 20209322《Linux内核原理与分析》第十二周作业
    2020-2021-1 20209322《Linux内核原理与分析》第十一周作业
    2020-2021-1 20209322《Linux内核原理与分析》第九周作业
  • 原文地址:https://www.cnblogs.com/Guang09/p/13324431.html
Copyright © 2011-2022 走看看