A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

今天我们学习了数据类型转换、运算符、方法
请将下面问题用自己理解的话表述出来:

今日需要掌握的有:

1、++和--单独使用和在运算中使用有什么区别?
2、什么是强转?什么是自动类型转换?
3、&&和||的区别?
4、什么是方法?定义和调用的时候有什么要注意的地方?
5、s+=1和s=s+1有什么区别?

54 个回复

倒序浏览
1、++和--单独使用和在运算中使用有什么区别?自增自减运算符在单独使用的时候没有区别,混合使用的时候,前++为先加后用,后++为先用后+,后++先把当前的变量的值拿来使用,使用过后才在当前值的基础上+,自减同理.

2、什么是强转?什么是自动类型转换?
强制转换是将数据类型由小转大,发生运算的时候,数据类型会变成默认值,在表达式里面加上(数据类型),将会把当前数据的默认类型强制转换成自己设置的数据类型,不推荐使用因为可能会导致数据溢出或精度损失.
自动类型转换是将数据由小转大,也是发生运算的时候会将小的数据类型自动转换成默认值.



3、&&和||的区别?
&&为并且的关系,设置条件都需要为true才是true.
||为或者的关系,设置条件其中一个为true,就是true.

4、什么是方法?定义和调用的时候有什么要注意的地方?
方法是将程序运行的步骤抽取出来并且单独定义一个方法,可以提高程序的可维护性及可读性,优化代码.
定义的时候要写在main方法外,类里面,命名用小驼峰式,方法不可以方法间嵌套.如果要执行方法需要调用,单独调用格式为: 方法名();

5、s+=1和s=s+1有什么区别?


s += 1 为 s = s + 1
s = s+1 为将 s + 1 的值赋给s

点评

总结的不错,第五条还隐含了一个强制类型转换,要注意。另外记得要写名字,不然写的这么好我都不知道是谁~  发表于 2018-5-31 11:50
回复 使用道具 举报
======迷人的反派角色林传伟=====
1、单独使用:没区别,都自增自减1;
运算中使用:前++,变量先+1,用结果进行运算,先加后用;后++,先用原本变量运算,然后变量+1,先用后加;
2、自动类型(隐式)转换:特点:代码不需要特殊处理,规则:数据范围从小到大;
强制类型(显式)转换:格式:范围小的类型 范围小的变量名=(范围小的类型) 原本范围大的数据;
3、&&:and的关系,两者都true才为true;||:or的关系,两者中有一为true就为true;
4、方法:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能,格式:public static void 方法名(){}
方法名用小驼峰方式命名,方法体:大括号当中可以包含任意条语句,方法的定义不能嵌套即不能放在另一个方法内;调用:方法名();;
5、在程序执行上前者只运算一次,后者两次,且S+=有强制转换特点。

点评

林传伟大魔王,总结的很到位,继续努力  发表于 2018-5-31 11:52
回复 使用道具 举报
吴佳更
1.单独使用的时候没有任何影响。在运算中使用。如果是先++或先--,就先执行+1或者减1再加入运算,如果是后++或者后--,则运算完再++或--。
2.强转就是范围大的数据类型转换成范围小的数据类型。自动则是范围小的转成范围大的,比如byte,short,char在运算时候会被转换成范围更大的int类型加入运算。
3.&&只有在两个都为true的时候才会为true,否则为false,只要第一个为false,则不执行后面判断,已经为false。||在只有两个都为false的时候才会为false,否则都为true,只要第一个为true,则不执行后面判断,已经为true。
4.方法就是一段具有功能的代码。定义在类中方法外,命名为小驼峰式。调用直接用方法名();
5.s+=1有隐含一个强制转换的公式。而s=s+1没有。

点评

到位!  发表于 2018-5-31 12:03
回复 使用道具 举报
黄希

1、++和--单独使用和在运算中使用有什么区别?
        单独使用:++在前或在后,没有区别;
        在运算中使用:++在前,先自增再使用;++在后,先使用再自增。
       
2、什么是强转?什么是自动类型转换?
        强制转换:取值范围大的数据类型,转换为取值范围小的数据类型,例如int i=100;byte b=(byte)i;
        自动类型转换:将取值范围小的数据类型的数据,赋值给取值范围大的数据类型的变量,例如float f=100L;

3、&&和||的区别?
        &&且,两边的条件必须都为true,返回结果才为true;只要有一边条件为false,返回结果就为false;
        ||或,两边的条件只要有一边为true,返回结果就为true;两边都为false,返回结果为false。
       
        &&和||都具有短路效果,只要左边的表达式能确认最终的返回结果,那么右边的表达式就不会执行。

