4.24

Java

分支语句:根据条件表达式决定执行程序的某一部分而不执行另一部分。使用控制语句可以改变程序的执行流程,这样就可以在程序中有选择地或者循环的执行某一个操作


if-else 语句

if (expression) {

        statement

}

或者是

if (expression) {

        statement1

}else{

        statement2

}

或者

if (expression1) {

        statement1

}else if(expression2) {

        statement2

}else{

        statement3

}

括号内的 expression 的计算结果必须为布尔值的表达式,如果程序块中只有一条语句,则可以略去花括号。但是实际开发中,建议都使用花括号, 因为可以使代码具有更好的可读性

public class IfStatment {
        public static void main(String args[]) {
                //如果没有输入参数则从方法返回
                if(args[0].length()<=0) {
                      return;
                }
                System.out.println("您输入的成绩为: "+args[0]);
                //否则将参数转换为基本数据类型
                int i=0;
                try {
                      i=Integer.parseInt(args[0]);
                } catch (NumberFormatException nfe) {
                      System.out.println("您输入的参数格式错误! ");
                      return;
                }
                //根据分数判断等级
                if(i>=90) {
                      System.out.println("等级为:A");
                } else if(i>=80&&i<90) {
                       System.out.println("等级为:B");
                } else if(i>=60&&i<80) {
                       System.out.println("等级为:C");
                } else {
                       System.out.println("等级为:D");
                }
        }
}

试用 86 运行上面的代码,得到如下信息:

F:\gz\JAVA\lckz>java IfStatment 86
您输入的成绩为: 86
等级为:B

但是如果输入了非法的成绩格式,就会如下报错:

F:\gz\JAVA\lckz>java IfStatment a
您输入的成绩为: a
您输入的参数格式错误!


Switch 语句

可以看作是if 语句的另一种形式,switch 选择语句能够根据表达式的值决定执行多个操作中的一个或者几个

switch(expression) {

        case expression_value1:statement1;break;

        case expression_value2:statement2;break;

        ...

          [default:    default_statement;]

}

expression 是返回值为 int  byte   char 或  short  类型的表达式

case 子句中的 expression_value 必须是常量。 switch 根据 expression 的值在 case 各个子句中进行匹配。如果匹配成功则执行相应的语句,否则执行 default 中的语句;如果没有default , 则不会进行任何操作

case 子句中的break 用于跳出 switch 如果没有 break  则 switch 会顺序执行下个case 子句中的语句,直至遇到break  语句或者执行完所有的case 或者 default 语句

public class MainClass {
        public static void main(String[]  args) {
        //如果没有输入参数则从方法返回
                if(args[0].length()<=0) {
                      return;
                }
                System.out.println("您输入的月份为: "+args[0]);
                //否则将参数转换为基本数据类型
                int month=8;
                try {
                       month=Integer.parseInt(args[0]);
                } catch (NumberFormatException nfe) {
                       System.out.println("您输入的月份格式错误! ");
                       return;
                }
               switch (month) {
                      case 1: System.out.println("January");
                         break;
                      case 2: System.out.println("February");
                         break;
                      case 3: System.out.println("March");
                         break;
                      case 4: System.out.println("Aprill");
                         break;
                      case 5: System.out.println("May");
                         break;
                      case 6: System.out.println("June");
                         break;
                      case 7: System.out.println("July");
                         break;
                      case 8: System.out.println("August");
                         break;
                      case 9: System.out.println("September");
                         break;
                      case 10: System.out.println("October");
                         break;
                      case 11: System.out.println("November");
                         break;
                      case 12: System.out.println("December");
                         break;
                      default :
                         System.out.println("您输入的月份不存在! ");
                }
        }
}

输入月份 4  得到一下信息:

F:\gz\JAVA\lckz>java MainClass 4
您输入的月份为: 4
Aprill


case 参数在程序编译的时候就被解析,所以 它只能被赋值为常量值或者最终变量值


如果程序中没有使用break 语句, 则程序会与找到的case 子句匹配之后顺序执行,所以在程序中加入 break 语句,当找到匹配的 case 子句后只执行该代码就跳出 switch 语句块

public class SwitchBreak {
        public static void main(String args[]) {
                //如果没有输入参数则从方法返回
                if(args[0].length()<=0) {
                      return;
                }
                //否则将参数转换为基本数据类型
                int i=0;
                try {
                      i=Integer.parseInt(args[0]);
                } catch (NumberFormatException nfe) {
                    System.out.println("您输入的参数格式错误! ");
                    return;
                }
                switch(i) {
                       case 2:System.out.println("您输入的是2");
                       case 4:System.out.println("您输入的是4");
                       case 6:System.out.println("您输入的是6");
                       default:System.out.println("您输入的是奇数! ");
                       case 8:System.out.println("您输入的是8");
                       case 10:System.out.println("您输入的是10");
                }
        }
}

