欢迎软件行业的同仁们来参观讨论!

JAVA基础之五

上一篇 / 下一篇  2013-10-10 21:35:31 / 个人分类:JavaSE

复习:
一、引用类型特点 (复杂类型、对象类型)
 以class为例 类 --- 对象
 类是对象的抽象、模板  class Student{}
 对象是类的具体实例    new Student()
对象气球理论,结合代码和JVM内存结构图分析
 Student stu1 = new Student();


二、运算符和表达式
以后的代码中不断应用,熟练
优先级 和 结合律
通过()提升优先级,提高可读性


三、Java方法  声明、实现、调用
1、什么是方法 method
和其它语言中的函数function相似,能表示一段固定的代码,表示一段业务逻辑。之后可以反复调用,提高了代码的可复用性,易维护性。
sc.next();  System.out.println();


2、方法的设计:声明和实现
方法只能在类体中定义,不能在方法中嵌套定义
public class Test1{
   //方法三要素:方法名、参数表、返回值类型
   //修饰符  public static
   public static int add(int a, int b){  //签名、声明
      //方法体  实现
      return a + b;
   }
}


3、调用方法
public class Test2{
   public static void main(String[] args){
       int sum = Test1.add(3, 5);
       System.out.println(sum);  //8
   }
}


今天主要内容:
一、流程控制语句 (重点)
1、分支语句
1)if-else
2)switch-case-break-default
2、循环语句
1)for循环
2)while循环
3)do-while循环
3、控制语句
1)break
2)continue


1、分支语句
(1)if else语句
语法:
情况1:条件之间是互斥的,不会同时满足  else
if(条件1){         //写1次
   满足条件1执行的语句;
}else if(条件2){   //写0次或n次
   不满足条件1,满足条件2执行的语句;
}else if(条件3){   //写0次或n次
   不满足条件1,2, 满足条件3执行的语句;
}else{             //写0次或1次
   不满足以上所有条件执行的语句;
}


情况2:条件之间可以有交集
if(条件1){
   满足条件1执行的语句;
}
if(条件2){
   满足条件2执行的语句;
}


练习:输入一个整数,判断是正数、负数还是零
思路:使用if-else
在day05包下创建TestNum.java


练习:员工出差交通工具的选择
要求:输入一个员工的薪水,根据以下条件输出该员工可以选择的交通工具:
大于等于10000    飞机
8000 - 9999     高铁
6000 - 7999     汽车
5000 - 5999     自行车
4000 - 4999     步行
3000 - 3999     家里蹲
低于3000         显示无此工资标准
思路:提示并输入double salary
 接着判断salary 范围 分支语句
  如果salary<3000.0  提示“无此工资标准”   if语句
       并立即结束程序
  之后继续判断salary  if-else语句


在day05包下创建TestSalary.java程序
快捷键:
alt + /    快速提示 生成代码
ctrl + d   删除光标所在行  或 选中的多行
ctrl + /   注释 或 反注释  单行注释
ctrl + shift + /    多行注释
ctrl + shift + \    取消多行注释


情况3:分支代码中如果仅一句话,可以省略{ }
       if或else默认只管1行语句
int n = 5;
if(n>0)
   System.out.println("正数");
else
   System.out.println("非正数");


建议:尽管代码仅一行,也要添加{} 提高可读性,便于后期代码的添加,提高易维护性。
int n = 5;
if(n>0){
   System.out.println("正数");
   新的代码;
}else{
   System.out.println("非正数");
}


情况4:分支语句可以嵌套使用
if(条件1){
   满足条件1执行的语句;
   if(条件2){
      既满足条件1,也满足条件2执行的语句;
   }else{
      满足条件1,但不满足条件2执行的语句;
   }
}


int a=3, b=5, c=8, d=0;
if(a>b)
if(c>b)
d=c;
else
d=b;
System.out.println(d);       // 3   5   8   0


调整程序结构:
int a=3, b=5, c=8, d=0;
if(a>b){
    if(c>b){
        d=c;
    }else{
        d=b;
    }
}
System.out.println(d);     //0


(2)switch-case 分支语句
switch 开关
语法:
switch(变量){  //byte short int char enum  JDK7:String
case 值1:
   满足值1执行的语句;
   break;    //控制语句 表示打断 结束分支语句
case 值2:
   满足值2执行的语句;
   break;
case 值3:
   满足值3执行的语句;
   break;
default:
   不满足以上所有值执行的语句;
}


练习:成绩评级分析器
 输入一个五分制成绩,显示出级别:
     5         优
     4       良
     3       及格
     2、1 、0     不及格
     其他值  显示分数不合法。


思路:使用switch-case语法分支判断
在day05包下创建TestSwitchCase.java程序


归纳:switch-case注意点
1)switch中变量类型5种:byte short int char enum
    JDK7.0以后支持String类型
      switch(str){
      case "Hello":  ...
      }


2)break语句的用法
 每个case分支语句的结尾都要添加break语句,用于结束分支语句。如果不加break,程序会一直执行后续的分支,直到遇到break为止。


2、循环语句  Loop
当程序中需要反复执行类似的、重复的代码时,使用循环语句。
需求:打印出1~5    1~1000
System.out.println(1);
System.out.println(2);
System.out.println(3);
System.out.println(4);
System.out.println(5);


(1)for循环
语法:
for(初始化语句1 ; 循环条件2; 步进语句3){
    //循环体
    当满足循环条件时执行的语句4;
}
执行过程:1 2 4 3 2 4 3 2 false 结束for循环


练习:打印输出1~5  使用循环语句
在day05包下创建一个TestFor1.java


推演法:
i  1 2 3 4 5 6
1
2
3
4
5
i cannot be resolved
 i无法访问
Unreachable code
 无法到达的代码


无限循环 死循环
for(;;){
   循环体;
}
可以使用break;语句 退出循环
for(;;){
   if(退出条件){
      break;
   }
}


练习:数列求和
求出1-50的累加和 sum = 1 + 2 + 3 + … + 49 + 50
思路:使用循环 for循环
int sum = 0;
for(int i=1 ; i<=50 ; i++){
   sum = sum + i;
}
sum就是结果
在day05包下创建TestSum1.java

TAG:

 

评分:0

我来说两句

日历

« 2024-05-21  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 39849
  • 日志数: 55
  • 建立时间: 2013-08-30
  • 更新时间: 2013-12-27

RSS订阅

Open Toolbar