4、什么是方法?定义和调用的时候有什么要注意的地方?
        把代码单独定义在一个大括号内,形成一个独立的功能,实现代码复用,体现了面向对象中封装的特性。

5、s+=1和s=s+1有什么区别?
        计算结果没有区别。
        s如果是byte、short或char类型,在运算时,会先转换为int类型,再加上1,最后强制转换回byte、short或char类型。
回复 使用道具 举报
王宇晨
1、++和--单独使用和在运算中使用有什么区别?
        单独使用时:前++(--)和后++(--)没有什么区别
        在运算中使用时:前++(--)数据先进行自增(减),然后再进行运算;
                                   后++(--)数据先参与运算,然后再进行自增(减)
2、什么是强转?什么是自动类型转换?
   强转(显式转换):就是取值范围大的数据向取值范围小的数据转换,不能自动完成;
   自动类型转换(隐式转换):就是运算时取值范围小的数据自动转换为取值范围大的数据。
3、&&和||的区别?  
   &&与:前后只要有一个为false,结果为false,只有两个都为true结果才为true
   ||或:前后只要有一个为true,结果为true,只有两个都为false结果才为false
4、什么是方法?定义和调用的时候有什么要注意的地方?
    方法就是把一个功能抽取出来,放在一个大括号内,方便我们调用。
    定义方法时:要定义在类内main方法外。
    调用方法:方法定义完成后不会自动运行,要通过调用才能运行;要在main方法中调用。
5、s+=1和s=s+1有什么区别?
    s+=1属于复合赋值,中间不存在隐式转换;
    s=s+1就是将s+1赋值给左边,因为1是int类型,运算过程中存在隐式转换,左右两边都为int类型
回复 使用道具 举报
1、++和--单独使用和在运算中使用有什么区别?
自增和自减的表现形式分别是写在变量之前或者之后,例如i++和++i,i--和--i;
分别表示变量进行加一运算或者减一运算;
在单独使用时,前++与后++没有区别,同理,前--与后--;
在运算中使用时,前++表示变量值先进行自加一然后再参与外部运算,后++表示先参与外部运算,再将变量自身值进行自加一运算,同理可以知道自减运算。

2、什么是强转?什么是自动类型转换?
强制类型转换是指在运算过程当中参与运算的数据类型中将范围大的数据类型强制转换成范围小的变量,
基本格式是 范围小的数据类型 a = (范围小的数据类型)b;
自动类型转换则是在运算过程当中,范围小的变量自动转换成范围大的数据类型然后参与运算,例如:byte、short、char在参与运算的时候都是转换成int类型然后再进行计算。

3、&&和||的区别?
&&表示逻辑运算中的与,当判断全是TRUE的时候才输出TRUE
||表示逻辑运算的中的或,当判断只要有一个TRUE就输出TRUE,全是false的时候输出false
&&和||都具有短路效应,当&&的左边为false的时候就停止运行右边的内容,直接输出false;
                                      当||的左边为true的时候就停止运行右边的内容,直接输出ture。

4、什么是方法?定义和调用的时候有什么要注意的地方?
方法是我们定义出来的具有特定意义的程序段,定义格式为public static void 方法名(){方法体}
定义方法的时候要注意:1、方法名首字母小写,后面每一个单词的首字母大写;
                                     2、方法名不能够嵌套使用;
调用方法的格式:方法名();(需要使用方法的时候执行调用命令)。

5、s+=1和s=s+1有什么区别?
二者在一般情况下没有什么区别,即s+=1和s=s+1表示的意思是一样的
主要区别是“+=”运用的是复合赋值运算符,‘=’和“+”运用的的是基本赋值运算符
而在符合赋值运算符中包含了一个强制类型转换。
回复 使用道具 举报
杨银万
1、++和--在单独使用的时候没有区别,都为自增或自减。在运算使用的时候,前++为先加后用,后++为先用后+,后++先把当前的变量的值拿来使用,使用过后才在当前值的基础上自增或自减.
2、
强制转换是将取值范围大的数据类型转换成取值范围小的数据类型,不推荐使用因为可能会导致数据丢失或精度损失.
自动类型转换是将取值范围小的数据类型转换成取值范围大的数据类型,在程序运行的时候会将小的数据类型自动转换成大的数据类型.
3、
&&为并且的关系,设置条件都需要为true最后结果才是true.
||为或者的关系,设置条件其中一个为true,最后结果就是true.
4、
方法是将程序运行的部分代码抽取出来模块化并且单独定义,可以优化代码,提高程序的可维护性及可读性。方法定义的时候要写在类里面,方法外,命名规范为小驼峰式,方法不可以嵌套定义。如果要执行方法需要在main方法中调用,调用格式为: 方法名();
5、
s += 1 等同于 s = s + 1
但是s+=1在运算时会自动进行数据类型的强制转换,而s=s+1不会进行数据类型转换;

