马士兵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

 

你可能感兴趣的:(c,String,Class)