代码如下:
boolean flag = false;
if (flag = true) {
System.out.println("true");
} else {
System.out.println("false");
} 结果是true,我想问的是,为什么(falg = true)返回true,flag = false返回false,还有就是比如申明int i,然后打印,即System.out.println(a = 2)结果是2,这些有什么理论依据吗?今天做SCJP时碰到的比较新鲜的东西,希望大家解惑
boolean flag = false;
if (flag = true) {
System.out.println("true");
} else {
System.out.println("false");
} 结果是true,我想问的是,为什么(falg = true)返回true,flag = false返回false,还有就是比如申明int i,然后打印,即System.out.println(a = 2)结果是2,这些有什么理论依据吗?今天做SCJP时碰到的比较新鲜的东西,希望大家解惑
解决方案 »
- 我不懂.所以来问.解决全赖你们....
- 关于SET的小问题
- 谁给我提供一个如何操作arrays的范例?
- 关于JScrollPane 的问题
- 请问这道题错在哪里?
- 哪位大侠能提供practical java的电子书?中英文都可!
- 想把checkbox放到List中,如何做?
- helloworld问题,搞不定:package system does not exist
- 我想让我的class文件在一台没装过jdk的win98运行?怎么办呢?
- java初学者,求会java的表哥指点下 ,一个温度转换器,开始暂停控制播放音乐,根据温度判断输出相应的图片。我目前图片显示不出来,不知道哪里错了,求指点
- java SE 怎么实现文件传输?
- 在java中,什么是行为?
如果false
System.out.println("false");
你上面flag = true,赋值为true了。
a = 2 这种语句都是赋值用的。你要比较优先级。
这段代码等价于flag = true; // 赋值
if (flag) // 然后判断flag是否为真
判断,用 == ,一个等号,是赋值。然后,判断真假,建议用if (flag)if (!flag)
如果要判等于的话就要用==
if (flag = true) {
System.out.println("true");
} else {
System.out.println("false");
}
其中flag = true; // 赋值
if (flag) // 然后判断flag是否为真,此时的flag为真
执行
System.out.println("true"); 判断 用 == 一个等号,是赋值
import java.text.SimpleDateFormat;
import java.util.Calendar;
class 打印日历{
public static void main(String [] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入年份");
int year=sc.nextInt();
System.out.println("请输入月份:");
int month=sc.nextInt(); Calendar cal=Calendar.getInstance();
cal.set(Calendar.YEAR,year);
cal.set(Calendar.MONTH,month-1);
cal.set(Calendar.DAY_OF_MONTH,1);
//获取星期信息
int week=cal.get(Calendar.DAY_OF_WEEK);
//计算空格数量
int spaceNum=week-1;
int day=0;
//获取月份的天数
switch(month)
{
case 1:case 3:case 5:case 7:case 8:case 10:case 12:
day=31;
break;
case 4:case 6:case 9:case 11:
day=30;
break;
case 2:
if((year%4==0&&year%100!=0)||year%400==0)
{
day=29;
}else{
day=28;
}
break;
}
//输出日历
System.out.println("日\t一\t二\t三\t四\t五\t六");
for(int i=1;i<=(day+spaceNum);i++)
{
if(i<=spaceNum)//打印空格
{
System.out.print("\t");
}
else
{
System.out.print((i-spaceNum)+"\t");
}
if(i%7==0)
{
System.out.println();
}
}
}
}
我度试过是可以实现的,还有你可以再考虑如何,输入年份就打印出一年的日历,提示,在前面加个循环即可,试试看吧!!!!
flag == true这个
你已经给flsg赋值为true了