黑马程序员--面试汇总1(基础贴)

本文探讨了Java中的赋值运算符,特别是短整型与整型之间的运算。通过示例解释了`s=s+2`与`s+=2`的区别在于自动类型转换,指出`s+=5`在赋值时会自动进行类型转换,避免精度丢失,而`s = s + 5`则可能导致编译错误。文章还提到了循环嵌套和数组排序的概念。
摘要由CSDN通过智能技术生成

------- android培训java培训、期待与您交流! ----------

 


1、赋值运算符

符号:=,+=,-=,*=,/=,%=

示例:int a,b,c;   a=b=c=3;
            int a = 3;   a+=5;等同运算a=a+5;


思考题:
short s = 3;
s=s+2;
s+=2;
有什么区别?

s=s+2;   编译失败,因为s会被提升为int类型,运算后的结果还是int类型,无法赋值给short类型
s+=2;    编译通过,因为+=运算符在给s赋值时,自动完成了强转动作


面试:已知 short s = 4; 为什么 s = s + 5;不可以,s+=5;就可以

答:s = s + 5; 是两次运算,先做右边的加法,再赋值给左边。而s+=5就是做一次赋值运算,实现把左右两边的和赋给左边。

        两者最大的不同是 s+=5会做一个自动转换动作,而s = s + 5不会做。

       即:s = s + 5编译失败,因为s+5运算完是int值,再赋给s装不下,容易丢失精度。
               s+=5编译通过,因为s+=5只做赋值运算,它内部有一个自动转换动作。

 
 2、

3、

 

4、

//语句嵌套形式,其实就是语句中还有语句
//循环嵌套(面试

class Test
{
	public static void main(String[] args)
	{
		for(int x=0; x<3; x++)
		{
			for(int y=0; y<4; y++)
			{
				System.out.print("*");
			}
			System.out.println();//只有一个功能就是换行
		}
	}
}


 结果:     结论:外循环控制行数,内循环控制每一行的列数,即每一行中元素的个数

class Test
{
	public static void main(String[] args)
	{
		/*
		
		*****
		****
		***
		**
		*
		发现图形有很多行,每一行有很多列
		要使用嵌套循环 原理:大圈套小圈

		*/
		for(int x=0; x<5; x++)//x<5:因为外循环控制行数,一共5行
		{
			for(int y=x; y<5; y++)
			{
				System.out.print("*");//切记此处无  ln
			}
			System.out.println();//此处功能是换行
		}
	}
}


结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值