下列表达式哪些是正确的? A Boolean=1 double=0.9239d B C long 1= -2 byte=340
时间: 2024-03-29 19:38:08 浏览: 27
表达式 A 错误,表达式 B 错误,表达式 C 错误。
解析:
A 错误,Java 中的布尔型变量只能赋值为 true 或 false,不能赋值为 1。
B 正确,double 类型的变量可以使用字母 d 或 D 结尾,表示变量是 double 类型。
C 错误,Java 中的变量不能以数字开头,long 1= -2 是错误的,应该写成 long num= -2。byte 类型的变量的取值范围是 -128 到 127,340 超出了这个范围,因此也是错误的。
相关问题
boolean flg = (true == true) ? (true == true) ? false : true : true; System.out.println(flg); int a = 10;给初学者详细解释
这段代码主要包含两个部分:
第一部分:boolean flg = (true == true) ? (true == true) ? false : true : true;
这是一个三目运算符,其作用是根据条件返回不同的值。这个三目运算符的条件判断为 true == true,这个条件一定成立,因此可以简化为:
boolean flg = (true == true) ? (true == true) ? false : true : true;
然后我们来看第二个三目运算符 (true == true) ? false : true。这个条件判断为 true == true,同样一定成立,因此简化为 false。所以整个表达式结果为 false。
第二部分:int a = 10;
这是一个变量声明语句,声明了一个名为 a 的整型变量,并将其赋值为 10。
综上所述,这段代码的作用是将一个名为 flg 的布尔型变量赋值为 false,同时声明并赋值一个名为 a 的整型变量为 10。
809*??=800*??+9*??+1
题目中给出了一个等式:809*??=800*??+9*??+1,需要求出??代表的两位数以及809*??的结果。可以通过编写Java程序来解决这个问题,以下是代码和解释:
```java
public class Prog42{
public static void main(String[] args){
int n = 0; // 用于存储符合要求的两位数
boolean flag = false; // 用于标记是否找到符合要求的两位数
for(int i=10;i<100;i++){ // 枚举所有两位数
if(809*i==800*i+9*i+1){ // 判断是否符合等式
flag = true; // 找到符合要求的两位数
n = i; // 记录该两位数
break; // 结束循环
}
}
if(flag) // 如果找到符合要求的两位数
System.out.println("??="+n+", 809*??="+809*n); // 输出结果
else // 如果没有找到符合要求的两位数
System.out.println("无符合要求的数!");
}
}
```
运行程序后,输出结果为:??=11, 809*??=8899。因此,??代表的两位数为11,809*11的结果为8899。