小白学java第3篇(视频课程为渡一教育)

270 阅读4分钟

第六节 类型转化

这节课稍微有点绕圈,不过我觉得还好啦!只要记住什么样的数据类型之间可以转换,什么样的不可以转换就好啦!那么类型之间的转换问题,需要注意以下几点,

1.同种数据类型之间是可以直接进行赋值操作。例如:int a = 1;int b = a; float x = 3.4;float y = x;这个很好理解的。那么数据类型不同的空间之间如何转化呢?

2.数据类型不同的空间之间的转化,同种大数据类型之间才能发生转换。基本类型----基本类型之间 可以直接转换(自动 强制)。引用类型----引用类型之间,可以直接转换(自动 强制--上转型 下转型)。基本类型----引用类型之间,不可以直接转换(间接--包装类/封装类)

3.保证大数据类型一致的前提下,基本类型---基本类型

重点:大空间变量可以直接存储小空间的数据,但是小空间变量不可以直接存储大空间的数据(需要强制类型转换)。举例说明一下:byte a = 1; int b = a;//自动直接转化就可以int a = 1; byte b = (byte)a;//需要强制类型转换float x = 3.4F; double y = x;//自动直接转化double x = 3.4; float y = (float)x;//强制转换。这块只要理解了,还是不难的。那么整型---浮点型之间如何转化呢?从精确程度上比较,浮点型精确程度更高,可以直接存放整数。反之需要强制转换。记住:任何一个浮点型都可以直接存放一个整型!!!举例说明:int a = 1; float b = a;//自动直接转化,但是float a =1.0F; int b = (int)a;//强制类型转换。还有就是整型---字符型之间如何转化呢?每一个字符都对应这一个Unicode码a--97,举例说明:char x = 'a'; int y = x;//自动转化y--97int x = 97; char y = (char)x;//强制的转化,最后一个,布尔类型,很特殊,不能与其他基本类型之间发生转化,这节课的内容稍微有点绕,但是理解这个思路就会好很多,大家加油鸭!一起努力学习!

第七节 运算符号1

运算符:用来指明对于操作数的运算方式。按照操作数的数目来进行分类:单目、双目、三目。例如:a++a+b、(a>b) ? x : y。按照运算符的功能来进行分类:1)算术运算,也就是+ - * / %(取余) ++(自增) --(自减)。举例说明:int x = 1 ; x = x+1 ;//x空间内的值 自己增加了一个x++;//x空间内的值 自增一个++x;//对于x空间内的值来讲 都是一致 最终的结果都自增了一个。那么int x = 1;int y = x++;//++在后 先赋值 后自增(先进行计算 后赋值)

x++;//x=x+1;//将x变量空间的内容先取出 常量区取出1进行计算 再次存回x空间。x在想要做值交换的时候,会产生一个临时的副本空间(备份)。重点记忆:++在变量的前面,先自增后备份。++在变量的后面,先备份后自增,会将副本空间内的值赋给别人。做个练习题吧!

            int a = 1;

       for(int i=1;i<=100;i++){//循环结构

                a = a++;

        }

       a==? 1

       -------------------------------------------

       int m = 1;//210

       int n = 2;//321

       int sum = m++ + ++n - n-- - --m + n-- - --m;

                    1 + 3 - 3 - 1 + 2 - 0

       m==? n==? sum==? 

2)赋值运算,=是赋值符号,将=右边的内容(值)存入=左边的变量空间内。有如下:+=、-=、*=、/=、%=。举例说明:int x = 1;x+=10;//x=x+10;x++;//x自增了一个,需求是让x增加10个,for循环结构

x++;//x=x+10;

                 x++ for(int i=1;i<=10;i++){

                 x++ x++;

                 x++ }

下面这个图片重点理解一下


今日内容整理完毕!鞠躬~