命令行输入偶数6,运行程序得到一下信息:

F:\gz\JAVA\lckz>java SwitchBreak 6
您输入的是6
您输入的是奇数!
您输入的是8
您输入的是10

并没有得到想要的结果,因为没有使用 break 语句。

在上述例子中,输入的是6,当程序运行找到匹配的case 语句后将继续执行之后的所有语句,知道遇到 break 才跳出 switch 语句块。在程序执行过程中,如果所有的值都与case语句中的值不匹配,那么就可以在程序中加入 default 语句

public class SwitchDefault {
        public static void main(String args[]) {
                //如果没有输入参数则从方法返回
                if(args[0].length()<=0) {
                     return;
                }
                //否则将参数转换为基本数据类型
                int i=0;
                try {
                      i=Integer.parseInt(args[0]);
                } catch (NumberFormatException nfe) {
                      System.out.println("您输入的参数格式错误! ");
                      return;
                }
                switch(i) {
                       case 2:
                       case 4:
                       case 6:
                       case 8:
                       case 10:System.out.println("您输入的是偶数! ");break;
                       default:System.out.println("您输入的是奇数! ");
                }
        }
}

尝试输入数字5,得到如下结果:

F:\gz\JAVA\lckz>java SwitchDefault 5
您输入的是奇数!


循环语句

while 循环语句

while(expression) {

        statement

}

原理为:expression 是布尔型的变量或者是返回值为布尔型的语句, while 语句首先判断 expression 的值,如果这个值为 true 则程序执行 statement 执行结束后, while 再次判断 expression 的值,直到 expression 的值为 false  则程序跳出大括号中的语句转向下面的语句执行

public class WhileTest {
        public static void main(String[] args) {
                int i=0;
                //当i的值小于等于4的时候循环
                while(i<=4) {
                       System.out.println("i="+i);
                       i++;
                }
        }
}

上述例子在 i 的值小于等于4时,执行 while 循环语句,得到如下信息:

F:\gz\JAVA\lckz>java WhileTest
i=0
i=1
i=2
i=3
i=4

对于while循环,重点是, while 循环不一定会执行,因为在程序执行第一次检查时,如果expression 表达式的值返回 false 则跳过循环体,开始执行while 循环之后的语句


public class WhileTest1 {
        public static void main(String[] args) {
                int i=0;
                while(i>2) {
                        System.out.println("i="+i);
                        //将i 的值设置为3
                        i=3;
                }
                //打印
                System.out.println("循环体结束! ");
        }
}

该段代码将 i   的初始值设置为0 ,而循环的条件是i>2, 所以条件为 false, 即不执行循环体:

F:\gz\JAVA\lckz>java WhileTest1
循环体结束!

while 循环没有执行的原因是因为第一次检查时, expression 表达式的值返回 false,即使在循环体中将 i 的值设置为3,但是事实上程序根本没有执行到此。


do-while 循环语句

do{

        statement

}while(expression)

该语句的执行过程与while 循环语句类似,不过do-while 语句会首先执行一遍大括号中的 statement 然后再判断 expression 的值。而 while 循环语句首先检查 expression 表达式的值,然后再决定是否执行循环体中的代码

public class dowhile {
        public static  void main(String[] args) {
        do {
                System.out.println("do...while...");
        } while (false);
        }
}

以上代码运行后得到如下:

F:\gz\JAVA\lckz>java dowhile
do...while...

运行时,System.out.println("do...while...");  语句执行了一次,然后 expression 表达式的值测试为 false,循环结束,循环体中的代码至少执行了一次。


for 循环语句

for(initialization;termination;increment) {

        statement

}

initialization 是初始化语句,执行变量的声明和初始化。

termination 部分用于判断什么时候循环可以结束 ,需要一个布尔表达式进行条件测试

increment  部分在每一次循环结束后调用,

三个部分都不是必须的,每部分都可以是空语句,但是分号不能省略


public class ForTest {
        public static void main(String[] args) {
                int i=0;
                for(;i<4;) {
                       i++;
                       System.out.println("i="+i);
                }
        }
}

