关闭

java基本知识(一)

25人阅读 评论(0) 收藏 举报
分类:

一、标识符和关键字
标识符:用来标识类名、变量名、方法名、类型名、数组名、文件名等等的有效字符序列。
命名规则:1、由字母、下划线、美元符号和数字组成,长度不受限制。2、第一个字符不能是数字 3、不能够是关键字 4、标识符不能是true,false,null。5、区分大小写
java语言使用Unicode标准字符集,前28个字符刚好是ASCII码表。

关键字:JAVA语言中已经被赋予了特定意义的一些单词,不可以把关键字作为标识符来用
二、数据类型以及常量变量
java中的数据类型:
基本数据类型:(8种)byte short int long char float double boolean(存放的是值)
引用数据类型:数组 类 接口(存放的是地址)

常量:java中不存在用byte short 型常量的表示方法,常量通常定义为大写,常量只能够被赋值一次
变量:java语言是一种强类型语言,在使用之前必须声明,数据类型 变量名;也可以在声明变量的同时赋值。
枚举变量:enum Season{spring,summer,autuam,winter}声明了名字为Season的枚举类型,该枚举类型中有4个常量,声明了一个枚举类型之后,就可以使用该枚举类型声明一个枚举变量,例如Season X;该枚举变量只能取值枚举类型中的常量,通过使用枚举名加“.”运算符来获取枚举类型中的常量。eg:X = Season.spring
声明枚举:可以在另一个源文件中,或者在同一源文件的main方法之外声明,不能声明或者初始化在main方法中

对于float型常量,其后面必须要有f或者F,但是double类型的可以省略d或者D

数据转换:1、级别从低到高,系统自动完成转换。从高到低,需要进行强制类型转换。2、当把一个int型的常量赋给byte或者short时,不可以超出这些变量的取值范围,否则需要进行强制类型转换。byte a =(byte)1283、常见错误:把double类型的赋给float型变量时没有进行数据转换,应该的写法float x =(float)20.4

三、从抽象到类
1、抽象的关键是抓住事物的两个方面,属性和功能
属性:运行速度,发动机功率
功能:加速减速,设置发动功率,获取发动功率
类声明:class 类名{类体},类名:首字母大写,见名知意,当类名由几个单词复合而成的时候,每个单词的首字母都要大写。
类体的两部分内容:变量的声明,用来刻画属性;方法的定义,用来刻画功能。
类中不可以有变量声明以及方法定义以外的其他语句,对于成员变量的操作只能放在方法中,在声明变量的同时可以赋初值,但是要一条语句写下来int age =10;,不可以在类中先声明,然后再赋初值即这样写int age; age = 10(这样的写法是错误的)。可以在类中声明,在方法中赋初值。
变量声明部分所声明的变量为域变量或者成员变量,成员变量在整个类内部有效
方法的定义包括两部分:方法声明和方法体
方法声明包括方法名和方法的返回值类型,例如:

double getSpeed(){
     return speed;
}

在方法中声明的变量和方法中的参数被称为局部变量,局部变量只在声明它的方法内部有效,而且与声明位置有关,方法的参数在整个方法内有效,方法内的局部变量从声明它的位置开始有效,如果局部变量的声明是在一个符合语句中,那么该局部变量的作用范围是该符合语句。

成员变量和局部变量:如果局部变量的名字和成员变量的名字相同,则成员变量被隐藏,如果想要在该方法中使用被隐藏的成员变量,必须使用this关键字
成员变量:可以细分为实例变量和类变量。在声明成员变量时,用关键字static修饰的是类变量,也叫静态变量,否则称为实例变量。
实例变量和类变量区别:1、不同对象的实例变量互不相同。一个类通过new可以创建对个对象,这些对象将分配不同的成员变量,就是说分配给不同对象的实例变量占有不同的内存空间,改变其中一个对象的实例变量不会影响其他对象的实例变量。2、所有对象共享类变量。如果类中有类变量,当使用new运算符创建多个对象时,分配给这些对象的类变量占有相同的一处内存,改变其中一个对象的类变量就会影响其他对象的类变量。3、通过类名直接访问类变量。当java执行程序时,类的字节码文件被加载到内存中,如果该类没有被创建对象,那么类中的实例变量就不会被分配内存,但是类中的类变量在该类被加载到内存时,就分配了相应的内存空间,如果该类创建对象,那么不同对象的实例变量互不相同,即分配不同的内存空间,但是类变量就不再重新分配内存,即所有的对象共享类变量。

