《Java程序设计》第三章学习笔记

    xiaoxiao2022-07-05  165

    第三章

    一·教材学习内容总结

    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(表达式)

    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后面接的条件。

    最新回复(0)