0
点赞
收藏
分享

微信扫一扫

day02<Java语言基础+>


Java语言基础(常量的概述和使用)

Java语言基础(进制概述和二,八,十六进制图解)

Java语言基础(不同进制数据的表现形式)

Java语言基础(任意进制到十进制的转换图解)

Java语言基础(十进制到任意进制的转换图解)

Java语言基础(快速的进制转换法)

Java语言基础(原码反码补码)

Java语言基础(原码反码补码的练习)

Java语言基础(变量的概述及格式)

Java语言基础(数据类型的概述和分类)

Java语言基础(定义不同数据类型的变量)

Java语言基础(使用变量的注意事项)

Java语言基础(数据类型转换之隐式转换)

Java语言基础(数据类型转换之强制转换)

Java语言基础(数据类型转换之强制转换超出范围)

Java语言基础(面试题之变量相加和常量相加的区别)

Java语言基础(long与float的取值范围谁大谁小

Java语言基础(字符和字符串参与运算)

Java语言基础(char数据类型)

Java语言基础(算术运算符的基本用法)

Java语言基础(算术运算符++和--的用法)

Java语言基础(算术运算符++和--的练习)

Java语言基础(赋值运算符的基本用法)

Java语言基础(赋值运算符的面试题)

Java语言基础(关系运算符的基本用法及其注意事项)

 

###02.01_Java语言基础(常量的概述和使用)(掌握)
 A:什么是常量
     在程序执行的过程中其值不可以发生改变
 B:Java中常量的分类
     字面值常量
     自定义常量(面向对象部分讲)
 C:字面值常量的分类
     字符串常量    用双引号括起来的内容
     整数常量        所有整数
     小数常量        所有小数
     字符常量        用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号
     布尔常量        较为特殊,只有true和false
     空常量            null(数组部分讲解)

            
###02.02_Java语言基础(进制概述和二,八,十六进制图解)(了解)
 A:什么是进制
     进制:就是进位制,是人们规定的一种进位方法。 对于任何一种进制--X进制,就表示某一位置上的数运算时是逢X进一位。二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。
     例如一周有七天,七进制,一年有十二个月,十二进制
 B:十进制的由来
     十进制的由来是因为人类有十个手指
 C:二进制的由来
     其实二进制来源与中国,请看史料记载
     18世纪德国数理哲学大师莱布尼兹从他的传教士朋友鲍威特寄给他的拉丁文译本《易经》中,读到了八卦的组成结构,惊奇地发现其基本素数(0)(1),即《易经》的阴爻yao- -和__阳爻,其进位制就是二进制,并认为这是世界上数学进制中最先进的。20世纪被称作第三次科技革命的重要标志之一的计算机的发明与应用,其运算模式正是二进制。它不但证明了莱布尼兹的原理是正确的,同时也证明了《易经》数理学是很了不起的。
 D:八进制的由来
     任何数据在计算机中都是以二进制的形式存在的。二进制早期由电信号开关演变而来。一个整数在内存中一样也是二进制的,但是使用一大串的1或者0组成的数值进行使用很麻烦。 
     所以就想把一大串缩短点,将二进制中的三位用一位表示。这三位可以取到的最大值就是7.超过7就进位了,这就是八进制。 
 E:十六进制的由来
     但是对于过长的二进制变成八进制还是较长,所以出现的用4个二进制位表示一位的情况,四个二进制位最大是15,这就是十六进制。
 F:不同进制表现同一个数据的形式特点
     进制越大,表现形式越短
 
###02.03_Java语言基础(不同进制数据的表现形式)(掌握)
 A:二进制的数据表现形式
     由0,1组成。以0b(b可以大写也可以小写)开头(JDK1.7版本可以表示二进制了)
 B:八进制的数据表现形式
     由0,1,…7组成。以0开头
 C:十进制的数据表现形式
     由0,1,…9组成。整数默认是十进制的 
 D:十六进制的数据表现形式
     由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头 
 E:案例演示
     输出不同进制scale表现100的数据。
     0b100 4
     0100 64
     100 100
     0x100 256

        
###02.04_Java语言基础(任意进制到十进制的转换图解)(了解)
 A:任意进制到十进制的转换原理
     系数:就是每一位上的数据。
     基数:X进制,基数就是X。
     权:在右边,从0开始编号,对应位上的编号即为该位的权。
     结果:把系数基数的权次幂相加即可。 

 B:画图练习

     二进制--十进制

     八进制--十进制

     十六进制--十进制

day02<Java语言基础+>_进制



###02.05_Java语言基础(十进制到任意进制的转换图解)(了解)
 A:十进制到任意进制的转换原理
     除积倒取余 
 B:画图练习
     十进制--二进制
     十进制--八进制
     十进制--十六进制

day02<Java语言基础+>_进制_02


    

###02.06_Java语言基础(快速的进制转换法)(了解)

 A:8421码及特点

     8421码是中国大陆的叫法,8421码是BCD代码中最常用的一种。在这种编码方式中每一位二值代码的1都是代表一个固定数值,把每一位的1代表的十进制数加起来,得到的结果就是它所代表的十进制数码。 

 B:通过8421码的方式进行二进制和十进制的相互转换

 C:二进制到八进制的简易方式

 D:二进制到十六进制的简易方式

day02<Java语言基础+>_java语言_03



###02.07_Java语言基础(原码反码补码)(了解)

 A:为什么要学习原码反码补码?

     后面要学习强制类型转换,如果不知道有原反补会看不懂结果 

 B:有符号数据表示法的几种方式

     原码

         就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

         通过一个字节,也就是8个二进制位表示+7和-7

         0(符号位)    0000111

         1(符号位)    0000111

     反码

         正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

     补码

         正数的补码与其原码相同;负数的补码是在其反码的末位加1。 

day02<Java语言基础+>_数据类型_04



###02.08_Java语言基础(原码反码补码的练习)(了解)

 A:已知原码求补码

     0b10110100 

 B:已知补码求原码

     0b11101110

day02<Java语言基础+>_变量_05


    

###02.09_Java语言基础(变量的概述及格式)(掌握)

 A:什么是变量

     在程序执行的过程中,在某个范围内其值可以发生改变的量

 B:变量的定义格式

     数据类型 变量名 = 变量值;

 C:为什么要定义变量

     用来不断的存放同一类型的常量,并可以重复使用


###02.10_Java语言基础(数据类型的概述和分类)(掌握)

 A:为什么有数据类型

     Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间

 B:Java中数据类型的分类

     基本数据类型

     引用数据类型 

         面向对象部分讲解 

 C:基本数据类型分类(4类8种) 

     整数型

         byte 占一个字节  -128到127

         short 占两个字  -2^15~2^15-1

         int 占四个字节 -2^31~2^31-1

         long 占八个字节 -2^63~2^63-1

     浮点型

         float 占四个字节 -3.403E38~3.403E38  单精度

         double 占八个字节-1.798E308~1.798E308 双精度

     字符型

         char 占两个字节 0~65535

     布尔型

         boolean

             boolean理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大小  


###02.11_Java语言基础(定义不同数据类型的变量)(掌握)

 A:案例演示

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

     赋值时候注意float类型,long类型

1 public class Demo1_DataType {    //DataType数据类型
2 public static void main(String[] args) {
3 //整数类型
4 byte b = 10; //占一个字节,-128 到 127
5 short s = 20; //占两个字节
6 int i = 30; //占四个字节 整数默认的数据类型就是int类型
7 long x = 8888888888L; //占八个字节
8 System.out.println(b);
9 System.out.println(s);
10 System.out.println(i);
11 System.out.println(x);
12
13 //System.out.println(12345 + 54321l);//如果long类型后面加L进行标识最好加大L,因为小l太像一了
14 //浮点类型
15 float f = 12.3F; //占四个字节
16 double d = 33.4; //占八个字节 小数默认的数据类型是double,double类型后面也可以用D或d标识,但是一般不加
17 System.out.println(f);
18 System.out.println(d);
19
20 //字符类型
21 char c = 'a'; //占两个字节
22 System.out.println(c);
23
24 //布尔类型
25 boolean b1 = true;
26 boolean b2 = false;
27 System.out.println(b1);
28 System.out.println(b2);
29 }
30


###02.12_Java语言基础(使用变量的注意事项)(掌握)
 a:作用域问题
   同一个区域不能使用相同的变量名

int x = 10;

int x = 20;

System.out.println(x);
 b:初始化值问题
   局部变量在使用之前必须赋值

int y;

y = 10;

System.out.println(y);
 c:一条语句可以定义几个变量

int a,b,c,d,e;

a = 10;

b = 20;

c = 30;

d = 40;

e = 50;

System.out.println(a);

 

int x = 10;

int y = 20;

int z = 30;

###02.13_Java语言基础(数据类型转换之隐式转换)(掌握)
 A:案例演示

int a = 3;

byte b = 4;

a = a + b;

System.out.println(x);//7
 B:Java中的默认转换规则
     取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算 
 C:画图解释byte+int类型的问题

###02.14_Java语言基础(数据类型转换之强制转换)(掌握)
 A:强制转换(去掉前三个8位)
    int a = 3;

byte b = 4;

b = (byte)(a + b);

System.out.println(b); 
 B:强制转换的注意事项
     如果超出了被赋值的数据类型的取值范围得到的结果会与你期望的结果不同 
        //00000000 00000000 00000000 10000010 130的二进制

//10000010 -126补码

//00000001 -1求反码

//10000001 -126反码

//11111110 -126原码

byte b = (byte)(126 + 4);

System.out.println(b);//-126

//00000000 00000000 00000001 00101100 300的二进制

//00101100

byte b2 = (byte)300;

System.out.println(b2);//44
###02.15_Java语言基础(面试题之变量相加和常量相加的区别)(掌握)
 面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
    byte b1 = 3;
  byte b2 = 4;
  byte b3 = b1 + b2;
     从两方面去回答这个题
     b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值
     byte类型的变量在进行运算的时候,会自动类型提升为int类型 
  byte b4 = 3 + 4;
     3和4都是常量,java有常量优化机制,就是在编译的的时候直接把3和4的结果赋值给b4了 

###02.16_Java语言基础(long与float的取值范围谁大谁小)(了解)
 进行混合运算的时候,byte,short,char不会相互转换,都会自动类型提升为int类型,其他类型进行混合运算的是小的数据类型提升为大的
     byte,short,char -- int -- long -- float -- double
    
     long: 8个字节
     float:4个字节
     IEEE 754
     4个字节是32个二进制位
     1位是符号位
     8位是指数位 00000000 11111111
     0到255 0代表0,255代表无穷大
     1到254
     -126到127
     23位是尾数位
     每个指数位减去127
    
     A:它们底层的存储结构不同。
     B:float表示的数据范围比long的范围要大
         long:2^63-1
         float:3.410^38 > 210^38 > 28^38 = 22^3^38 = 22^114 > 2^63-1

###02.17_Java语言基础(字符和字符串参与运算)(掌握)
 A:System.out.println('a');
   System.out.println('a'+1);//98
  
 B:ASCII码表的概述

day02<Java语言基础+>_进制_06


     记住三个值:

         '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

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

    

###02.18_Java语言基础(char数据类型)(掌握)

 A:char c = 97;    0到65535

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

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

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

###02.19_Java语言基础(算术运算符的基本用法)(掌握)

 A:什么是运算符

     就是对常量和变量进行操作的符号。

 B:运算符的分类

     算术运算符,赋值运算符,比较(关系或条件)运算符,逻辑运算符,位运算符,三目(元)运算符 

 C:算数运算符有哪些

     +,-,,/,%,++,-- 

 D:注意事项:

     a:+号在java中有三种作用,代表正号,做加法运算,字符串的连接符

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

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

     %运算符

         当左边的绝对值小于右边绝对值时,结果是左边

         当左边的绝对值等于右边或是右边的倍数时,结果是0

         当左边的绝对值大于右边绝对值时,结果是余数

         %运算符结果的符号只和左边有关系,与右边无关

         任何一个正整数%2结果不是0就是1可以用来当作切换条件 


###02.20_Java语言基础(算术运算符++和--的用法)(掌握)

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

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

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

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

 B:案例演示

     a:单独使用:

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

     b:参与运算使用:

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

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


###02.21_Java语言基础(算术运算符++和--的练习)(掌握)

 A:案例演示

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

     

    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;           

    

 B:案例演示

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

     int x = 4;

     int y = (x++)+(++x)+(x10); //4 + 6 + 60

 C:面试题,问哪句会报错,为什么

    byte b = 10;

    b++; (底层帮你做了强转)

    b = b + 1;//当byte与int进行混合运算的时候,会提升为int类型,两个int相加的结果还是int,赋值给byte会损失精度

     


###02.22_Java语言基础(赋值运算符的基本用法)(掌握)

 A:赋值运算符有哪些

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

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

        

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

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

    

###02.23_Java语言基础(赋值运算符的面试题)(掌握)

 A:案例演示

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

     short s=1;s = s+1; //当short与int进行运算的时候,会提升为int类型,两个int类型相加的结果也是int类型

     short s=1;s+=1; //s = (short)(s + 1);


###02.24_Java语言基础(关系运算符的基本用法及其注意事项)(掌握)

 A:关系运算符有哪些(比较运算符,条件运算符)

     ==,!=,>,>=,<,<= 

 注意事项:

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

    

     "=="不能写成"="。


###02.25_day02总结

 把今天的知识点总结一遍。

 

###02.26_day02作业

1:计算出十进制46对应的二进制,八进制,十六进制的值。至于进制的内容今天在练习一次,以后就可以不用练习了。后面能听懂就OK了。不用浪费太多时间。(可用计算器验证你算的是否正确)

 

2:什么是变量?变量的定义格式?要使用变量需要注意什么?

 

3:Java中的数据类型分几类?基本数据类型有哪些?

 

4:数据类型转换:

隐式转换:

强制转换:

 

面试题:

第一题:

byte b1=3,b2=4,b;

b=b1+b2;

b=3+4;

哪句是编译失败的呢?为什么呢?

 

第二题:

byte  by = 130;有没有问题?有问题如何解决?结果是多少呢?

 

第三题:

byte b = 10;

b++;

b = b + 1;

哪句是编译失败的呢?为什么呢?

 

5:常见的算术运算符有哪些?

  +运算符的作用有哪些?

  答:正号,字符串连接符号,算术运算符

  除法和取余的区别?

  ++和--的使用规则?

 

6:常见的赋值运算符有哪些?

  +=运算的作用是什么?

  扩展的赋值运算符有什么特点?

 

7:short s = 1; s = s + 1;有没有问题?如果有怎么解决?

   short s = 1; s += 1;有没有问题?如果有怎么解决?


8:常见的关系运算符有哪些?

  关系运算符的结果有什么特点?

9:练习打字(每天十分钟,即使休息的时候,也建议练习)

举报

相关推荐

0 条评论