类中定义的方法可以分为实例方法和类方法,加static关键字修饰的是类方法。
实例方法和类方法的区别:1、对象调用实例方法时,该方法中出现的实例变量就是分配给该对象的实例变量,该方法中出现的类变量也是分配给该对象的变量,只不过这个变量和所有其他对象共享。2、类名调用类方法,类方法不仅可以被类创建的任何对象调用执行,也可以直接通过类名直接调用,和实例方法不同的是,类方法不可以操作实例变量,这是因为在类创建对象之前,实例成员变量还没有被分配内存。

return的作用:1、返回一个值,这个值可以是任意类型 2、使程序返回到操作系统,即终止程序
java中对于一个函数,不论有没有返回值类型,都可以带return语句,区别在于是否可以返回一个值。
如果函数有返回值类型,则必须返回一个带有相应类型值的return语句
如果函数没有返回值类型,可以带,但是只能写一个return,不能带值,表示执行到此结束。也可以不写return。

2、参数传值
方法中最重要的部分之一是参数,参数属于局部变量,当对象调用方法时,参数被分配内存空间,并要求调用者向参数传递值,即方法被调用时,参数变量必须要有具体的值
传值机制:在java中,方法的所有参数都是传值的,也就是说,方法中参数变量的值是调用者指定值的拷贝。
对于基本类型的参数,向该参数传递的值的级别不可以高于该参数的级别
当参数是引用类型时,传值传递的是变量中存放的引用,即是地址,而不是值。

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Java EE基础知识学习(一)

JSP(Java Server Page)和Servlet是Java EE规范的两个基本成员,是Java EE开发的基础知识,首先我们来学习JSP的一些基本语法。 这些基础知识的学习需要在自己的电脑上...
  • qq_21122519
  • qq_21122519
  • 2017-03-15 17:04
  • 228

java面试基础知识总结(一)

1.      static的作用 解析:static是静态修饰符,(在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指编译后所分配的内存会一直存在,知道程序退出才会释放...
  • xinyu2015
  • xinyu2015
  • 2016-04-18 21:31
  • 515

Java基础知识的回顾

      学习编程以来很少对一些基础知识做整体的整理的,今天在网上看到一篇比较好的Java基础知识文章果断整理收藏,其中自己也对以往的 一些基础做了回顾和整理,希望对大家有所帮助。 ...
  • smxueer
  • smxueer
  • 2016-08-20 17:28
  • 305

Servlet必须掌握的基础知识

1. servlet生命周期   Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁。   init():在Servlet的生命周期中,仅执行一次init()...
  • luotuomianyang
  • luotuomianyang
  • 2016-09-07 20:25
  • 433

struts2基础知识(一)

Struts2 Struts2是在WebWork2基础发展而来的。和struts1一样, Struts2也属于MVC框架。不过有一点大家需要注意的是:尽管Struts2和struts1在名字上的差别...
  • chuyuqing
  • chuyuqing
  • 2013-02-26 21:20
  • 1359

Java中String的基础知识

Java中String的基础知识==与equal的区别基本数据类型,指的是java中的八种基本数据结构(byte,short,char,int,long,float,double,boolean),一...
  • u012730315
  • u012730315
  • 2015-08-08 22:39
  • 919

android 积累一些关于rxjava的知识点

rxjava对于我来说,是一套比较新的东西。程序员要是不时刻抓住自己不会的东西,就会淘汰。就像android版本都出到7点几了,我们总不能还用4点几,3点几的那一套吧。 rxjava在我看来就是一...
  • Coder_Hcy
  • Coder_Hcy
  • 2016-12-23 13:50
  • 555

ArcGIS的基础知识(01)

关于Gis中的数据类型:ArcGis中数据类型有两种,一种是栅格的,还有一种是矢量的。两者各有优点,简单点说就是栅格简单而矢量精确。具体到某个项目中要用那种数据类型要视情况而定。 GIS文件的相关知...
  • jinshaogui107
  • jinshaogui107
  • 2015-10-08 22:48
  • 251

哈希表基础知识(2)

在散列表基础知识(1)中,我们介绍了分离链接法来解决哈希冲突。它的一个缺陷就是需要经常的分配动态内存,这是比较花费时间的。本文再介绍解决散列表的另外一种方法开放定址法。不需要多次的动态分配内存。
  • zhlei12345
  • zhlei12345
  • 2015-04-27 11:15
  • 350

java基本知识(一)

线程 1、在集合框架中,有些类是线程安全的。 vector:比arraylist多了个同步化机制(线程安全),因为效率较低,现在已经不太建议使用。在web应用中,特别是前台页面,往往效率(页面...
  • jiyang_1
  • jiyang_1
  • 2015-11-22 20:40
  • 450
    个人资料
    • 访问:1321次
    • 积分:381
    • 等级:
    • 排名:千里之外
    • 原创:28篇
    • 转载:2篇
    • 译文:7篇
    • 评论:2条
    文章存档
    最新评论