如果将for 循环的所有部分都省略的话,它将成为一个死循环,因为没有循环结束的条件。如果为 for 循环加上判断部分,就相当于一个 while 循环

所以运行上述程序,得到以下结果:

F:\gz\JAVA\lckz>java ForTest
i=1
i=2
i=3
i=4

接下来尝试for 循环中各个部分的执行顺序:

public class ForTest1 {
        static int i;
        public static void main(String[] args) {
                for(a();i<b();c()) {
                       System.out.println("i="+i);
                }
        }
        public static int a() {
                System.out.println("初始化");
                return 0;
        }
        public static int b() {
                System.out.println("条件测试");
                return 4;
        }
        public static int c() {
                System.out.println("增量部分");
                return i++;
        }
}

运行程序得到:

F:\gz\JAVA\lckz>java ForTest1
初始化
条件测试
i=0
增量部分
条件测试
i=1
增量部分
条件测试
i=2
增量部分
条件测试
i=3
增量部分
条件测试

从结果可以看出,程序首先执行初始化操作,然后进行条件测试,如果返回 ture 则执行循环体中的语句,然后执行增量部分,如此循环知道条件测试为 false 时跳出循环体,执行循环体外的下一条语句。


在循环语句中使用 break 和 continue 关键字

这两个关键字用于停止整个循环或者停止当前的循环。在使用这两个关键字时,通常是在循环体内执行一次if 条件测试,如果某个条件变成 ture 或者 false  则跳出本次循环,根据使用 break 还是 continue 来决定是执行下一次循环还是执行循环之后的语句

public class BreakContinue {

        public static void main(String[] args) {

                for(int i=0;i<=10;i++) {
                      //当i等于3时跳出循环体
                      if(i==3) {
                           break;
                      }
                      //否则打印i的值
                      System.out.println("i="+i);
                }
                System.out.println("跳出循环体");
        }
}

循环体结束条件是i<=10, i 的初始值为0, 但是当i==3 为true 时跳出循环体,运行程序得到一下结果:

F:\gz\JAVA\lckz>java BreakContinue
i=0
i=1
i=2
跳出循环体

接着尝试一下使用 continue 关键字:

public class BreakContinue1 {
        public static void main(String[] args) {
                for(int i=0;i<=10;i++) {
                       //当i等于偶数时进入下一次循环
                       if(i%2==0) {
                           System.out.println("进入下一次循环");
                           continue;
                       }
                       //否则打印i的值
                       System.out.println("i="+i);
                }
                System.out.println("跳出循环体");
        }
}

当i%==0时,停止当前循环,直接进入下一次循环,结果如下:

F:\gz\JAVA\lckz>java BreakContinue1
进入下一次循环
i=1
进入下一次循环
i=3
进入下一次循环
i=5
进入下一次循环
i=7
进入下一次循环
i=9
进入下一次循环
跳出循环体

continue 语句只能位于一个循环内,否则编译会报错,break 语句必须用在循环内或者是 switch 语句中



HTML5
定位页面元素
创建单栏,居中,流式页面布局


LINUX
volck   执行vlock(virtual console lock)指令可锁住虚拟终端,避免他人使用

who   显示系统中有哪些使用者正在上面,显示的资料包含了使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作

whoami    显示自身的用户名称

whois   查找并显示用户信息

newgrp     类似login指令,当它是以相同的帐号,另一个群组名称,再次登入系统。欲使用newgrp指令切换群组,您必须是该群组的用户,否则将无法登入指定的群组。单一用户要同时隶属多个群组,需利用交替用户的设置。若不指定群组名称,则newgrp指令会登入该用户名称的预设群组

renice   重新指定一个或多个行程(Process)的优先序(一个或多个将根据参数而定)

su   用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码

skill     送个讯号给正在执行的程序,预设的讯息为 TERM (中断),较常使用的讯息为 HUP、INT、KILL、STOP、CONT 和 0。

w       可得知目前登入系统的用户有哪些人,以及他们正在执行的程序。单独执行 w 指令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息

id      显示用户以及所属群组的实际与有效ID。若两个ID相同,则仅显示实际ID。若仅指定用户名称,则显示目前用户的ID

free       显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区


Windows8
系统软件与硬件故障排除
开机和死机故障排除:系统启动缓慢,系统启动后进入安全模式。无法正常显示登录界面,电脑病毒导致死机。
死机是电脑最常见的故障之一,引起电脑死机的原因很多,主要分为硬件与软件两方面原因
硬件方面主要有硬件损坏,配置不合理和接触不良等
软件方面主要有感染病毒,BIOS设置不正确,文件被误删除,注册表被破坏,应用软件损坏等等。

