閱讀872 返回首頁    go 阿裏雲 go 技術社區[雲棲]


馬士兵J2SE-第二章-J2SE基礎語法-運算符

自加和自減運算符

(++/--)

在前時先運算再取值,在後時先取值再運算

public class test {
	public static void main(String[] args){
		
		int i1 = 10, i2 = 20;
		
		int i =(i2++);
		System.out.println("i  = "+i);
		System.out.println("i2 = "+i2);
		
		i=(++i2);
		System.out.println("i  = "+i);
		System.out.println("i2 = "+i2);
		
		i=(--i1);
		System.out.println("i  = "+i);
		System.out.println("i1 = "+i1);
		
		i=(i1--);
		System.out.println("i  = "+i);
		System.out.println("i2 = "+i1);
	}
}

輸出:

i  = 20
i2 = 21
i  = 22
i2 = 22
i  = 9
i1 = 9
i  = 9
i2 = 8

 邏輯運算符:

public class test {
	public static void main(String[] args){
		
		boolean a,b,c;
		a=true;
		b=false;
		
		c= !a ; System.out.println(c);
		c= a&b; System.out.println(c); 
		c= a|b; System.out.println(c); 
		c= a^b; System.out.println(c); 
		c= a&&b; System.out.println(c); 
		c= a||b; System.out.println(c); 
	}
	
}


輸出:

false
false
true
true
false
true

 

 

public class test{
	public static void main(String[] args){
		int i=1,j=2;
		boolean flag1=(i>3)&&((i+j)>5);
		boolean flag2=(i<2)||((i+j)<6);
		System.out.println(flag1);
		System.out.println(flag2);
	}	
}

輸出:
false
true

 

 三目條件運算符:

x?y:z

x為boolean類型的表達式,先計算x的值,若為true,則整個三目運算符的結果為y的值,所以整個運算結果為z的值。

public class test{
	public static void main(String[] args) {
		int score = 80; int x =-100;
		String type = score < 60 ? "不及格" : "及格";
		int flag = x > 0 ? 1: (x == 0 ? 0 : -1);
		System.out.println("type"+type);
		System.out.println("flag"+flag);
	}
}


輸出:

type及格
flag-1

//設定一個數作為學生成績,如果學生成績<60,則輸出不及格,80-90為良好,90-100為優秀

public class test{	
	public static void main(String[] args) {
			int i=91;
			if(i<60)
				System.out.println("不及格");
			else if(i<80)
					System.out.println("一般");
			else if(i<90)
					System.out.println("良好");
			else 
					System.out.println("優秀");
	}
}


輸出:

優秀

 

計算1!+2!+3!+4!+……+10!

public class test {
	public static void main(String[] args) {
		long result = 0;
		long f=1;
		for(int i=1;i<=10;i++) {
			f = f * i;
			result += f;
		}
		System.out.println("result="+result);	
	}
}


輸出:

result=4037913

 

 

計算1+3+5+7+……+99的值


 

public class test {
	public static void main(String[] args) {
		long sum=0;
		int i;
		for( i = 1 ; i < 100 ; i +=2){
			sum+=i;
		}
		System.out.println(sum);
	}
}


輸出:2500

 

//使用while和dowhile實現0-9的輸出

public class test {
	public static void main(String[] args) {
		int i=0;
		do {
			System.out.println(i);
			++i;
			
		}while(i<10);
		
		int j=0;
		while(j<10) {
			System.out.println(j);
			j++;
		}
	}
}


輸出:

0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9


break與continue語句:

public class test {
	public static void main(String[] args) {
		
		System.out.println("stop");
		int stop = 4;
		for(int i=1 ; i < 10 ; i++) {
			if(i==stop) break;
			System.out.println(i);
		}
		
		System.out.println("skip");
		int skip=5;
		for(int i=1; i < 10; i++) {
			if(i==skip) continue;
			System.out.println(i);
		}
	}
}


輸出:

stop
1
2
3
skip
1
2
3
4
6
7
8
9

 

循環語句

//輸出1-100以內前五個可以被3整除的數

public class test {
	public static void main(String[] args) {
		int i;
		int num = 0;
		for(i = 1; i <= 100; i++) {
			if(i%3==0){
				System.out.println(i);
				num++;
				if(num==5) break;
			}
		}
	}
}


輸出:

3
6
9
12
15

 

//輸出101~200以內的質數

public class test {
	public static void main(String[] args) {
		int i;
		int j;
		boolean f=false;
		
		for(i = 101; i <= 200; i+=2) {
			for(j = 2;j <= i; j++) {
				if(i%j==0) f=true;
			}
			if(!f) continue;
		    System.out.println(i);
		}
	}
}


輸出:

101
103
105
107
109
111
113
115
117
119
121
123
125
127
129
131
133
135
137
139
141
143
145
147
149
151
153
155
157
159
161
163
165
167
169
171
173
175
177
179
181
183
185
187
189
191
193
195
197
199

 

//打印9 9乘法表

public class test {
	public static void main(String[]  args) {
		int i;
		int j;
		for( i = 1 ; i < 10 ; i++ ) {
			for( j = 1 ; j < i; j++ ) {
				System.out.print(j+"*"+i+"="+j*i+" ");
			}
			
			System.out.println();
		}
	}
}


輸出:

1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

師傅的代碼,很清晰。I,J相等時換行。我的代碼,“因為經過裏麵那層for循環後, j的值就跟i的值一樣了”,所以沒有特別指明“j==i”

//打印9 9乘法表

public class test {
	public static void main(String[]  args) {
		for (int i = 1; i <= 9; i++) {
			for (int j = 1; j <= i; j++) {
				System.out.print(j + "*" + i + "=" + j * i + " ");
				if (j == i) {
					System.out.println();
				}
			}
		}
	}

}


輸出:

1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

 

最後更新:2017-04-02 06:52:05

  上一篇:go 如何使用EnumSet實現基於bit field的enum set?
  下一篇:go 使用SBJson