• Java语言基础二


     

    1.常量的概述和使用

    A:什么是常量

    B:Java中常量的分类

    常量分类为六种:a.字符串 b.字符 c.整数 d.小数

    e.boolern(布尔类型) 返回值为 FALSE和TRUE  f.null类型  

    C:字面值常量的分类

    D:案例演示

    用输出语句输出各种常量。null不演示。

    2.进制概述和二,,十六进制图解

    A:什么是进制

    B:二进制的由来

    C:八进制的由来

    D:十六进制的由来

    E:不同进制表现同一个数据的形式特点

    进制越大,表现形式越短。

    3.不同进制数据的表现形式

    A:二进制的数据表现形式  以ob开头  例 ob010100

    B:八进制的数据表现形式  以o开头 例:o74

    C:十进制的数据表现形式  

    D:十六进制的数据表现形式  以ox开头 例:ox3c

    E:案例演示

    * 输出不同进制表现10的数据。

    * 0b100     4

    * 0100  16

    * 10

    * 0x100  256

    4.任意进制到十进制的转换图解

    A:任意进制到十进制的转换原理

    十进制转换的公式:系数*基数(几进制)权次幂

    B:画图练习

    * 二进制--十进制

    * 八进制--十进制

    * 十六进制--十进制

    5.十进制到任意进制的转换图解

    A:十进制到任意进制的转换原理          除基数倒取余数

    B:画图练习

    * 十进制--二进制

    * 十进制--八进制

    * 十进制--十六进制

    6.快速的进制转换法

    十进制到二进制

    除2取余,直到商为0,最后将余数反转。

    十进制13对应的二进制数据是1101。

    二进制到十进制的技巧(8421码)。

    十进制到八进制

    除8取余,直到商为0,最后将余数反转。

    十进制13对应的八进制数据是15。

    十进制--二进制--八进制

    首先 把十进制转成二进制。

    其次 把二进制数据每三位组合。左边不够三位用0补位。

    然后 把每个组合计算成对应的十进制数据。

    最后 从左到右把数据相连接即可得到八进制。

    十进制到十六进制

    除16取余,直到商为0,最后将余数反转。

    十进制13对应的把进制数据是D。

    十进制--二进制--十六进制

    首先 把十进制转成二进制。

    其次 把二进制数据每四位组合。左边不够四位用0补位。

    然后 把每个组合计算成对应的十进制数据。

    最后 从左到右把数据相连接即可得到十六进制。

    7.原码反码补码的讲解

    原码:就是带正、负号的二进制数,即高位为符号位,”0” 表示正,”1” 表示负,其余为表示数值大小。

    反码

    表示法规定--正数的反码与其原码相同;负数的反码是对其原码逐位取反,符号位除外;

    补码

    表示法规定--正数的补码与其原码相同;负数的补码是在其反码末位加1。

    8.原码反码补码的练习

    A:已知原码求补码

    B:已知补码求原码

    9.变量的概述及格式

    A:什么是变量

    在程序的运行过程中,其值在指定范围内变化的值。是内存中一个区域,用于存储数据。

    B:为什么要定义变量

    为了我们变成的方便。   

    C:变量的定义格式

    1.声明的时候,就初始化

    数据类型 变量名 = 初始化值;

    2.使用前赋值

    D:变量的三种元素:变量类型,变量名,初始化值,在使用变量之前,必须赋值

    10.数据类型的概述和分类

    A:为什么有数据类型

    B:Java中数据类型的分类  四类八种

     

    C:基本数据类型的详细讲解

    基本数据类型

    A区别 在内存中分配的空间大小不同,从而导致它表示的数据范围不同。

    B4类8种

    整数

    byte 占1个字节//8个开关,8个二进制位 1byte = 8bit

    short 占2个字节

    int 占4个字节0

    long 占8个字节 其后加L或l标识

    浮点数

    float 占4个字节 其后加F或f标识3.3f 2^63

    32个二进制位

    1位符号位

    8位代表指数位

    23位尾数位0.9999999

    0000000000 - 111111111 0 - 255

    IEEE 754 0 255 特殊的值

    1 - 254 - 127

    1 - 127 = -126

    254 - 127 = 127

    double 占8个字节

    字符

    char 占2个字节 0 - 65535

    布尔型

    boolean This data type represents one bit of information,

    but its "size" isn't something that's precisely defined.

    这个数据类型代表一个比特的信息,但它的“大小”不是精确定义的东西.

    true,false

    C:默认情况下:

    整数是int类型

    浮点数是double类型

    11.定义不同数据类型的变量

    A:案例演示

    *定义不同基本数据类型的变量,并输出

    12.使用变量的注意事项

    A:案例演示

    * a:作用域问题

    * b:初始化值问题

    * c:一条语句可以定义几个变量

    13.数据类型转换之隐式转换

    A:+符号的引入及数据做+的要求

    B:案例演示

    * a:int + int

    * b:byte + int 的结果分别用byte和int类型接收,看效果

    C:Java中的默认转换规则 

     默认转换byte,short,char—int—long—float—double

    byte,short,char相互之间补转换,他们参与运算首先转换为int类型

    D:画图解释byte+int类型的问题

    14.数据类型转换之强制转换

    A:强制转换问题的引入

    B:强制转换的格式  例  byte b = (byte)(a+b);

    C:强制转换的注意事项

    D:案例演示

    * byte + int 的结果赋值给byte,加强制类型转换

    15面试题之变量相加和常量相加的区别

    A:案例演示

    * 面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。

    * byte b1 = 3;

    * byte b2 = 4;

    * byte b3 = b1 + b2;

    * byte b4 = 3 + 4;

    答: byte b3 = b1 + b2;会编译失败,因为这个相加后得到的结果是int类型的
     而b是byte类型的,这样转换会损失精度,可用强制类型转换或是两个变量,变量值不确定.

    byte b4 = 3 + 4; 3和4是常量.Java中有常量优化机制,编译时已经变成了常量7了

    16.数据类型中补充的几个小问题

    A:在定义Long或者Float类型变量的时候,要加L或者f。

      * 整数默认是int类型,浮点数默认是double。

      

      * byte,short在定义的时候,他们接收的其实是一个int类型的值。

      这个是自己做了一个数据检测的,如果不再它们的范围内,就报错。

      

    B:byte值的问题

    * byte b1 = 127;

    * byte b2 = (byte)300;

    * byte b4 = (byte)130;

    * byte的范围:-128 ~ 127

    C:数据类型转换之默认转换

    * byte,short,char -- int -- long -- float -- double

    * long: 8个字节

    * float:4个字节

    * IEEE754

    * 4个字节是32个二进制位

    * 1位是符号位

    * 8位是指数位

    * 00000000   11111111

    * 0到255

    * 1到254

    * -126到127

    * 23位是尾数位

    * 每个指数位减去127

    A:它们底层的存储结构不同。

    B:float表示的数据范围比long的范围要大

    * long:2^63-1

    * float:3.4*10^38 > 2*10^38 > 2*8^38 = 2*2^3^38 = 2*2^114 > 2^63-1

    D:Java语言中的字符char可以存储一个中文汉字吗?为什么呢?

    * 可以。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。

    * 所以,Java中的字符可以存储一个中文汉字

    17.字符和字符串参与运算

    A:案例演示

    * System.out.println('a'); a

    * System.out.println('a'+1)

    //98  因为char会自动转换为int类型 a为97 要想看a字符 强制转化(char)98

    * 通过看结果知道'a'的值是多少,由此引出ASCII码表

    B:ASCII码表的概述

    * 记住三个值:

    * '0'  48

    * 'A'  65

    * 'a'  97

    C:案例演示

    * System.out.println("hello"+'a'+1); helloa1

    * System.out.println('a'+1+"hello"); 98hello

    D:+在有字符串参与中被称为字符串连接符

    * System.out.println("5+5="+5+5);  5+5=55

    //先于第一个五在一起加成字符串成为 5+5=5 在和后面一个加5+5=55

    * System.out.println(5+5+"=5+5");//先进行加法后在连接字符串 10=5+5

    18.算术运算符的基本用法

    A:什么是运算符

    B:运算符的分类

    C:算数运算符有哪些

    D:案例演示

    * 算数运算符的基本用法

    注意事项:

    * a:整数相除只能得到整数。如果想得到小数,必须把数据变化为浮点数类型

    * b:/获取的是除法操作的商,%获取的是除法操作的余数

    19.算术运算符+的多种用法

    A:加法

    B:正号

    C:字符串连接符

    20.算术运算符++--的用法

    A:++,--运算符的作用

    * 自加(++)自减(--)运算

    * ++:自加。对原有的数据进行+1

    * --:自减。对原有的数据进行-1

    B:案例演示

    * a:单独使用:

    * 放在操作数的前面和后面效果一样。(这种用法是我们比较常见的)

    * b:参与运算使用:

    * 放在操作数的前面,先自增或者自减,然后再参与运算。

    * 放在操作数的后面,先参与运算,再自增或者自减。

    21.算术运算符++--的练习

    A:案例演示

    * 请分别计算出a,b,c的值?

    int a = 10;

    int b = 10;

    int c = 10;

    a = b++;  // a=10  b=11

    c = --a; // c=9   a=9

    b = ++a; // b=10  a=10

    a = c--; // a=9   c=8

    所以输出a=9,b=10,c=8

    B:案例演示

    * 请分别计算出x,y的值?

    int x = 4;

      4     6     60

    int y = (x++)+(++x)+(x*10);//70

    22.赋值运算符的基本用法

    A:赋值运算符有哪些

    B:案例演示

    * 赋值运算符的基本用法

    注意事项:

    * a:基本的赋值运算符:=

    * 把=右边的数据赋值给左边。

    * b:扩展的赋值运算符:+=,-=,*=,/=,%=

    * += 把左边和右边做加法,然后赋值给左边。

    23.赋值运算符的面试题

    A:案例演示

    * 面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。

    * short s=1;s = s+1;

    //s赋值后的类型是int类型的,在赋值一个给一个short类型.缺失精度.不能转换

    * short s=1;s+=1;

    //相当于s=(short)(s+1);里面包含了一个强制转换

    24.关系运算符的基本用法及其注意事项

    A:关系运算符有哪些

    B:案例演示

    * 关系运算符的基本用法

    注意事项:

    * 无论你的操作是简单还是复杂,结果是boolean类型。

    * "=="比较运算符不能写成"="算术运算符。

  • 相关阅读:
    ls: cannot open directory .: Permission denied
    postman报错:Could not get any response
    IO流的继承关系
    吸顶效果
    linux报错:ls command not found
    内存寻址能力与CPU的位宽有关系吗?
    CPU与内存
    SQL语言的分类
    32位CPU和64位CPU 区别
    linux添加环境变量
  • 原文地址:https://www.cnblogs.com/wanghui1316/p/5416831.html
Copyright © 2020-2023  润新知