点评

666  发表于 2018-5-31 12:18
回复 使用道具 举报
本帖最后由 scl701 于 2018-5-29 21:40 编辑

名:刘思聪


1、++和--单独使用和在运算中使用有什么区别?
单独使用时候,放在变量的前后没有区别
在运算中混合使用时候,先++/--则先增/减后用(即用自增/减结果参与其他运算)、后++/--则先用后增/减(先参与其他运算然后在自增/减)

2、什么是强转?什么是自动类型转换?
强转,即强制类型转换,显式转换,当数据类型从范围较大的转向范围较小的数的时候需要使用强制类型转换。要手动在代码里完成。
自动类型转换,隐式转换,在当范围较大的数据类型的变量接受来自取值范围较小的数据类型时候,自动完成的数据类型转换,能够自动完成,不需要特定的代码处理。
3、&&和||的区别?
与逻辑计算&&为必须前后都为true,最后返回值才为true
或逻辑计算||只要有一个为true就会返回true

4、什么是方法?定义和调用的时候有什么要注意的地方?
将实现特定功能的代码提取出来放在一个大括号内,并且在需要时调用。
注意事项:方法不能嵌套。方法定义的先后顺序无所谓。方法只会在调用的时候才会执行。

5、s+=1和s=s+1有什么区别?


s为byte、char、short类的时候,s+=1包括了一个强制类型转换。将因为参与计算自动提升为int的值强转回原有类型。
回复 使用道具 举报
本帖最后由 吴烨 于 2018-5-29 21:38 编辑

1.让一个变量涨一个数字1,或者让一个变量降一个数字1,如果是前++,那么变量马上+1,然后拿着结果进行使用,如果是后++,那么首先使用变量本来的数值,然后再让变量+1
2.自动转换的意思就是自动把取值范围小的转换为取值范围大的类型。强转就是强制将取值范围大的类型转换为取值范围小的类型
3&&  两边都为TRUE的话,结果为TRUE,有一边结果为false,结果为fales   ||的话只要有一边结果为true,结果就是true。
4.方法就是将一个功能抽取出来单独定义在一个大括号里,单独成为一个方法。定义的格式为public static void 方法名(){方法体}  方法的调用  方法名称()我们要在main方法中调用我们已经定义好的方法
5前者运行一次  后者运行两次

点评

第三题要将短路的特点说出来,即&&如果遇到false则立即停止运算,返回false,||遇到true则停止运算,返回true。 第五题是是否隐含强制类型转换。  发表于 2018-5-31 11:58
回复 使用道具 举报
1;单独使用就是让一个变量涨1或者减1,混合使用的时候前++或者—就是变量立刻加1或减1,后++或后--首先使用变量的数值,然后再让变量加1.
2:强转;代码需要进行特殊处理,不能自动完成,一般不推荐使用,
自动类型转换:自动完成,从小到大
3:&& 全部都是true才能为true。反之为false
|| 有一个是true就是true,全部为flase才为flase。
4: 方法:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能    方法定义注意事项: 方法必须定义在一类中方法外 方法不能定义在另一个方法的里面      
5:s+=1  相当于s=s+1

点评

第五题注意s+=1比s=s+1隐含了一个强制类型转换。  发表于 2018-5-31 11:59
回复 使用道具 举报
刘杭生
1、++和--单独使用和在运算中使用有什么区别?
        单独使用没有任何区别!
        运算中++或--在前面就是先加后用,在后面就是先用后加
2、什么是强转?什么是自动类型转换?
        强转)        是当数据类型范围较大的变量,赋值给数据类型范围较小的变量时,需要强制转换.
        自动转换是)        是当数据类型范围较小的变量,赋值给数据类型范围较大的变量时,编译器自动转换.
3、&&和||的区别?
        &&:左右两边必须为true,结果才是true;
        ||:左右两边其中有一个为true,就是true.
       
4、什么是方法?定义和调用的时候有什么要注意的地方?
        定义需要注意
        1)范围要在类名内,其他方法外
        2)不可以在已有方法内再嵌套方法
        3)方法定义没有先后顺序
        调用需要注意
        1)如果想执行一定要调用
                               
5、s+=1和s=s+1有什么区别?
        没有区别

