The fourth day

switch结构:多选择结构
if - else if - else 与 switch的区别:if- else if - else (布尔表达式区间),switch表示值;
 //测试switch语句
public class TestSwitch {
 public static void main(String[] args){
  int month = (int)(1+12*Math.random());
     System.out.println("月份:"+month);
     switch(month){
     case 1:
      System.out.println("一月份,过年了!");
      //break;
     case 2:
      System.out.println("二月份,开春了!");
      //break;
     default:
            System.out.println("我是其他月份!");
            break; 
     } 
 }
}
注意:break的使用
while(布尔表达式){
 循环体;
}
public class TestWhile {
 public static void main(String[] args) {
  //计算1+2+3+……+100的累加的和,5050.
     //暴力
  int i=1, sum = 0;
  while (i<=100){
   sum= sum+i;
   i++;
   System.out.println(sum);   //表示执行过程
  }
  //System.out.println(sum);
 }
}
for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构。
public class TestFor {
 public static void main(String[] args) {
  //计算1到100的整数和
  int i,sum=0;
  for (i=1;i<=100;i++){
   sum=sum+i;
  }
  System.out.println("sum="+sum);             //双引号里的是字符串 ,syso在面里面
 }
}
用for 输出:1 1 1 1 1
   2 2 2 2 2
   3 3 3 3 3
   4 4 4 4 4 
public class TestWhile {
 public static void main(String[] args) {
  int i,j;
  for (i=1;i<=5;i++){
   for (j=1;j<=5;j++){
    System.out.print(i+" ");
                //print 里面必须有内容," "里面是空格 得出结果是  11111  22222  33333 44444  55555
   }
   System.out.println();
 //再换行,得出结果;
  }
 }
}
//乘法口诀,用for
public class TestFor {
 public static void main(String[] args) {
  int i,j,s=0;
  for (i=1;i<=9;i++){
   for(j=1;j<=i;j++){
    s=j*i;
    System.out.print(j+"*"+i+"="+s+" \t");//横向跳到下一制表符位置
   }
   System.out.println();
  } 
 }
}
break终止整个循环,continue终止本次循环。
带标签的break和continue:
 goto 是 Java的一个保留字,但并未在Java语言中得到正式使用;
 Java没有goto语句。
方法的定义_形参_实参_返回值_语句块:方法就是一段用“来完成特定功能的代码片段”,类似于其它语言的函数
  方法声明格式:
 【修饰符1   修饰符2  _】    返回值类型      方法名(形式参数列表){
  Java语句:_  _  _
  }
  方法的调用方式:
      对象名.方法名(实参列表)
      方法的详细说明
      1.形式参数:在方法声明时用于接收外界传入的数据。
      2.实参调用方法是实际传给方法的数据。
      3.返回值:方法在执行完毕后返还给调用它的环境的数据。
      4.返回值类型:事先约定的返回值的数据类型,如无返回值,必须显示指定为void。
//测试方法的基本使用
public class TestMythod {
  public static void main(String[] args) {
   //通过对象调用普通方法
 TestMythod tm= new TestMythod();     //类创建对象
 tm.printSxt();                       //调用对象的方法
 int c = tm.add(30, 40, 50)+1000;   //实际参数
 System.out.println(c);
}
  void printSxt(){
   System.out.println("北京尚学堂…");
   System.out.println("上海尚学堂…");
   System.out.println("广州尚学堂…");
  }
  int add(int a , int b, int c){//形式参数
   int sum= a+b+c;
   System.out.println(sum);
   return sum;   //return 两个作用:1.结束方法的运行;2.返回值
  }
}
    注意事项:
       1.实参的数目,数据类型和次序必须和所调用的方法声明的形式参数列表匹配;
       2.return语句终止方法的运行并指定要返回的数据;
       3.Java中进行方法调用中传递参数时,遵循值传递的原则(传递的都是参数的副本);
       4.基本类型传递的是该数据值得copy值;
       5.引用类型传递的是该对象引用的copy值,但指向的是同一个对象。
方法的重载:overload,
      实际是完全不同的方法,只是名称相同
递归算法_递归头_递归体(本质:自己调自己,典型例子:阶乘,如算5的阶乘)
   1.定义递归头。 什么时候不调用自身方法,如果没有头,将陷入死循环,也就是递归的结束条件;
   2.递归体。 什么时候需要调用自身方法。
面向过程和面向对象的区别都是对软件分析,设计和开发的一种思想,它指导着人们以不同的方式去分析,设计和开发软件。
面向过程思想思考问题是,我们首先思考“怎么按步骤实现?”并将步骤对应成方法,一步一步,最终完成。
这个适合简单任务,不需要过多协作的情况下。比如,如何开车?
面向过程适合简单,不需要协作的事物。但是当我们思考比较复杂的问题,比如“如何造车?”,就会发现列
出1234这样的步骤,是不可能的。那是因为,造车太复杂了,需要很多协作才能完成。此时面向对象思想就应运而生了。
面向对象(object)思想更契合人的思维模式。我们首先思考的是“怎么设计这个事物?”
比如思考造车,我们就会先思考“车怎么设计?”,而不是怎么按步骤造车的问题。
对象是什么_对象和数据管理
       事物的发展总是遵循“量变引起质变”的哲学原则;
       数据管理: 数据无管理,数据管理和企业部门制,对象和企业项目制
 类:我们叫做class,对象:我们叫做Object,instance(实例)。以后我们说某个类的对象,某个类的实例。是一样的意思。
类中创建对象
类中创建对象和方法的实例:
public class TestLei {
void study(){
 System.out.println("现在必须好好学习");
}
void work(){
 System.out.println("然后好好工作");
}
void time(){
 System.out.println("剩下的时间是安详");
}
TestLei(){           //系统自动省略
 }
public static void main(String[] args) {
 TestLei  lei = new TestLei();//有new的就是代表自动创建一个对象,(TestLei(){}表示构造方法,
用于创建这个类的对象,无参的构造方法可以由系统自动创建)
 lei.study();
 lei.work();
 lei.time();
}
}
Java虚拟机的内存可以分为三个区域:栈stack,堆heap,方法区methond area
栈的特点如下:
      1.栈描述的是方法执行的内存模型,每个方法被调用都会创建一个栈帧(存储局部变量,操作数,方法出
         口等)
      2.JVM 为每个线程创建一个栈,用于存放该线程执行方法的信息(实际参数,局部变量等)
      3.栈属于线程私有,不能实现线程间的共享!
      4.栈的存储特性是“先进后出,后进先出”
      5.栈是由系统自动分配,速度快,栈是一个连续的内存空间!
     
堆的特点如下:
      1.堆用于“创建好的对象和数组”(数组也是对象)
      2.JVM只有一个堆,被所有线程共享
      3.堆是一个不连续的内存空间,分配灵活,速度慢!
方法区(又叫静态区)特点如下:
      1.JVM只有一个方法区,被所有线程共享;
      2.方法去实际也是堆,只是用于存储类,常量相关的信息!
      3.用来存放程序中永远是不变或唯一的内容。(类信息【Class对象】,静态变量,字符串常量等)

猜你喜欢

转载自www.cnblogs.com/xgzyz/p/10293992.html
Day