系统运行故障排除
消除桌面图标蓝底,清理隐藏设备

驱动程序故障排除
声卡装了没有声音,(有时可打开机箱侧盖,更换声卡插槽,有时声卡和显卡距离过近,也会引起声卡故障)快速找出驱动问题,无法设置刷新频率和HD声卡驱动问题。HD Audio 总线驱动程序与驱动故障。

常见的局域网故障排除和维护
分析局域网故障的原因:

①网络链路:依次检查网卡,跳线,信息插座,网线,交换机等设备和通信介质是否正常

②配置文件:所有的交换机,路由器,服务器及计算机等设备都有配置文件

③网络协议:网络协议为网络设备和计算机网络通信时所用的语言,因此如果没有网络协议则网络也就不存在了。

④网络服务:主要指服务器硬件故障,网络操作系统故障和网络服务故障。例如端口映射错误,会导致无法提供某种服务等等。

检查连接是否畅通:在命令提示符窗口输入 ping 127.0.0.1 查看连接是否畅通

查看网络配置:在命令提示符窗口输入 ipconfig 查看网络配置情况

诊断本地连接:在网络和共享中心,诊断网络,可看到网络的详细报告

重命名连接

查看连接的详细信息


CPU 故障排除

CPU故障处理方法:检查风扇运行是否正常。  检查CPU安装是否正确。  检查CPU是否烧毁。 CPU本身存在的质量问题
电脑不断重启

CPU超频后出现蓝屏:一般在CPU执行比较繁重的任务时出现,如大型的3D游戏,处理运算量非常大的图像和影像等。由于CPU运行速率过高,导致温度急剧上升,从而出现蓝屏故障。
①检查CPU是否安装到位,注意安装时要将CPU 上的小三角对准主板CPU插座上的小三角,方向一致。

②为CPU 更换大功率的散热风扇,或者考虑添加好一点的散热装置。

③将CPU的频率恢复到正常工作频率。

CPU 风扇引起的系统启动异常,CPU超频后常常无故断电,CPU风扇装反导致死机


主板故障排除

产生的原因:①电脑运行环境差,如温度太高,不通风,灰尘太多等

                      ②电脑系统故障,长期电压不稳会使电脑的芯片损坏

                      ③人为故障,自然损坏

常用方法:①清洁法

                  ②观察法

                  ③插拔法

                  ④软件诊断法

主板短路会导致电脑停止响应

硬盘故障排除

硬盘出现故障可能导致系统无法启动。或者是正在运行的电脑突然死机等等

诊断方法:①检查硬盘本身,查看硬盘数据线跟电源线是否插好或者连接错误

                  ②进入BIOS 设置程序中查看硬盘参数是否正确,将CMOS参数重新设置为出厂值

                  ③检查系统信息是否被破坏,有时硬盘分区表,文件目录等会出现问题,需要利用硬盘修复软件来排除故障

                  ④查看是否是由于安装操作系统或者某些软件造成硬盘故障,如果是系统文件被破坏,需要重装系统
                 
                  ⑤如果是病毒引起的硬盘故障,可以通过最新的杀毒软件,有的软件还可以在DOS 环境下杀毒

处理方法:①找不到硬盘,一般是由于硬盘数据线和电源线没有接好,硬盘跳线设置错误或者BIOS 设置错误等(跳线的解释: http://baike.baidu.com/link?url=khCUWRRvJycViM7cFnF5N_Mlyzwt7HmcJ-DaIpwgMbWTo9YcW5Laf_mHYFZr5MbRPJMcqz5-wiMRJLYAbHlgr8g9DgxiNOji-q80fpbAPfPe_pIkZXQvU0RRPBPehlVT

                  ②由于突然断电,病毒破坏以及软件使用不当造成硬盘分区表损坏时,不能启动硬盘,可以使用修复软件重建分区表

                  ③硬盘的两种坏道:逻辑坏道    物理坏道   。逻辑坏道可以通过软件或低级格式化修复。物理坏道即为硬盘出现损坏(硬盘坏道的解释 http://baike.baidu.com/link?url=IovSjv0j3A6Ga9psdHxtQ-r9fwkAtLDbDvfltIbpGbiFkzoQU9qHKFTpqAWaVkQHTqZd2eSZGXQsVI2gfmV5P3S3R1gsIv7ky3KDiH7z_VHAgqM0-k0O_Fj_MTXoBBvQ) 

硬盘碎片过多导致系统死机











  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值