点评

第五题隐含了一个强制类型转换  发表于 2018-5-31 12:19
第三题注意&&和||短路的特点,即当&&遇到false时,则后面不执行;||遇到true时后面不执行。 第五题二者是有区别的,s+=1隐含了一个强制类型转换。   发表于 2018-5-31 12:02
回复 使用道具 举报
这个前++和后++的这种自增自减运算符的话,前++和后++在单独使用的时候是没有任何区别的,都是可以让数字自动增加或减少一个数字。如果说在运算当中的话,前++是让数字先加或者先减再拿来用,后++是先把原来的数字拿来用,然后在增加或减少一个数。总结一下就是前++就是先加再用!后++就是先用再加!
强制转换就是把大的数据范围转换为小的数据范围,比如说int强转为short类型,short转换为byte类型,但是这种极度不推荐使用,会发生数据的精度损失、溢出。
自动类型转换的话就是数据类型的范围从小变到大,比如byte转换成short,short转换为int,int转换成long类型这样子的,这种的话,不需要我们做任何特殊处理,编译会自动完成。
&&这种就是“短路与”条件缺一不可,只要其中一个条件不满足就会判定false,一定要满足两个条件才会判定true!
||这种就是“短路或”条件只要满足其中一个是正确的,那么就会判定true,除非两个条件都不满足才会判定false!
在我们写代码的时候是极度推荐使用这种格式,会提高我们代码运行的性能!
方法就是我们程序运行的起点,像我们写public static void main(String【】 args){}中的main方法就是我们程序运行的起点!定义方法的话格式是 修饰符 void 方法名称(){}   也就是public static void 方法名称(){}即可
注意事项的话就是我们这行代码是没有分号“;”的,还有就是我们的方法是定义在类的里面,main方法的外面即可!
调用的话是在main方法里面调用即可,格式就是 方法名称(); 调用方法的话在语句的结尾是有分号“;”的!
s += 1 翻译过来的话就是 s = s + 1 所以和 s = s + 1 是没有区别的。区别就是s += 1这种使我们的复合赋值运算符的用法。也是极度推荐使用这种格式。

点评

s+=1 和s=s+1的区别是s+=1隐含了一个强制类型转换。  发表于 2018-5-31 12:14
回复 使用道具 举报
1、++与--为算术运算符中的自增、自减符号,书写格式为:变量名++(或++变量名)、变量名--(--变量名)。当++与--单独使用时,输出的数据为自增,自减后的数据;当++与--不单独使用时,++与--在变量名前时,所使用的数据为自增,自减后的数据;++与--在变量名后时,所使用的数据未进行自增或自减,而后再自增或自减,为先用后加。
2、数据类型转换分为自动类型转换(隐式)与强制类型转换(显式),其中自动类型转换为将数据范围小的数据类型转为数据范围大的数据类型;当数据范围小的数据类型转换为数据范围大的数据类型时则为强制类型转换。
3、&&和||为逻辑运算符中的两种,分别为双与、双或,相比与&与|,他们提高了代码的运算效率,其中使用&&运算符时,一旦条件出现为false时,则停止运算,直接判定为false;另外使用||运算符时,一旦条件出现为true时,则停止运算,直接判定为true;
4、方法为程序员在编写代码的时自我定义的一串代码,写再类中,main方法外,在定义方法名时与变量名一样,使用小驼峰式起名,首字母小写,第二个单词开始首字母大写,调用方法的格式为:方法名();;在未调用方法时,不会进行打印输出,
5、s+=1和s=s+1两者之间是相同的,其中"+="为赋值运算符中的一种,s+=1翻译后就为s=s+1;

点评

第五题隐含了一个强制类型转换。  发表于 2018-5-31 12:18
回复 使用道具 举报
1、++和--如果单独使用的话,无论是++和--在前还是在后,自身都要加一,在运算当中的话,++和--在前是立刻马上自身+1,如果是后++或--是先使用后++或--。
2、强转也叫显式转换,是把取值范围大的向取值范围小的赋值,强制转换可能会损失精度,所以不推荐使用。自动转换也叫隐式转换是把取值范围小的向取值范围大转换,一切都是程序自动进行的,无需程序员干预。
3、&&也叫短路与,双与一般使用在两个判断语句的中间,如果第一个条件不成立,第二个条件就不会被执行。如果其中有一个为false,那就为false. ||也叫短路或,第一个条件如果为true,第二个条件就不在执行,只有当两个同时为false,才为false.
4、方法就是完成特定功能的代码块。
    1、定义时不能有嵌套包含关系,
    2.定义后要记得在main方法中调用
