java2.运算符与循环练习

这篇博客探讨了Java编程中的条件语句和变量交换技巧。内容包括三元运算符在不同数据类型间的处理规则,以及如何使用不同的方法交换两个整数变量的值。还提到了short类型的变量在运算过程中的类型提升问题,并解释了switch语句的适用数据类型限制,最后通过示例代码展示了if语句的错误用法和循环控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public static void main(String[] args) {
	char x = 'x';
	int i = 10;
	System.out.println(true? x : i);
	System.out.println(true? 'x' : 10);
}

答案:
120
x
/*
如果其中有一个是变量,按照自动类型转换规则处理成一致的类型;
如果都是常量,如果一个是char,如果另一个是[0~65535]之间的整数按char处理;
如果一个是char,另一个是其他,按照自动类型转换规则处理成一致的类型;
*/

 编写代码实现两个变量值交换,int m = 3, n =5;
答案一:
int temp = m;
m = n;
n = temp;
答案二:
m = m + n;
n = m - n;
m = m - n;
答案三:
m = m ^ n;
n = m ^ n;
m = m ^ n;
short s1 = 1; s1 = s1 + 1;有什么错? 
short s1 = 1; s1 += 1;有什么错

答:short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型)
short s1 = 1; s1 += 1;(可以正确编译)
switch是否能作用在byte上,是否能作用在long上,是否能作用在String上
	答:switch(expr1)中,expr1是一个整数表达式。因此传递给 switchcase 语句的参数应该是intshortchar 或者 bytelong不能作用于swtich.JDK1.7新加入了String类型。
	public static void main(String[] args) {
		int a = 3;
		int b = 1;
		if(a = b){
			System.out.println("Equal");
		}else{
			System.out.println("Not Equal");
		}
	}
答案:编译不通过:if里面结果只能是true或者false
	public static void main(String[] args) {
		int i=10;
		while(i>0){
			i = i +1;
			if(i==10){
				break;
			}
		}
		System.out.println("i=" + i);
	}
答案一:是一个负数,因为i一直累加会超过int的存储范围
答案二:死循环
	public static void main(String[] args) {
		int n=10;
		for (int i = 0; i < n; i--) {
			System.out.println("=");
		}
	}
i<n修改为-i<n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值