在for循环里面设置boolean bl变量,if判断条件,改写bl变量的值。
想不通的是,如果第一个if判断如果不成立,那么bl就为true,执行
//原代码是bl,写成bl=true好理解
if(bl=true){
System.out.println("到这儿来");
}
如果成立,那么bl已经被改写为false了,那么按照我的想法,虚拟机一样会执行,
因为这里是变量,不是固定写死的,bl为true为false应该都能进
//原代码是bl,写成bl=false好理解
if(bl=false){
System.out.println("到这儿来");
}
为什么最后打印的"到这儿来",只在为true时才打印。
public class test {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
for (int i = 0; i < list.size(); i++) {
Boolean bl=true;
if(list.size()>0){
bl=false;
break;
}
if(bl){
System.out.println("到这儿来");
}
}
}
}
Java的出现就是为了弥补C++的不足,很多编程思想都是根据人的行为方式,如果你站在现实生活考虑的话,你觉得这个设计思想是非常合理的,Java会根据每个人的编程习惯,让人体验不同的编程风格,看起来简单明了,你可以根据自己的思维 if(b1==true),也可以选择默认简单的方式if(b1),其实最终的结果都是 if(b1 == true)。
你少些了个=吧?
if(bl==false)
bl=false 这就是一个变量赋值,也就是b1赋值为false,结果等同于if(false){},唯一区别就是这里同时把b1赋值成false了。
if(b1=false){
}
可以成
b1=false;
if(b1){
}
if(b1)的意思即为if(b1=ture)
for (int i = 0; i < list.size(); i++)
{
Boolean bl=true; // 此时的变量是只作用于此for循环,当for循环结束之后,bl变量的内存会被释放,假如for外面还有bl和for里面的bl是不同,互补影响
if(list.size()>0){
bl=false; //这个if是第一次for循环就进入的 调用break for循环直接会推出
break;
}
if(bl){
System.out.println("到这儿来"); //你这个位置根本无法执行到
}
}
for (int i = 0; i < list.size(); i++)
{
Boolean bl=true; // 此时的变量是只作用于此for循环,当for循环结束之后,bl变量的内存会被释放,假如for外面还有bl和for里面的bl是不同,互补影响
if(list.size()>0){
bl=false; //这个if是第一次for循环就进入的 调用break for循环直接会推出
break;
}
if(bl){
System.out.println("到这儿来"); //你这个位置根本无法执行到
}
}
for (int i = 0; i < list.size(); i++)
{
Boolean bl=true; // 此时的变量是只作用于此for循环,当for循环结束之后,bl变量的内存会被释放,假如for外面还有bl和for里面的bl是不同,互补影响
if(list.size()>0){
bl=false; //这个if是第一次for循环就进入的 调用break for循环直接会推出
break;
}
if(bl){
System.out.println("到这儿来"); //你这个位置根本无法执行到
}
}
for (int i = 0; i < list.size(); i++)
{
Boolean bl=true; // 此时的变量是只作用于此for循环,当for循环结束之后,bl变量的内存会被释放,假如for外面还有bl和for里面的bl是不同,互补影响
if(list.size()>0){
bl=false; //这个if是第一次for循环就进入的 调用break for循环直接会推出
break;
}
if(bl){
System.out.println("到这儿来"); //你这个位置根本无法执行到
}
}
for (int i = 0; i < list.size(); i++)
{
Boolean bl=true; // 此时的变量是只作用于此for循环,当for循环结束之后,bl变量的内存会被释放,假如for外面还有bl和for里面的bl是不同,互补影响
if(list.size()>0){
bl=false; //这个if是第一次for循环就进入的 调用break for循环直接会推出
break;
}
if(bl){
System.out.println("到这儿来"); //你这个位置根本无法执行到
}
}
for (int i = 0; i < list.size(); i++)
{
Boolean bl=true; // 此时的变量是只作用于此for循环,当for循环结束之后,bl变量的内存会被释放,假如for外面还有bl和for里面的bl是不同,互补影响
if(list.size()>0){
bl=false; //这个if是第一次for循环就进入的 调用break for循环直接会推出
break;
}
if(bl){
System.out.println("到这儿来"); //你这个位置根本无法执行到
}
}
for (int i = 0; i < list.size(); i++)
{
Boolean bl=true; // 此时的变量是只作用于此for循环,当for循环结束之后,bl变量的内存会被释放,假如for外面还有bl和for里面的bl是不同,互补影响
if(list.size()>0){
bl=false; //这个if是第一次for循环就进入的 调用break for循环直接会推出
break;
}
if(bl){
System.out.println("到这儿来"); //你这个位置根本无法执行到
}
}
for (int i = 0; i < list.size(); i++)
{
Boolean bl=true; // 此时的变量是只作用于此for循环,当for循环结束之后,bl变量的内存会被释放,假如for外面还有bl和for里面的bl是不同,互补影响
if(list.size()>0){
bl=false; //这个if是第一次for循环就进入的 调用break for循环直接会推出
break;
}
if(bl){
System.out.println("到这儿来"); //你这个位置根本无法执行到
}
}
for (int i = 0; i < list.size(); i++)
{
Boolean bl=true; // 此时的变量是只作用于此for循环,当for循环结束之后,bl变量的内存会被释放,假如for外面还有bl和for里面的bl是不同,互补影响
if(list.size()>0){
bl=false; //这个if是第一次for循环就进入的 调用break for循环直接会推出
break;
}
if(bl){
System.out.println("到这儿来"); //你这个位置根本无法执行到
}
}
for (int i = 0; i < list.size(); i++)
{
Boolean bl=true; // 此时的变量是只作用于此for循环,当for循环结束之后,bl变量的内存会被释放,假如for外面还有bl和for里面的bl是不同,互补影响
if(list.size()>0){
bl=false; //这个if是第一次for循环就进入的 调用break for循环直接会推出
break;
}
if(bl){
System.out.println("到这儿来"); //你这个位置根本无法执行到
}
}
for (int i = 0; i < list.size(); i++)
{
Boolean bl=true; // 此时的变量是只作用于此for循环,当for循环结束之后,bl变量的内存会被释放,假如for外面还有bl和for里面的bl是不同,互补影响
if(list.size()>0){
bl=false; //这个if是第一次for循环就进入的 调用break for循环直接会推出
break;
}
if(bl){
System.out.println("到这儿来"); //你这个位置根本无法执行到
}
}
for (int i = 0; i < list.size(); i++)
{
Boolean bl=true; // 此时的变量是只作用于此for循环,当for循环结束之后,bl变量的内存会被释放,假如for外面还有bl和for里面的bl是不同,互补影响
if(list.size()>0){
bl=false; //这个if是第一次for循环就进入的 调用break for循环直接会推出
break;
}
if(bl){
System.out.println("到这儿来"); //你这个位置根本无法执行到
}
}
不是很明白你问的,但是赋值=和==是不一样的