下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

Java基础 快速学习(一)

作者:课课家教育     来源: http://www.kokojia.com点击数:718发布时间: 2019-06-24 16:49:00

标签: Java程序开发Java视频开发Java课程视频

大神带你学编程,欢迎选课

  一、表达式

  1.算术表达式 略 与c++一致;

  2.关系表达式 写法与c++一致,需要注意的还是boolean问题 其运算结果不是0也不是1;

  3.条件表达式 cond? expr1:expr2; 写法同c++,需要注意的还是boolean问题 cond必须是boolean;

  4.逻辑表达式 同c++;

  二、数据类型

  1.整数:byte,short,int,long 分别对应1,2,4,8字节长度

  数据的范围和写法 与 C++一致

  byte a=1;

  int b=2;

  注意:java中是没有unsigned类型 这个需要和C++区别 也就是说Java中的数都是有符号的

  2.浮点数:double ,float

  这个与c++基本一致 ,区别在于 float 常量的语法更加严格一些 。

  在java中 float a=1.235f; 如果没有后边的f就会报错

  在C++中 float b=1.235; 如果没有后边的f 编译器会发出警告 ,说 double 截断成 float ,并没有报错。因为在c++中 浮点常量默认为double ,如果希望是float,则需要加f。

  3.布尔类型:boolean 有两个字面常量true ,false

  注意:java中boolean类型与int类型是不可以通用的!boolean就是它,不是c++中所谓的0与非0;

  三、语句

  java语句和c++语句基本一致 ,需要注意的还是 boolean问题

  1.if

  boolean a=true;

  if(a)

  {

  // .......

  }

  2.for

  for(int a=0;a<10;a++)

  {

  // .. do something

  }

  3.while

  while(true)

  {

  //......

  }

  4.switch

  int cc=1;

  switch (cc)

  {

  case 1:

  a++;

  break;

  case 2:

  a++;

  break;

  }

  PS:C++中如果switch分支超过4个的话,编译器会对其进行优化,使其效率高于4个连续if语句,才能发挥出switch的正真优势(vs编译器,其他编译器可能不同)。具体优化细节,感兴趣的请百度。那么Java中它的效率如何,作者并不太知道,因为在初学,就为读者和自己留的问题吧。

  四、类的基本特性

  1.类的语法

  在Java中类是很简单的 ,与c++也略有区别

  区别【1】成员变量 每个变量前 加访问控制 。

  【2】成员函数 每个函数前 同样加访问控制

  【3】可以直接给成员变量赋值初始化

  package my;

  public class Example

  {

  public int id=0;

  public int s=1;

  //成员函数

  public int getid()

  {

  return this.id;

  }

  public int setid(int id)

  {

  this.id=id;

  return 0;

  }

  public int print()

  {

  System.out.println(this.id);

  return 0;

  }

  }

  注意:类名要同文件名,且每个文件中仅有一个类!

  2.类的构造函数

  【1】与类同名

  【2】无返回值

  【3】可以重载

  package my;

  public class Example

  {

  public int id=0;

  public int s=1;

  //成员函数

  public Example()

  {

  id=10;

  }

  public Example( int a)

  {

  id=a;

  }

  public int getid()

  {

  return this.id;

  }

  public int setid(int id)

  {

  this.id=id;

  return 0;

  }

  public int print()

  {

  System.out.println(this.id);

  return 0;

  }

  }

  注意 :java中是没有析构函数的 ,java中存在垃圾回收机制。如需做清理工作,直接自己实现一个成员函数并且在需要的时候调用

  五、垃圾回收机制

  当一个对象不在被引用时,该对象将被gc回收

  public void t()

  {

  Example ex=new Example()

  ex.print()

  }

  当t()退出后 创建的对象就失去作用

  关于垃圾回收的比较详细的理解 参考这篇文章

  关于回收机制,随着我对Java的理解深入 也会单独做一篇理解

  五、数组对象

  Java中数组是对象! what? 没错 在c++中 数组是复合类型,不过在STL中也提供了类似的模板类 vector 不过这个类付出的代价的效率稍低,c++11中array提供了同数组一样的效率且更加安全

  在Java中 所有的对象都必须new来创建

  int [] a=new int [10];

  int [] b={1,2,3,4};

  注意:数组用c++数组同样支持下标访问读写,标号0~n-1

  当然,还有一系列的成员。。。

  注意:数组对象的创建,仅仅是创建了N个对象的null指针

  Example[] v=new Example[10];

  if(v[0]==null)

  {

  System.out.println("空");

  }

  六、垃圾回收机制

  当一个对象不在被引用时,该对象将被gc回收

  public void t()

  {

  Example ex=new Example()

  ex.print()

  }

  当t()退出后 创建的对象就失去作用

  关于垃圾回收的比较详细的理解 参考这篇文章

  关于回收机制,随着我对Java的理解深入 也会单独做一篇理解

赞(19)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程