201711671115 《Java程序设计》第三章学习总结

第三章

一·教材学习内容总结

1.运算符

*,/,%,++x(--x)表示在使用x之前,先使x的值增(减)1,x++(x--)表示在使用x之后,使x的值增(减)1.

2.运算结果由计算过程中精度的高低决定,结果与精度最高的相同。

3.关系运算符:>,<,>=,<=,==,!=

4.逻辑运算符:&&,||,!

5.赋值运算符:=

6.位运算符

1)左面最高位是符号位,最高位是0表示正数,是1表示负数。

2)a.按位与运算:两个数字对应位都是1,则结果是1,否则为0.

     b.按位或运算:两个数字对应位都是0,则结果是0,否则是1.

     c.按位非运算:如果a对应位是0,则c的该位是1,否则是0.

     d.按位异或运算:如果a,b对应位相同,则c的该位是0,否则是1.

public class example36 {

	public static void main(String[] args) {
		char a1 ='十',a2 ='点',a3 ='进',a4 ='攻';
		char secret='A';
		a1=(char)(a1^secret);
		a2=(char)(a2^secret);
		a3=(char)(a3^secret);
		a4=(char)(a4^secret);
		System.out.println("密文:"+a1+a2+a3+a4);
		a1=(char)(a1^secret);
		a2=(char)(a2^secret);
		a3=(char)(a3^secret);
		a4=(char)(a4^secret);
		System.out.println("原文:"+a1+a2+a3+a4);
	}
}

7.instanceof运算符:左面的操作符是一个对象,右面是一个类。

8.if语句

9.if-else语句

public class example40 {

	public static void main(String[] args) {
		int math=65,english=85;
		if(math>60) {
			System.out.println("数学及格了");
		}
		else {
			System.out.println("数学不及格");
		}
		if(english>90) {
			System.out.println("英语是优");
		}
		else {
			System.out.println("英语不是优");
		}
		System.out.println("我在学习if-else语句");
	}
}

10.switch开关语句(可以是byte,short,int,char,不能是long)

public class example42 {

	public static void main(String[] args) {
		int number=0;
		System.out.println("输入一个整数,按回车确认。");
		Scanner reader=new Scanner(System.in);
		number=reader.nextInt();
		switch(number) {
		case 2:
		case 23:
		case 56:
		case 58: System.out.println(number+"是三等奖!");break;
		case 32:
		case 99: System.out.println(number+"是二等奖!");break;
		case 67: System.out.println(number+"是一等奖!");break;
		default: System.out.println("抱歉,没有中奖。");
		}
	}
}

11.循环语句

for(表达式1;表达式2;表达式3){

若干语句;

}

12.while循环语句

while(表达式){

若干语句;

}

13.do-while语句

do{

若干语句;

}while(表达式)

14.

1)break语句:若某次中执行了break,则整个循环结束。

2)continue语句:若某次中执行了continue,则本次循环结束。

public class example46 {

	public static void main(String[] args) {
		int sum=0,i,j;
		for(i=1;i<=10;i++) {   //计算1+3+5+7+9
			if(i%2==0) {
				continue;
			}
			sum=sum+i;
		}
		System.out.println("sum="+sum);
		for(j=2;j<=100;j++) {
			for(i=2;i<=j/2;i++)
			{
				if(j%i==0)
					break;
			}
			if(i>j/2) {
				System.out.println(""+j+"是素数");
			}
		}}}

15.for语句与数组

for(声明循环变量:数组的名字){

...}

public class example47 {

	public static void main(String[] args) {
		int a[]= {1,2,3,4};
		char b[]= {'a','b','c','d'};
		for(int n=0;n<a.length;n++) {
			System.out.print(a[n]);
		}
		for(int n=0;n<b.length;n++) {
			System.out.print(b[n]);
		}
		for(int i:a) {
			System.out.print(i);
		}
		for(char ch:b){
			System.out.print(ch);
		}}}

二·教材学习中的问题和解决过程

课本34页上有一个讲到byte x=(byte)30+'b';无法通过编译,因为其结果会变成int型,会超过byte的精度范围。注意赋值运算符是=,判断是否等值运算符是==。

三·代码调试中的问题和解决过程

刚开始直接看课本37页的密文代码,不懂为什么输入一串字符串输出来的字符串能够不一样,然后往前翻阅课本才发现原来用到的是按位的与,或和非运算,实现了将字符串输进去进行运算之后得到不一样的值。

四·感悟,思考

这一章讲到的是比较考究逻辑的语句,if和else,因为有些时候条件会分得不是很清除,可能会提前判断了一个条件或者是漏掉了哪个条件。还有swicth语句的使用格式,注意case后面接的条件。

五·学习进度条 

猜你喜欢

转载自blog.csdn.net/Laufen_j/article/details/82891066
今日推荐