5、s=s+1在使用byte/short/char在做运算的时候要使用强制转换,s+=1会自动转换,因为它是赋值不是做四则运算。

点评

下次记得写名字哦  发表于 2018-5-31 12:20
回复 使用道具 举报
最后一题,s+=1有个强制类型转换。s=s+1的话没有,在类型转换的时候会出错,例如  byte s =1,byte s=s+1.

点评

要把前几题也写了,另外记得下次加上名字哦  发表于 2018-5-31 12:21
回复 使用道具 举报
1.++和--单独使用作用类似,运算中自增和自减分为先后,区别是先计算还是先自增或自减。
2.强制转换时范围大的类型赋值给范围小的类型需要转换类型,自动类型转换为范围小的类型转换为范围大的,可自动转换。
3.&&真为真,且前面为假后面无需判断,||有真为真,短路与&&类似。
4.方法封装功能,方法格式 修饰符 方法名(){}
方法不可嵌套  方法调用 方法名();
5.s+=1 隐藏类型转换
回复 使用道具 举报
1: ++和 -- 在单独使用是没有什么区别,各自增加或者减少一个1;
在参与运算中,如果++或者--在前边,则先增加或者减少一个1再用;
如果++或者--在后边,则先用然后再增加或者减少一个1。
2:强转:代码需要进行特殊处理,不能自动完成,是数据范围大的转换为数类型范围小的       
自动类型转换:代码不需要进行特殊处理,可以自动完成,范围是小到大转。
3:&& 全部是true才为true,|| 只要有一个为true就为true;具有短路效果,左边可以判断右边不会执行;
可以连续。
4:方法:指定一个可以使用的功能
public static void 方法名称(){
        方法体
}
方法名使用小驼峰式命名,首单词小写
调用:方法名();
5:s+=1 逻辑上看作是s=s+1 计算结果被提升为int类型,
但是, s=s+1进行两次运算 , += 只运算一次,是强制转换的,

回复 使用道具 举报
刘慧梅
1、++和--单独使用和运算中使用有什么区别?
在单独使用时是一个独立的步骤,前++/--和后++/--并没有区别,都是增一或减一。
在运算中前++/--是使用变量进行运算,后++/--是使用变量前原来的值进行运算。

2、什么是强转?什么是自动类型转换?
强制类型转换(显式)是数据取值范围从大到小进行转换,代码需要进行特殊处理,不能自动完成。
自动类型转换(隐式)是数据取值范围从小到大进行转换,代码不需要进行特殊处理,能够自动完成。

3、&&和||的区别?
&&:与(并且)——前后必须全都是true,运行结果才是true;如果其中有一个为false,则运行结果为false。
||:或(或者)——前后至少一个是true,运行结果则为true;前后全是false,运行结果才为false。

4、什么是方法?定义和调用的时候有什么要注意的地方?
方法是将程序中的步骤单独放在一个大括号中
注意事项:定义在类中方法外;不能产生嵌套包含关系;如果要运行,那就要调用方法

5、s+=1和s=s+1有什么区别?
s+=1相当于s=s+1
s=s+1是将s+1赋值于左边的s

点评

第五题隐含了一个强制类型转换  发表于 2018-5-31 12:33
回复 使用道具 举报
1:
++和--单独使用时,写在变量前面和后面一样,没有区别。如果在运算中使用前++、--,会先让变量加1或者减1,然后再来运算,如果是后++、--, 那么会先直接拿变量本身来运算,然后变量再来加1或减1

2:
自动类型转换:代码不需要特殊处理,会自动进行转换(由取值范围小的数据类型转换成范围大的类型)
强制类型转换:代码需要进行特殊的处理(由取值范围大的数据类型转换为范围小的类型)
强制类型转换格式:范围小的数据类型 变量名 = (范围小的数据类型)取值范围大的数值;

3:
&&:两个条件都为true时结果才为true,若有一个为false结果就为false,如果第一个条件为false,那么结果就为false且第二条件代码不会执行
||:两个条件有一个为true结果就为true,全都为false结果才为false,如果第一个条件为true,那么结果就为true且第二个条件代码不会执行

4:
方法就是定义的一种方法,可以让代码模块化,更易读
定义方法的格式:public static void 方法名(){      方法体       }
方法要定义在类当中,其他方法外
方法必须调用才能使用
调用方法格式: 方法名();

5:
s += 1; 相当于 s = s + 1;

点评

第五题隐含了一个强制类型转换,另外下次记得写名字哦  发表于 2018-5-31 12:34
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马